《单片机接口技术(C51版)》-张道德-电子教案 第十章

上传人:E**** 文档编号:89401762 上传时间:2019-05-24 格式:PPT 页数:24 大小:367KB
返回 下载 相关 举报
《单片机接口技术(C51版)》-张道德-电子教案 第十章_第1页
第1页 / 共24页
《单片机接口技术(C51版)》-张道德-电子教案 第十章_第2页
第2页 / 共24页
《单片机接口技术(C51版)》-张道德-电子教案 第十章_第3页
第3页 / 共24页
《单片机接口技术(C51版)》-张道德-电子教案 第十章_第4页
第4页 / 共24页
《单片机接口技术(C51版)》-张道德-电子教案 第十章_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《单片机接口技术(C51版)》-张道德-电子教案 第十章》由会员分享,可在线阅读,更多相关《《单片机接口技术(C51版)》-张道德-电子教案 第十章(24页珍藏版)》请在金锄头文库上搜索。

1、单片机接口技术(C51版),第十章 通信编程,内容概述,主要介绍MCS-51单片机与PC机之间的双机通信、MCS-51单片机的多机通信系统的硬件设计及软件设计。 教学目标 1.了解MAX232的作用及引脚功能。 2.了解PC机串行口的引脚功能,设计单片机与PC机之间双机通信的电路设计,并能编写单片机与PC机通信时单片机与PC机的源程序。 3.了解MCS-51单片机的多机通信原理,理解多机通信实现过程,关键是理解SM2、TB8/RB8在多机通信过程中的作用。 4.能编写简单的多机通信程序,理解简单的通信协议并用C51实现。,10.1 MCS-51单片机与PC机通信,8051单片机串口使用的是TT

2、L电平,PC使用的是RS-232电平,因此它们之间不能用导线直接连接,而要通过电平转换电路。通常用MAX232等芯片对两者的电平进行转换。 10.1.1 MAX232简介 MAX232芯片是MAXIM公司生产的低功耗、单电源双RS232发送/接收器。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-232输出电平所需10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。,10.1.1.1 MAX232主要特点,-单5V电源工作; -LinBiCMOSM工艺技术; -两个驱动器及两个接受器; -30V输入电平; -低电源电流; -符合甚至优于ANSI标

3、准; -可与Maxim公司的MAX232互换; -ESD保护大于MIL-STD-883标准的2000V。,图10-1-1 MAX232引脚图,MAX232内部逻辑框图,10.1.1.2 引脚及工作原理 T1IN、T2IN、R1OUT、R2OUT为接TTL电平的引脚; T1OUT、T2OUT、R1IN、R2IN为接RS232电平的引脚。 TTL电平的T1IN、T2IN引脚应接单片机的串行发送引脚TXD; R1OUT、R2OUT应接AT89C52的串行接收引脚RXD。,图10-1-2 MAX232内部逻辑框图,10.1.2 PC机的串行口,PC机通常有12个串行通信接口,采用DB25型连接器。虽然

4、RS-232定义了25脚信号标准,但实际进行异步通信时,只需9个电压信号:2个数据信号,6个控制信号,1个信号地线。 右表是PC机9脚串口的引脚定义。,图10-1-3 PC机串口DB-9引脚,10.1.3 单片机与PC机通信应用实例,10.1.3.1电路原理图,10.1.3.2 软件设计,通信约定:双方均采用8位数据位,一个停止位,波特率为110,无奇偶校验方式。PC机发送数据采用查询方式,每发送完一个元素后便等待8051将接收到的数据回传。若发送的数据和接收到的数据相等,则串行通信正确,否则,通信有错误。8051采取中断方式接收数据,使用方式1。 #include #define uchar

5、 unsigned char uchar idata buf10 _at_ 0x40 ; /保存接收的数据 void init(void) /串行口初始化 TMOD=0x20; TH1=0x71;TL1=0x71; /设定波特率110bps,6MHz晶振 PCON=0x00;/ TR1=1; /启动T1 EA=1; ES=1; /允许串口中断 SCON=0x50; /串行口工作在方式1,并允许接收 ,C51源程序,/*接收程序*/ void receive(void) interrupt 4 using 0 uchar idata *p=buf; RI=0;ES=0; /关串口中断 while

6、(SBUF0xff)!=0) /判断是否通信结束 *p+=SBUF; /保存数据到buf数组 while(RI=0);RI=0; ES=1; /*主程序*/ void main(void) init(); while(1); ,通信双方必须具有相同的数据收发格式及传送速率(波特率)。 为了保证通信的顺利进行,双方事先必须约定通信协议。,10.2 多机通信技术,典型应用:校园卡系统、智能楼宇、自动温控蔬菜大棚、大型粮库、工厂自动化;,1打卡机 2打卡机 3打卡机 n打卡机,1MCS-51多机通信原理,串行口控制寄存器SCON中的SM2为多机通信接口控制位。串行口工作于方式2或3。 SM2多机通信

7、位; TB8/RB8地址/数据区分位; 若SM2为1,则仅当接收到的第9位数据RB8为1时,数据才装入SBUF,置位RI,请求CPU对数据进行处理;如果接收到的第9位数据RB8为0,则不产生中断标志RI,信息丢失,CPU不做任何处理。 当SM2为0时,则接收到一个数据后,不管第9位数据RB8是0还是1,都将数据装入接收缓冲器SBUF并置位中断标志RI,请求CPU处理。,关键是SM2与TB8/RB8的关系!,问题1:多机通信时主机如何寻找从机?,问题2:如何区分地址和数据信息?,SM2、RB8与从机动作关系,通信过程,所有从机的SM2=1,处于只接收地址帧状态 所有同学坐着听讲,主机发地址信息,

8、以第9位TB8=1表示发送的是地址 老师喊同学名字,从机接收到地址帧后与本机地址比较 所有同学听到名字与自己的名字比较,被寻址从机SM2=0,其作从机SM2=1不变 名字相符的同学站起来(SM2=0),主机发数据信息(TB8=0),对已被寻址的从机因SM2=0,可以接收主机发来的信息。其余从机因SM2=1不理睬主机。 老师与站起的同学进行提问,课堂交流,TB8=0.,被寻址的从机SM2置1.主机可另发地址帧与其它从机通信时 。回答问题的同学坐下(SM2=1),2多机通信系统设计,10.2.2.1 系统硬件硬件设计 设多机通信系统主、从机晶振为6MHz,波特率为2400bps,以方式3进行多机串

9、行通信。每次通信时主机先发送对应的从机地址,然后发一个字节数据。,10.2.2.2简单多机通信系统软件,主机软件设计 从机软件设计,10.2.2.3 带简单通信协议的软件设计,1 简单通信协议 设主机发送的地址联络信号00H、01H、02H为从机设备地址,地址FFH是命令各从机恢复SM2为1的状态即复位。主机的命令编码为: 01H 请求各从机接收主机的数据命令 02H 请求从机向主机发送数据命令 其它都按从机向主机发送数据命令02H对待。 从机的状态字节格式为 TRDY1,表示发送准备完毕; RRDY1,表示接收准备完毕;,1 简单通信协议,主机采用查询方式,从机采用中断方式通信,以确保及时收

10、到主机的通信信息。主机的串口设为方式3,允许接收,并置TB8为1,因为只有一个主机,所以主机SCON中的SM2不置1,故控制字为11011000,即D8H.。主机与从机的通信程序流程图如图10-2-2、10-2-3所示。,图10-2-2 主机通信程序流程图,从机通信协议,图10-2-3 从机通信程序流程图,主机软件设计-通信子程序流程,从机软件设计-初始化程序,INIT: MOV TMOD,#20H MOV TH1, #0F9H ;设置波特率为2400 MOV TL1, #0F9H MOV SCON,#0F0H;方式3,SM2=1,允许接收 SETB TR1 SETB ES ;允许串行口中断

11、SETB EA WAIT: SJMP WAIT ;听号,从机软件设计-通信子程序,图3 从机通信程序流程图,从机串行中断通信程序,SIO: CLR RI PUSH PSW ;现场保护 PUSH ACC JNB RB8, DATA ADDR: MOV A,SBUF ;接收串行数据 XRL A,#NUMBER;判断是否与本机地址相符 JNZ BACK ;不相符则返回 CLR SM2 ;相符则SM2为0 AJMP BACK DATA:MOV A, SBUF ;接收数据 MOV R0, A ;保存数据 SETB SM2 ;恢复多机通信 BACK:POP ACC ; 恢复现场 POP PSW RETI,作 业 某MCS-51多机通信系统要求主、从机均采取中断方式通信,设fosc=12MHz, 通信速率4800bps.主机每次通信时先确定从机,然后将片内RAM中30H单元开始的10个数据发给指定的从机。编写主、从机的程序。,教学体会,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号