基于串口通信的单片机仿真和C语言开发
4.4 串行口通信模块设计
51单片机有一个全双工的串行通信口,使单片机和计算机之间可以方便地进行通信。
电平范围是电路能够安全可靠识别信号的电压范围。
CMOS 电路的电平范围一般是从0 到电源电压。CMOS 电平中,高电平(3.5~5V)为逻辑1,低电平(0~0.8V)为逻辑0.
RS232 接口的电平范围是-15V 到+15V,RS232 电平采用负逻辑,即逻辑1:-3~-15V,逻辑0:+3~+15V.
单片机的串口是TTL 电平的,而计算机的串口是RS232 电平,要使两者之间进行通信,两者之间必须有一个电平转换电路,即单片机的串口要外接电平转换电路芯片把与TTL兼容的CMOS 高电平表示的1 转换成RS232 的负电压信号,把低电平转换成RS-232 的正电压信号。典型的转换电路给出-9V 和+9V.
本设计中实现逻辑电平转换可以采用MAX232 芯片的转换接口:MAX232 是MAXIM公司生产的,包含两路驱动器和接收器的RS-232 转换芯片。MAX232 芯片内部有一个电压转换器,可以把输人的+5V 电压转换为RS-232 接口所需的±10V 电压,尤其适用于没有±12V 的单电源系统。与此原理相同的芯片还有MAX202、AD 公司的ADDt101 以及SIL 公司的IC1232 芯片。
图 4.6 MAX232 芯片引脚
由于 protues仿真时不需进行电平转换,所以仿真时没有用上MAX232 芯片电路,但做实物时需进行电平转换,其硬件连线图如图4.7 所示。MAX232 芯片的T1in 引脚连接AT89C51 单片机的P3.1(TXD)引脚,MAX232 芯片的R1out 引脚连接AT89C51 单片机的P3.0(RXD)引脚;MAX232 芯片的T1out 引脚连接DB9 针接口的第2 引脚,MAX232 芯片的R1in 引脚连接DB9 针接口的第3 引脚。
图4.7 电平转换硬件连接图
4.5 系统原理图
由以上模块化设计可得整个系统原理图如图4.8 所示:
图4.8 系统原理图
5 软件设计
5.1 算法设计
编写单片机异步通信程序步骤如下:
1. 设置串口工作方式
此时需对串行控制器SCON 中的SM0、SM1 进行设置。PC 机与单片机的通信中一般选择串口工作在方式1 下。
串行控制器 SCON(98H)的格式如表1 所示:
表1串行控制器格式
评论