51单片机串行接口
- 格式:pptx
- 大小:226.41 KB
- 文档页数:30
AT89C51单片机与PC机串行通信的接口实现[摘要] 本文介绍了AT89C51单片机与PC机采用RS232C标准进行串行通信的接口实现。
在接口中采用MAX232作电平转换电路,简单的通信协议,PC 机用VB编程,AT89C51单片机采用中断收发方式。
文章给出了相应通信接口电路与程序。
[关键词] 通信协议RS232C 通信接口电路通信接口程序AT89C51是一种带4K字节可编程可擦除只读存储器(FLASH FPEROM)和128字节的存取数据存储器(RAM)的低电压,高性能CMOS8位微处理器。
采用了ATMEL公司的高密度、不容易丢失存储技术,与MCS-51系列的单片机兼容。
具有集成程度高、系统结构简单、价格低廉等优点被广泛应用到控制领域中。
但是在复杂的数据处理、良好的人机交互等方面不能满足需要,常采用PC 机与AT89C51单片机进行通信,AT89C51单片机(下位机)实时采集数据传送给PC机(上位机)处理,然后接收PC机处理的结果,并进行相应的控制的方式来弥补。
本文介绍单片机与PC机进行串行通信的一种接口实现。
一、接口电路的设计(一)接口逻辑电平的转换在PC机系统大都装有异步通信适配器,为标准的RS-232C接口。
RS-232C 为负逻辑,用+3V~+15V表示逻辑“0”, 用-3V~-15V表示逻辑“1”。
AT89C51单片机采用正逻辑TTL电平0和+5V.所以AT89C51与PC机通信时必须进行电平转换。
转换的方法有多种。
常采用MAXIM公司生产的专用的双向电平转换集成电路MAX232。
MAX232引脚排列与外围电路如图1所示。
图1MAX引脚及外围接口图(二)通信接口电路本文采用可靠性高的MAX232作电平转换芯片,选择其中一对发送器与接收器,PC机的串行口与MAX232的电平端口相连,MAX232的逻辑电平端口与单片机的串行口相连,接口电路如图2所示。
图2PC机与AT89C51通信接口图二、通信接口程序(一)通信协议PC机与AT89C51进行通信必须有一定的通信协议,本文采用简单的通信协议。
实验四 串行通信实验一、实验目的1.了解51单片机串行口的结构、串行通讯的原理。
2.掌握51单片机与PC 机之间通讯的方法。
3. 学习系统应用程序的设计和调试二、实验设备PC 机一台 、 实验教学板一块。
三、实验原理51单片机的串行接口是全双工的,它能做异步接收器/发送器(UART ),也能做同步移位寄存器使用。
在做UART 使用时,相关的寄存器有SBUF 、SCON 、和PCON 中的波特率倍增位SMOD 。
SBUF 是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的,用读写操作来选择。
SCON 是串行口控制寄存器,用于设定串行口的工作方式;保存方式2和方式3的第9位数据;存放发送、接收的中断标志。
在串行通讯的方式1和方式3中,通信的波特率是可以设置的,满足下式:2/132SMOD=⨯波特率(定时器计数器的溢出率)PC 机的串行通讯口是借助通用异步接收发送器8250(或16C550等)实现的,可使用comdebug.exe 等提供了有关串行口的收、发操作窗口的软件实现通讯。
PC 机的串行通讯采用RS232电平,因此要求单片机的实验板也要配置RS232接口,解决逻辑电平的配接。
如果通讯距离较远,则要配接调制解调器。
四、实验内容1, 自发自收用一根短路线,将实验板中RS232插口的RXD 和TXD 两个插孔短路。
然后编程设定串行口为工作方式1,传送55H 和0AAH 两个数据。
实验要求:程序采用查询方式。
每传送、接收一个数据,做一次检查,看是否正确,若两次都正确,则在显示器上显示“GOOD”,若不正确,则不显示,并要重新传送。
2, 单片机与PC 机的通信先使用通讯电缆将单片机的RS232接口与PC 机的COM1口连接,PC 机起动并运行comdebug.exe 软件,窗口上设置波特率为1200,8位数据、一个停止位。
单片机端也采用工作方式1,波特率为1200,完成单片机与PC 机的通信。