单片机接口技术(C51版) 张道德 第十章新.ppt
文本预览下载声明
单片机接口技术(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单片机串口使用的是TTL电平,PC使用的是RS-232电平,因此它们之间不能用导线直接连接,而要通过电平转换电路。通常用MAX232等芯片对两者的电平进行转换。 10.1.1 MAX232简介 MAX232芯片是MAXIM公司生产的低功耗、单电源双RS232发送/接收器。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-232输出电平所需±10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。 MAX232主要特点 -单5V电源工作; -LinBiCMOSM工艺技术; -两个驱动器及两个接受器; -±30V输入电平; -低电源电流; -符合甚至优于ANSI标准; -可与Maxim公司的MAX232互换; -ESD保护大于MIL-STD-883标准的2000V。 MAX232内部逻辑框图 引脚及工作原理 T1IN、T2IN、R1OUT、R2OUT为接TTL电平的引脚; T1OUT、T2OUT、R1IN、R2IN为接RS232电平的引脚。 TTL电平的T1IN、T2IN引脚应接单片机的串行发送引脚TXD; R1OUT、R2OUT应接AT89C52的串行接收引脚RXD。 10.1.2 PC机的串行口 PC机通常有1~2个串行通信接口,采用DB25型连接器。虽然RS-232定义了25脚信号标准,但实际进行异步通信时,只需9个电压信号:2个数据信号,6个控制信号,1个信号地线。 右表是PC机9脚串口的引脚定义。 10.1.3 单片机与PC机通信应用实例 电路原理图 软件设计 通信约定:双方均采用8位数据位,一个停止位,波特率为110,无奇偶校验方式。PC机发送数据采用查询方式,每发送完一个元素后便等待8051将接收到的数据回传。若发送的数据和接收到的数据相等,则串行通信正确,否则,通信有错误。8051采取中断方式接收数据,使用方式1。 #includereg51.h #define uchar unsigned char uchar idata buf[10] _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((SBUF^0xff)!=0) //判断是否通信结束 {*p++=SBUF; //保存数据到buf数组 while(RI==0);RI=0; } ES=1; } /*主程序*/ void main(void) { init(); while(1); } 10.2 多机通信技术 1.MCS-51多机通信原理 SM2、RB8与从机动作关系 通信过程 2.多机通信系统设计 系统硬件硬件设计 设多机通信系统主、从机晶振为6MHz,波特率为2400bps,以方式3进行多机串行通信。每次通信时主机先发送对应的从机地址,然后发一个字节数据。 简单多机通信系统软件 主机软件设计 从机软件设计 带简单通信协议的软件设计 1 简单通信协议 设主机发送的地址联络信号00H、01H、02H为从机设备地址,地址FFH是命令各从机恢复SM2为1的状态即复位。主机的命令编码为: 01H 请求各从机接收主机的数据命令 02H 请求从机向主机发送数
显示全部