已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用技术,主讲:王永祥,项目五 单片机双机通信系统设计与制作,知识目标 了解通信的基本概念 掌握51单片机串行口结构及控制寄存器设置 掌握单片机串行通信的编程方法 技能目标 掌握单片机双机通信线路连接方法 掌握串行口的调试方法,5.1 本项目的工作任务,设计一个单片机双机通信系统,单片机a接1个8位拨码开关,单片机b接8个发光二极管,通过串行通信实现由a机拨码开关控制b机发光二极管的亮灭。,5.2 串行通信基础,5.2.1 串行通信基本概念,异步通信和同步通信 异步通信,同步通信,波特率 每秒钟传送二进制数的位数。 如:异步通信中,若每秒传送120个字符,而每个字符可包括10位(起始位、校验位、停止位各1位,数据位7位), 则波特率为: 12010=1200位/秒(bps),串行通信的方向,串行口的连接 三线连接,rs232接口连接,modem连接,5.2.2 串行口的结构及工作方式,1. 数据缓冲器sbuf 发送sbuf和接收sbuf共用一个地址99h。 发送sbuf存放待发送数据,写入sbuf将同时启动发送。 发送指令: mov sbuf,a 接收sbuf存放已接收的8位数据,供cpu读取。 接收指令:mov a,sbuf,2.串行口控制/状态寄存器scon(98h),sm0,sm1:选择串行口4种工作方式。 sm2:多机控制位,用于多机通讯。 ren:允许接收控制,ren=1,允许;ren=0,禁止。 tb8: 发送的第9位数据位,可用作校验位 rb8: 接收的第9位数据位或停止位 ti: 发送中断标志,发送一帧结束,ti=1,须软件清零 ri: 接收中断标志,接收一帧结束,ri=1,须软件清零,串行口的工作方式,方式0:同步移位寄存器方式。 一帧8位,无起始位和停止位,先发送/接收最低位。 rxd:数据输入/输出端。 txd:同步脉冲输出端,每个脉冲对应一个数据位。 波特率b = fosc/12 如: fosc=12mhz, b=1mhz,每位数据占1s。 发送过程: 写入sbuf,启动发送,一帧发送结束,ti=1。 接收过程: ren=1且ri=0,启动接收,一帧接收完毕,ri=1。,方式1:10位通用异步通讯方式 一帧:8位数据位,1个起始位(0),1个停止位(1)。 波特率:用t1作为波特率发生器,b=(2smod/32)t1溢出率。 发送:写入sbuf,同时启动发送,一帧发送结束,ti=1。 接收:ren=1,允许接收。接收完一帧,若ri=0且停止位为1 ,将接收数据装入sbuf,停止位装入rb8,并使ri=1。,方式2和方式3: 11位异步通信方式 一帧:1位起始位,8位数据位,1位可编程位,1位停止位。 波特率:方式2 b=(2smod/64)fosc。 方式3 b=(2smod/32)t1溢出率。 发送: 先根据通信协议由软件设置tb8。由写“sbuf”指令启动发送过程,并把8位数据装入“sbuf”,同时串口还自动把tb8装到发送移位寄存器的第9位数据位置上,并通知发送控制器要求发送,然后从txd端输出一帧数据。,接收: 先设置ren=1,使其允许接收,同时置ri=0。在此前提下,再依sm2和所接收到的rb8的状态才能决定串行口在信息到来后是否会使ri置1。如果ri置1,在中断方式下将申请中断,接收数据。 当sm2=0时,不管rb8为1还是为0,ri都置1。 当sm2=1,且rb8=1时,表示在多机通信方式下,接收的信息位地址帧,此时ri置1。 当sm2=1,且rb8=0时,表示接收的信息为数据帧,但不是发给本机的,此时,ri不置1,丢弃sbuf中所收数据帧。,5.3 串行通信的程序设计,串行口的初始化编程 串行口控制寄存器scon设置 电源控制寄存器pcon设置 波特率发生器t1的初始化 中断系统的设置,常用初始化内容: first: mov son, #工作方式字 ;设定工作方式 m ov pcon, #80h ;波特率加倍时,设定 mov tmod, #20h ;波特率可变时,用于 设定t1工作方式 mov th1, #定时初值 ;设定初值 mov th1, #定时初值 clr et1 ;禁止t1中断 setb tr1 ;启动t1 setb ea ;开cpu中断 setb es ;开串口中断 setb ps ;设定串口为最高优先级,【例5-1】,若fosc=6mhz,波特率为2400bps,设smod=1,则定时/计数初值为多少?并进行初始化编程。 初值计算: 由 波特率=(2somd/32)t1的溢出率 = (2somd/32)fosc/(12 (256-x) 有 x=243=f3h,初始化程序:,mov scon, #40h mov tmod, #20h mov pcom, #80hclr mov th1, #0f3h mov tl1, # 0f3h clr et1 setb tr1,发送和接收程序设计 查询方式,中断方式,奇偶校验位的处理,当串行口采用方式2和方式3时工作时,帧数据格式中的第9位可以用作奇偶校验位。 发送时,当发送的字节数据送入累加器a后,p标志和a中1的总个数应为偶数,此时,可将p值送入tb8,这样就实现了数据的补偶发送。与此同时,在接收时,可在读取数据时进行“偶校验”,如果rb8中的位值与累加器a从sbuf读入的数据中的1加起来,“1”的个数也是偶数,则接收正确,否则为出错。,5.4 双机通信系统设计与制作,双机通信系统硬件制作,双机通信系统软件设计,发送程序 org 0000h ajmp main org 0100h main: mov sp,#60 mov scon,#40h ;串行口以方式1工作 mov tmod, #20h ;t1以方式2工作 mov th1,#0fdh ;波特率为9600bps mov tl1,#0fdh,setb tr1 mov p1,#0ffh mov 30h,#0ffh ;设拨码开关初始值 k0: mov a,p1 ;读入拨码开关 cjne a,30h,k1 ;判断与前次是不是相同,不同则调至k1 sjmp k0 k1: mov 30h,a ;存入拨码开关新值 mov sbuf,a ;输入sbuf发送 wait: jbc ti,k0 ;是否发送完毕? sjmp wait end,接收程序 org 0000h ajmp main org 0100h main: mov sp,#60 mov scon,#50h mov tmod,#20h mov th1,#0fdh mov tl1,#0fdh,setb tr1 mov p1,#0f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第三章复习与测试教学设计高中地理中图版2019必修第一册-中图版2019
- 2025年智慧仓储机器人与RFID技术在智能分拣中的应用创新报告
- 全国青岛版信息技术七年级下册专题二第4课一、《认识图层》教学设计
- 2026-2030中国MVR蒸汽机械行业应用领域与可持续发展趋势研究报告
- 人教版 (新课标)选修阁夜教案
- 2026内蒙古鄂托克旗青少年活动中心招聘1人备考题库及答案详解【新】
- 2026安徽皖信招聘铁塔阜阳市分公司技术人员2人备考题库附答案详解【完整版】
- 2026云南玉溪易门县科学技术协会招聘2人备考题库完整参考答案详解
- 2026年卫生高级职称面审答辩(中西医结合外科学)历年参考题库含答案详解
- 2025-2030海外旅游景观点评与旅行者偏好分析研究
- 2026年阿拉善职业技术学院单招职业技能考试题库附参考答案详解(夺分金卷)
- 2026江西省海济融资租赁股份有限公司社会招聘2人笔试备考题库及答案解析
- 2026年大连职业技术学院单招职业技能考试题库及答案详解(名师系列)
- 职业技能等级鉴定电子设备装接工(高级)理论知识考试真题及答案
- 国轩高科测评试题
- 2025年山东省日照市中考物理真题卷含答案解析
- 2026 年离婚协议书制式模板民政局制式
- 投标管理制度及流程规范
- GB/T 33047.1-2025塑料聚合物热重法(TG)第1部分:通则
- 2026春统编版小学道德与法治五年级下册(全册)课时练习及答案(附教材目录)
- 2026年浙江广厦建设职业技术大学单招职业适应性测试题库参考答案详解
评论
0/150
提交评论