版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、正版可修改PPT课件(中职)单片机应用技术任务八 双机通信电子课件任务八 双机通信任务情境描述 在实际应用中经常需要把现场处理的信息汇总到上位机统一加以处理,这时可以通过串行接口在两机(或多机)之间架起一个沟通的桥梁!项目15 双机通信 项目描述:要求(1).若甲机的K1K4有开关处于按下状态,则仅显示对应通道的电压值(若有多个开关按下,只显示其中的一个,序号小的优先);(2).若甲机的K1K4均处于断开状态,那么要求以每隔2秒从乙机的4个通道1、通道3、通道5、通道7(序号按顺序编排即1、2、3、4)采集电压量并显示在甲机的数码管上;(3.)显示格式为“NO*.*”,如采集到序号2的电压值为
2、3.75,则显示结果为“nO.23.75。一 能力培养目标 (1) 会编写51单片机串行口初始化程序;(2) 会编写51单片机串行口发送与接收程序;(3) 能领会51单片机串行口的工作方式;(4) 能领会串行口的工作特点及波特率的含义;二 学习组织形式三 项目实施过程任务八 双机通信(一) 创建硬件电路1编程思想 甲机程序:除显示函数、定时器0中断函数、延时等函数外,主要的有甲机主函数见图15-2、串口及定时器初始化函数见图15-3,以及甲机串口中断函数见图15-4。程序见表15-3(a)tab=0?串口及定时器初始化图15-2 甲机主函数流程YN获取要显示的通道号:有开关按下则开关序号给ta
3、b,否则无开关按下标志0给tab调用显示启动定时器0每2秒通道号加1:show+Show4?向乙机发送要转换的通道号调用显示,等待发送完毕Show=1关闭定时器0只对选中通道进行转换:向乙机发送待转换通道号调用显示,等待发送完毕RI=1?暂时关闭串口中断先对之前已接收的字符移位处理,再接收一个字符temp3=SBUF一串数据接收完毕?更新显示缓冲区:已接收的字符串赋给相应的显示缓冲区:temp1temp3赋给buf0buf2清空临时志变量为下一轮接收作准备:temp0temp3=0清除RI,TI重开串口中断图15-4 甲机串口中断流程YYNN根据甲机的要求,把对应通道号的模拟量转换成数字量把数
4、字量换算成电压值并扩大100倍每次发送前发送一个标志位等待发送完成发送电压值:分3次发送小数2位、整数1位图15-5 乙机主程序流程乙机程序:除延时等函数、串口及定时器初始化函数外,主要的有乙机主函数见图15-5、A/D转换函数、以及乙机串口中断函数见图。2编写程序如下:表15-3(a)甲机程序表15-3(b)乙机程序(三)创建程序文件并生成.HEX文件(四)运行程序观察结果15.1 串行通信15.1.1 异步串行通信技术 计算机与外界的信息交换称为通信。常用通信方式有两种:并行通信与串行通信,简称并行传送和串行传送。并行传送具有传送速度快,效率高等优点,但传送多少数据位就需要多少根数据线,传
5、送成本高;串行传送是按位顺序进行数据传送,一般仅需要一根传输线即可完成,传送距离远,但传送速度慢。串行通信又分同步和异步两种方式。同步通信中,在数据传送开始时先用同步字符来指示(常约定12个),并由同时传送的时钟信号来实现发送端和接收端同步,即检测到规定的同步字符后,接着就连续按顺序传送数据。这种传送方式对硬件结构要求较高。在单片机异步通信中,数据分为一帧一帧地传送,即异步串行通信一次传送一个完整字符,一个字符应包括以下信息: 1. 起始位:对应逻辑0(space)状态。发送器通过发送起始位开始一帧字符的传送。 2. 数据位:起始位之后传送数据位。数据位中低位在前,高位在后。数据位可以是5、6
6、、7、8位。 3. 奇偶校验位:奇偶校验位实际上是传送的附加位,若该位用于用于奇偶校验,可校检串行传送的正确性。奇偶校验位的设置与否及校验方式(奇校验还是偶校验)由用户需要确定。 4. 停止位:用逻辑1(mark)表示。停止位标志一个字符传送的结束。停止位可以是1、1.5或2位。 串行通信中用每秒传送二进制数据位的数量表示传送速率,称为波特率。 1波特1bps(位/秒) 例如数据传送速率是240帧/秒,每帧由一位起始位、八位数据位和一位停止位组成,则传送速率为: 102402400位/ 秒2400波特温馨提示:相互通信的甲乙双方必须具有相同的波特率,否则无法成功地完成串行数据通信。单片机的串行
7、通信主要采用异步通信传送方式。在串行通信中,按不同的通信方向有单工传送和双工传送之分(a)中,甲.乙两机只能单方向发送或接收数据,称之为单工传送;(b)中,甲机和乙机能分时进行双向发送和接收数据,称之为半双工传送;c)中,甲乙两机能同时双向发送和接收数据,称之为全双工传送。15.1.2 8051串行口的基本结构 80C51系列单片机有一个全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。一串行口特殊功能寄存器.串行口缓冲寄存器SBUF 图15中SUBF是串行口缓冲寄存器,发送SBUF和接收SBUF地址同为99H,但由于发送SBUF不能接收数据,接收
8、SBUF也不具有发送功能,故二者工作互不干扰。当CPU向SBUF写入时,数据进入发送SBUF,同时启动串行发送;CPU读SBUF时,实际上是读接收SBUF数据。.串行通信控制寄存器SCON 与串行通信有关的控制寄存器主要是串行通信控制寄存器SCON,它是8051的一个可以位寻址的专用寄存器,用于串行数据通信的控制。SCON的单元地址98H,位地址9FH98H。寄存器内容及位地址表示如下:位符号 功 能 说 明SM0,SM1SM0,SM1串行口工作方式选择位: SM0 SM1 工作方式 功 能 0 0 0 8位数码传送,波特率固定,为晶振f /12。 0 1 1 10位数码传送,波特率可变。 1
9、 0 2 11位数码传送,波特率固定,为晶振f/64或晶振f/32。 1 1 3 11位数码传送,波特率可变。SM2SM2多机通信控制位: 当串行口以方式2或方式3接收时,如SM21,则只有当接收到的第九位数据(RB8)为1,才将接收到的前8位数据送入接收SBUF,并使RI位置1,产生中断请求信号;否则将接收到的前8位数据丢弃。而当SM20时,则不论第九位数据为0还是为1,都将前8位数据装入接收SBUF中,并产生中断请求信号。对方式0,SM2必须为0, 对方式1,当SM2=1,只有接收到有效停止位后才使RI位置1。RENREN允许接收位,用于对串行数据的接收进行控制:REN0, 禁止接收;RE
10、N1,允许接收。该位由软件置1或清零。TB8TB8发送数据位8:在方式2和方式3时,TB8是要发送的第9位数据。RB8RB8接收数据位8:在方式2和方式3中,RB8位存放接收到的第9位数据TITI发送中断标志:当方式0时,发送完第8位数据后,该位由硬件置位。在其它方式下,于发送停止位之前由硬件置位。因此TI1,表示帧发送结束。其状态既可供软件查询使用,也可请求中断。 TI位由软件清0。RIRI接收中断标志:当方式0时,接收完第8位数据后,该位由硬件置1。在其它方式下,当接收到停止位时,该位由硬件置位。因此RI1,表示帧接收结束。其状态既可供软件查询使用,也可以请求中断。RI位由软件清0。PCO
11、ND7D6D5D4D3D2D1D0位名称SMODGF1GF0PDIDL3电源控制寄存器PCON电源控制寄存器PCON中SMOD位可影响串行口的波特率。SMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。在PCON中只有SMOD这一个位与串口有关。 另外还有中断允许寄存器IE中的ES位可选择串行口中断允许或禁止。 ES0,禁止串行口中断 ES1,允许串行口中断温馨提示:接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指令对 RI/TI 清0,以备下一次收/发 15.1.3 MCS-51串行通信工作方式及应用1串行工作方式0 在方式中,串行口为同步移位寄存器方式,波
12、特率固定为晶振f/12。该方式主要用于I/O口扩展等,方式0传送数据时,串行数据由RXD(P3.0)端输入或输出,而TXD(P3.1)此时仅作为同步移位脉冲发生器发出移位脉冲。串行数据的发送和接收以8位为一帧,不设起始位和停止位,其格式如下:D0D1D2D3D4D5D6D7温馨提示:方式0可将串行输入输出数据转换成并行输入输出数据。 数据发送 串行口作为并行输出口使用时,要有“串入并出”的移位寄存器配合,如图中的74HCl64串入并出移位寄存器。(2) 数据接收 串行口作为并行输入口使用时,要有“并入串出”的移位寄存器配合,如图中的74HCl65。.串行工作方式1方式1是一帧10位的异步串行通
13、信方式,包括1个起始位,8个数据位和一个停止位。其帧格式为:起始D0D1D2D3D4D5D6D7停止 数据发送发送时只要将数据写入SBUF,在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式。然后在移位脉冲的作用下,由TXD端串行输出。一帧数据发送完毕,将SCON中的TI置1。 数据接收接收时,在REN=1前提下,当采样到RXD从1向0跳变状态时,就认定为已接收到起始位。随后在移位脉冲的控制下,将串行接收数据移入SBUF中。一帧数据接收完毕,将SCON中的RI置1,表示可以从SBUF取走接收到的一个字符。 波特率 方式1波特率可变,由定时/计数器T1的计数溢出率来决定。 其中SMOD为
14、PCON寄存器中最高位的值,SMOD=1表示波特率倍增。在实际应用时,通常是先确定波特率,后根据波特率求T1定时初值,因此上式又可写为: 当定时计数器T1用作波特率发生器时,通常选用定时初值自动重装的工作方式2,其计数结构为8位。温馨提示:不要把定时计数器的工作方式与串行口的工作方式搞混淆了。【例】设甲乙两机以串行方式1进行数据传送,甲机发送,乙机接收,已知fosc=11.0592MHz,波特率为1200b/s。解:串行方式1波特率取决于T1溢出率(设SMOD=0),计算T1定时初值甲机发送初初始化: TMOD=0X20;置T1定时器工作方式2TL1=0XE8;置T1计数初值TH1=0XE8;
15、置T1计数重装值ET1=0;禁止T1中断TR1=1;T1启动SCON=0X40;置串行方式1,禁止接收PCON=0X00;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中断乙机接收初初始化: TMOD=0X20;置T1定时器工作方式2TL1=0XE8;置T1计数初值TH1=0XE8;置T1计数重装值ET1=0;禁止T1中断TR1=1;T1启动SCON=0X40;置串行方式1,禁止接收PCON=0X00;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中断REN=1;启动接收3 串行工作方式2 方式2是一帧11位的串行通信方式,即1个起始位,8个数据位,1个可编程位TB8/RB8和1个停止位, 其帧格式为:起始D0D1D2D3D4D5D6D7TB8/RB8停止可编程位TB8/RB8既可作奇偶校验位用,也可作控制位(多机通信)用,其功能由用户确定。数据发送和接收与方式1基本相同,区别在于方式2把发送/接收到的第9位内容送入TB8/RB8。波特率:方式2波特率固定,即fosc/32和fosc/64。 如用公式表示则为:4串行工作方式3方式3同样是一帧11位的串行通信方式,其通信过程与方式2完全相同,所不同的仅在于波特率。方式2的波特率只有固定的两种,而方式3的波特率则与方式1相同,即通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山的那一边有什么自然景观想象作文(6篇)
- 2025年文化创意产业文化创意产业发展策略研究报告及未来发展趋势预测
- 2025年数字媒体行业内容创作产业链分析报告
- 仪表安全考试题库及答案解析
- 2025年网络安全行业AI安全应用案例解析报告
- 体育类安全类知识题库及答案解析
- 山东安全制冷题考试题库及答案解析
- 朝花夕拾测试题目及答案
- 卫生人才护理考试题库及答案解析
- 风险管理标准化流程与工具清单
- 幼儿园绘本教学中师幼互动策略研究 论文
- 培智二年级体育课教案
- 不可不知的1000个处世常识
- 汽车维修保养服务单
- 300MW电气运行规程
- GA/T 1246-2015道路交叉口发光警示柱
- DB37-T 4328-2021 建筑消防设施维护保养技术规程
- 基于核心素养导向的初中数学试题命制策略与实例课件
- 《消防安全技术实务》课本完整版
- 深水质表59沟(渠)清淤单元工程施工质量验收评定表
- DB32-T 3129-2016适合机械化作业的单体钢架塑料大棚 技术规范-(高清现行)
评论
0/150
提交评论