单片机C语言编程串行口通讯

第7章 MCS-51单片机串行口 第7章 MCS-51单片机串行口 目 录 7.1 串行通信基本知识 7.2 串行口结构及控制 7.3 串行口工作方式 7.4 串行口应用举例 7.5 单片机与PC机通信的接口电路 本章要点 本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。 主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。 7.1 串行通信基本知识 主要内容 7.1.1 数据通信 7.1.2 异步通信和同步通信 7.1.3 波特率 7.1.4 通信方向 7.1.5 串行通信接口种类 7.1.1 数据通信 计算机与外界的信息交换称为通信。基本的通信方法有并行通信和串行通信两种。 1.并行通信 单位信息(通常指一个字节)的各位数据同时传送的通信方法称为并行通信。 2.串行通信 单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信。 7.1.1 数据通信 1.异步通信 异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一帧一帧传送。 2.同步通信 在同步通信中,每一数据块发送开始时,先发送一个或两个同步字符,使发送与接收取得同步,然后再顺序发送数据。数据块的各个字符间取消起始位和停止位,所以通信速度得以提高 。 7.1.3 波特率 在串行通信中,对数据传送速度有一定要求。波特率表示每秒传送的位数,单位为b/s(记作波特)。 例如:数据传送速率为每秒钟10个字符,若每个字符的一帧为11位,则传送波持率为: 11b/字符×10字符/s=110b/s 异步通信的传送速率一般在50~19 200b/s之间 。 7.1.4 通信方向 单工方式:一对传输线只允许单方向传送数据; 半双工方式:一对传输线允许向两个方向中的任一方向传送数据,但不能同时进行; 全双工方式:用两对传输线连接在发送器和接收器上,发送和接收能同时进行。 7.1.5 串行通信接口种类 根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的:UART(串行异步通信接口)、 USB(通用串行总线接口)、 I2C(集成电路间的串行总线)、 SPI(串行外设总线)、 485总线、CAN总线接口等。 7.2 串行口结构及控制 主要内容 7.2.1 MCS-51串行口结构 7.2.2 与串行口有关的特殊功能寄存器 7.2.3 波特率设计 7.2.1 MCS-51串行口结构 7.2.2 与串行口有关的特殊功能寄存器 1.控制状态寄存器SCON 用于定义串行通信口的工作方式和反映串行口状态,其字节地址为98H,复位值为0000 0000B,可位寻址格式为: SM0和SM1(SCON.7、SCON.6):串行口工作方式选择位。 TB8(SCON.3):发送数据的第9位。 RB8(SCON.2):接收数据的第9位。 TI(SCON.1):发送中断标志。 RI(SCON.0):接收中断标志。 2.电源控制寄存器PCON 电源控制寄存器PCON (地址为87H)中只有SMOD位与串行口工作有关。 7.2.3 波特率设计 方式0和方式2的波特率是固定的,方式1和方式3的波特率是由定时器T1的溢出率来决定的。在增强型单片机中,也可以使用T2作波特率发生器。 1.方式0的波特率 固定为振荡频率的1/12。并不受PCON寄存器中SMOD位的影响。 方式0的波特率=fosc/12 7.2.3 波特率设计 2.方式2的波特率 接收与发送的移位时钟由振荡频率fosc的第二节拍P2时钟(fosc/2)给出,所以,方式2波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为fosc的1/64;若SMOD=1,则波特率为fosc的1/32。即 方式2的波特率= 2SMOD×fosc/64 7.2.3 波特率设计 3.方式1和方式3的波特率 (1)T1作波特率发生器 在最典型应用中,定时器T1选用定时器模式2,此时n=8,设定时器的初值为X: 于是,X=256 - (2)T2作波特率发生器 在增强型单片机中,还可以使用T2作为波特率发生器。当寄存器T2CON的位TCLK=1和(或)RCLK=1时,允许串行口从T2获得发送和(或)接收的波特率。 串行口方式1、3的波特率=T2溢出率/16 定时器2作波特率发生器时,计数在每个状态周期递增。这样: 方式1、3的波特率= 主要内容

51单片机串行口程序c语言编程,单片机C语言编程串行口通讯.ppt相关推荐

  1. c语言生成一串变量,大魔王程序员生成记#02#C语言基础——变量与常量

    变量: 变量代表一个具有名字的,具有特定属性的一个存储单元.它用来存放数据,也就是存放变量的值.在程序的运行期间,变量的值是可以改变的. 变量的作用范围:在花括号之间. int main() { in ...

  2. 单片机c 语言0-99,单片机“0~99”加法计数器程序的设计51单片机原理及应用.doc...

    单片机"0~99"加法计数器程序的设计51单片机原理及应用 课 程 设 计 课程名称51单片机原理及应用题目名称单片机"0~99"加法计数器程序设计专业班级学生 ...

  3. c51c语言编程的音乐程序,51单片机唱歌C51音乐程序.doc

    51单片机唱歌C51音乐程序 51单片机唱歌 C51音乐程序 unsigned char n 0; //n为节拍常数变量 unsigned char code music_tab[] 0x18, 0x ...

  4. 单片机c语言的按键程序,51单片机按键扫描C程序

    原标题:51单片机按键扫描C程序 大二上学期做过80 的按键程序,当时项目要求实现按键控制 屏显示并且接收GPRS传来的数据.当时为了节省成本,就去大西电子市场买来8*8的LED块,然后自己一点一点的 ...

  5. pid控制器c51语言编程,51单片机电机pid控制系统程序

    51单片机电机pid控制系统程序 本程序来源网上,小编进行了简单修改,还未验证. /************************* 应用背景:直流电机的额定功率12V,额定转速3000rpm,光码 ...

  6. 机械手编程用c语言,51单片机机械手控制C程序.doc

    51单片机机械手控制C程序 //包含所需头文件 #include #define uchar unsigned char /***************------宏定义------******** ...

  7. 水下超声波测距c语言程序,51单片机超声波测距C程序

    51单片机超声波测距C程序 (2010-01-26 14:09:10) 电子工程师电子资料大学校园 超声波检测原理 超声波测距的程序流程图 程序如下: //超声波模块程序 #include #defi ...

  8. 51单片机八人抢答器c语言,抢答器 - 基于51单片机 - 8人有程序较完整.doc

    抢答器 - 基于51单片机 - 8人有程序较完整 课程题目: 基于单片机---8路抢答器 学 院: 职业技术学院 专 业: 电子信息科学与技术 年 级: 091 学 号: 0920020088 学生姓 ...

  9. 52 8x8点阵c语言程序,51单片机8x8点阵显示程序

    <51单片机8x8点阵显示程序>由会员分享,可在线阅读,更多相关<51单片机8x8点阵显示程序(3页珍藏版)>请在人人文库网上搜索. 1.include #include#de ...

最新文章

  1. 【目标检测系列】CNN中的目标多尺度处理方法
  2. React入门看这篇就够了
  3. 0330 第九次课:软件包安装及卸载
  4. oracle 监听程序当前无法识别连接描述符中请求的服务_最新版Web服务器项目详解 04 http连接处理(上)...
  5. CodeForces - 1110E-Magic Stones(差分+思维)
  6. 计算机设备管理程序在哪,电脑设备管理在哪,教您如何打开电脑设备管理
  7. mysql 实验7,MySQL5.7多源复制的实验
  8. coreseek java_coreseek 安装及使用方法详解
  9. 关于虚拟机IP更改问题教给大家一个必杀技
  10. 腾讯语音合成V3鉴权失败
  11. idea自动删除尾行空格(空行中空格)
  12. mysql联合主键意义_mysql设置联合主键的意义
  13. 傅里叶变换后面的到底有什么小秘密?
  14. 当小内存遇上大量数据,你该怎么解决这个问题?
  15. 锁消除、锁粗化、偏向锁、适应性锁
  16. ABC: Always Be Coding
  17. 1983. 【普及组模拟赛】手机(mobile)
  18. python爬取微信群聊天信息_美女出没微信群 不是来聊天专门抢红包
  19. 中国汽车流通协会 :2018年第39期车市扫描
  20. 亚马逊卖家如何占据litiing视频位置

热门文章

  1. 软件构造——可复用性
  2. mysql不停机迁移_不停业务,做mysql数据迁移。
  3. Java实现网络爬虫:爬取京东商品案例
  4. 电子计算机维修工,电子计算机维修工 (电脑维修)
  5. A2W、W2A、A2T、T2A的使用方法
  6. 【超详细Python教学课件分享】寻宝探路
  7. 我的大学生活10年(林锐)
  8. 七夕给自己的礼物-上线排盘小程序
  9. 更新华为云跑jd脚本
  10. JS获取某月天数、月初是周几、月末是周几