基于串口的温度检测数据单片机仿真
转换命令子程序主要是发转换开始命令,当采用12 位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。转换命令子程序流程图如上图,图5.4 所示。
图5.4 温度转换流程图
5.2.5 计算温度子程序
计算温湿度子程序将RAM 中读取值进行BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图5.5 所示。
图5.5 计算温度流程图
5.2.6 显示数据刷新子程序
显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。程序流程图如图5.6 所示。
图5.6 显示数据刷新子程序
6 结论
本系统的硬件采用模块化设计,以AT89C52 单片机为核心,与LCD 显示电路、串行口通信电路及DS18B20 温度检测电路组成控制系统。该系统硬件主要包括以下几个模块:
AT89C52 主控模块、LCD 显示模块、串行口通信模块、DS18B20 温度检测模块等。其中AT89C52 主要完成外围硬件的控制以及一些运算功能,LCD 显示模块完成字符、数字的显示功能、串行口通信模块主要完成单片机和PC 机之间的通信功能,DS18B20 温度检测模块主要完成环境温度检测功能。
在掉电方式下,片内振荡器停止工作。调用掉电指令是执行的最后一条指令。片内RAM 和专用寄存器的值被保留,直到掉电方式终止。退出掉电方式只能靠硬件复位。复位后将重新定义所有专用寄存器,但不改变RAM 的内容。在VCC 未恢复到正常工作电压之前,不能启动复位,复位信号应保持足够长的时间,以保证振荡器的起振和达到稳定。
为了使单片机正常工作,还需要加入上电复位电路和掉电检测电路。上电复位简要原理:
在系统不需要复位时,RST端是低电平;按下按键,RST端变为高电平。
图 4.2 上电复位电路
AT89C51、晶振电路与上电复位电路共同组成单片机最小系统,如图4.3 所示。
图 4.3 最小系统
4.2 温度传感器
图4.4 DS18B20连线图
从图 4.4 可以看出,DS18B20 与单片机的连接非常简单,单片机只需要一个I/O 口就可以控制DS18B20.这个图的接法是单片机与一个DS18B20 通信,如果要控制多个DS18B20进行温度采集,只要将所有的DS18B20 的I/O 口全部连接到一起就可以了。
4.3 LCD显示模块
显示电路采用LCD1602 液晶显示屏,P2 作为液晶8 位数据输入端口。P1.0 口作为液晶数据/命令选择端口,P1.1 为液晶使能端口。
图 4.5 LCD 显示模块
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 下。
2. 选择波特率发生器
选择定时器1或定时器2 做为其波特率发生器。
3. 设置定时器工作方式
当选择定时器1 做为波特率发生器时,需设置其方式寄存器TMOD 为计数方式并选择相应的工作方式(一般选择方式2
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)