河南机电高等专科学校课程
第2章 硬件设计
2.1单片机系统设计
本课题运用Intel公司的8051进行系统控制,运用到了复位电路、时钟电路、串口、I/O口。89C51单片机串口主要有两个数据缓冲寄存器SBUF和一个输入移位寄存器组成,其内部还有一个串行控制寄存器SCON和一个波特率发生器。接收缓冲器与发送缓冲器占用同一个地址99H,其名称亦同样为SBUF。
单片机最小系统电路如图2.1
图2.1 单片机最小系统
3
河南机电高等专科学校课程
2.2显示电路设计
显示电路采用的是共阴极七段数码管。显示方式有动态扫描和静态显示,两种方法在本设计中皆可。由于静态扫描要用到多片串入并出芯片,考虑到电路板成本计算。本人采用是节约硬件资源的动态扫描方式。即用两块芯片就可以完成显示功能。显示数据由4511译码器输出,ULN2003为位驱动扫描信号。显示电路如图2.2
图2.2 显示电路
2.3键盘电路设计
本课题使用行列扫描方式,在单片机的P1口上连接上4*4的键盘,单片机扫描键盘,如果有键按下,单片机会根据键码执行相应的程序,使整个系统的功能更加完善。键盘电路如图2.3
4
河南机电高等专科学校课程
图2.3 键盘电路
2.4报警电路设计
为了实现多点温度检测报警系统,本课题采用AT89C51单片机作为主控制器,采用扫描的方式对多点DS18B20温度传感器获取对应该位置的温度值,经处理后通过串口可以立即发送到上位机,如温度不在设定的范围内,给出报警信号。电路如图2.4
图2.4 报警电路
5
河南机电高等专科学校课程
2.5通信模块设计
AT89C51有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
PC机与单片机的串行通信接口电路如图2.5
图2.5串行通信接口电路
6
河南机电高等专科学校课程
第3章 软件设计
3.1软件实现
系统软件设计主要包括系统程序和流程图,根据整个系统的要求,完成温度的测量与控制必须经过以下几个步骤:单片机接受传感器的温度信号,并通过MAX7219驱动显示出来,单片机扫描键盘,接受控制信号,并将温度显示出来,若温度不在范围内则发出报警。程序流程如图3.1
开始 系统初始化 测温子程序 Y 测温键是否按下 N 清除键是否按下 N Y 清除显示子程序 显示温度 图3.1 总体程序流程图
3.2温度测量程序流程图:
温度测量程序首先复位DS18B20温度传感器,跳过ROM指令并发出温度转换指令。换完毕后复位DS18B20再发出匹配DS18B20命令,发一个DS18B20序号然后读取温度值,当所有DS18B20全部访问完毕后,复位DS18B20,发出报警命令,如果有温度超出范围则报警,否则复位DS18B20。
7