




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单击此处编辑母版标题样式 MCS-51MCS-51单片机的串口通信单片机的串口通信 主讲人:jxjsyg 你可曾有过这样的困扰? ?妈妈下班回来忘记带钥匙,在门外喊你开门,而这个时候你正好在家里玩游戏,而且正玩到关键时刻,你会怎么办? 两个都令人不是很满意的结果 在科学中探索 能答飞电:行路它控进是制行一不个软同用件工计是作算任机什务来么的控东程制东? 序各。功 在探索中发现 ?受到飞箭飞行控制软件的启发,如果我们把门锁也用计算机来进行控制的话,就克服了之前的困扰。当然,家里面很多电器设备都可以用计算机来进行控制。 通信:即一方传给另一方信息,或者是一方接收来自另一方的信息。 在发现后学习 口
2、并答,口:即都计通是算信传机端输上口数的。据串的口接和 串口 并口 问:计算上的串口和并口,是用来干嘛的? 新授: 1、通信的分类? 答:并行通信和串行通信。 并行通信:数据的各位同时在多根数据线上发送或接收。 串行通信:数据的各位在同一根数据线上依次逐位发送或接收。 计算机1 GND 计算机2 GND 计算机1 GND 计算机2 GND 图1 并口通信 图2 串口通信 2、串行通信的分类? 答:单工、半双工和全双工。 发A端 A 送发送 端 接收 接收 (a)寻呼机 ( ( bc ) )对讲机手机 A端发送 发B端 B端接收送 B 端 接收 发送 接收 单工 全双工 半双工? 通信要求 通信
3、双方必须遵循一定的通信协议,即数据格式必须相同,通信速率必须相同(缺省为9600,n,8,1)。 ? 数据格式 单片机串口通信时数据是一帧一帧进行发送的。 表1 数据帧格式 起始位 数据位 校验位 停止位 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 注:对于我们MCS-51单片机(8位)而言,校验位没有意义,除非把数据位改成7位,才能接收到校验位。 ? 通信速率 在串行通信中用来衡量数据传输的速率的一个重要指标叫做波特率(Baud Rate) ,亦称比特率。波特率的定义是每秒传输二进制数码的位数。如:波特率为1200bps是指每秒钟能传输1200位二进制数码。 3、MCS-
4、51串口编程 ? 串口工作方式的设置 ? 波特率的设置 ? 中断设置 ? 串行口工作方式的设置 MCS-51的串口有4种工作方式,它是由SCON中的SM1和SM0来决定的。 ? 串行口控制寄存器SCON 表2 SCON各位的定义 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI (1)SM0,SM1:串行中断方式控制位 SM0,SM1=00,方式0,8位同步移位寄存器,其波特率为fosc/12; SM0,SM1=01,方式1,10位异步收发,其波特率可变,由定时器控制; SM0,SM1=10,方式2,11位异步收发,其波特率为fosc/64或fosc/32; SM0,SM1
5、=11,方式3,11位异步收发,其波特率可变,由定时器控制。 (2)TI:发送中断标志位 用于指示一帧信息发送是否完成,完成后由硬件自动置位。TI在发送数据前必须由软件清0。 (3)RI:接收中断标志位 用于指示一帧信息是否接收完,接收完后由硬件自动置位。RI在准备下次接收之前也必须用软件清0。 (4)REN:允许接收控制位 REN=1时,允许接收;REN=0时,禁止接收。 问:如果我们要将串口设置为工作方式1,并 且允许接收,该如何设置? 答:SCON=0 x50; 返回 波特率 ?(2SMO D/32 )*定时器T1溢出率T1溢出率 ? (fosc/ 12)/( 2K?TC)? 波特率的设
6、置 在串口工作在方式1时,其波特率为可变,由定时器T1控制。 MCS-51定时器的方式2就是自动重装初值的8位定时器,所以用它来做波特率发生器最恰当。当外部晶振选用11.0592MHz时,容易获得标准的波特率。 程序编写: TMOD=0 x20; /T1工作方式2,8位自动重装初值 式中 SMOD波特率倍增位; TH1=0 xfd; /设置波特率为9600 fosc晶振频率; K定时器T1的位数; 程序该怎么写? TL1=0 xfd; TC定时器T1的预置初值。 TR1=1; /启动定时器T1 把9600波特率代入得定时初值为0 xfd。 方法1 方法2 返回 ? 中断设置 如果要开启串口,必
7、须要设置相应的中断允许控制位,即串行中断允许控制位和总中断允许控制位。 (1)ES:串行中断允许控制位 当ES=1时打开串行中断,ES=0时关闭串行中断。 (2)EA:总中断允许控制位 当EA=1时打开总中断,EA=0时关闭总中断。 问:在这里我们要怎么设置? 答:ES=1; EA=1; ? 串行数据缓存寄存器SBUF 举例说明: SBUF=temp是把temp里面的内容写入SBUF,即单片机从TXD引脚将其发送出去; temp=SBUF是读取SBUF里面的内容存入temp变量,即单片机从RXD引脚将数据接收并存入temp变量。 MCS-51单片机串口通信完整程序 #include reg51
8、.h void Init() SCON=0 x50;/串行口工作方式1,允许接收 ES=1;/允许串行中断 TMOD=0 x20;/T1工作方式2,8位自动重装初值 TH1=0 xfd;/设置波特率为9600 TL1=0 xfd; TR1=1; EA=1; void main() Init(); while(1); void Uart_Int() interrupt 4/RI置位后才响应中断,所以进行中断,RI肯定为1 unsigned char temp; temp=SBUF; if(temp=0) P2=0; else if(temp=1) P2=0 xff; RI=0; 4、作品调试及展
9、示 利用电脑上的上位机软件对下位机(即单片机)进行调试。 (a)用串口调试助手控制 (b)用VB编写上位机软件进行控制 知识拓展(用VB编写的上位机控制软件) Dim kd_n, dkck_n, msg Private Sub Command1_Click() On Error GoTo Comm_Error dkck_n = dkck_n + 1 dkck_n = dkck_n Mod 2 If dkck_n = 1 Then MSComm1.CommPort = Right(Combo1.Text, 1) MSComm1.PortOpen = True Command1.Caption =
10、 关闭串口 Command2.Enabled = True Else MSComm1.PortOpen = False Command1.Caption = 打开串口 Command2.Enabled = False End If Exit Sub Comm_Error: Select Case Err.Number Case 8002 MsgBox 无效端口, 48, 警告 Case 8005 MsgBox 端口已打开, 48, 警告 End Select dkck_n = 0 End Sub Private Sub Command2_Click() kd_n = kd_n + 1 kd_n = kd_n Mod 2 If kd_n = 1 Then Command2.Caption = 关灯 Shape1.FillColor = vbRed MSComm1.Output = 0 Else Command2.Caption = 开灯 Shape1.FillColor = &H8000000F MSComm1.Output = 1 End If En
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年人力资源管理师考试方案与试题及答案
- 2025年提分攻略土木工程师试题及答案
- 2025计算机技术与软件专业初级考试的技术应用试题及答案
- 2025年妇幼保健员考试学习资料汇整试题及答案
- 2025年健康管理师复习计划及试题及答案
- 2025年度车辆维修后客户投诉处理及反馈机制协议
- 2025年度科技贷款合同补充协议延期及研发项目支持
- 二零二五年度产学研合作就业实习协议
- 二零二五年度国际货物运输代理物流金融合作协议
- 2025年度私人土地租赁合同(养老社区建设)
- GB/T 18282.1-2025医疗保健产品灭菌化学指示物第1部分:通则
- 《油藏物理》西安石油大学学习通超星期末考试答案章节答案2024年
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 高填方路基施工危险源辨识及风险评价
- 2002版工程勘察设计收费标准
- 私企财务制度
- E算量软件电气工程计算底稿(案例工程)
- 翻转课堂教学模式与设计.ppt
- (最新版)330KVGIS组合电器检修规程
- 无锡钣金件项目建议书(模板范本)
- 自动土壤水分观测仪功能需求书
评论
0/150
提交评论