基于单片机的空调温度控制系统设计
? ARES(Advanced Routing and Editing Software)——高级
布线和编辑软件平台,它用于印制电路板的设计,并产生光绘输出文件。
在Proteus中,从原理图设计、单片机编程、系统仿真到PCB设计可以一气呵成,具有从概念到产品的完整设计能力。
Proteus ISIS的工作界面是一种标准的Windows界面,如图所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图3.2 Proteus ISIS软件界面
-16-
基于单片机的空调温度控制系统设计
4 系统硬件设计
确定了相关模块功能、功能以及用到的器件后,系统做如下连接设计:
图4.1 总体硬件电路图
其中各引脚对应的端口如下表所示:
表4.1 单片机引脚与各器件对应表
接口 P0.0 P0.1 P0.2 P0.3 P0.4 对应器件引脚 接LCD1602的D0端 接LCD1602的D1端 接LCD1602的D2端 接LCD1602的D3端 接LCD1602的D4端 接口 P2.4 P2.5 P2.6 P2.7 P3.0 -17-
空置 接LCD1602的RS端 接LCD1602的R/W端 接LCD1602的E端 接warm继电器端 对应器件引脚 基于单片机的空调温度控制系统设计
接口 P0.5 P0.6 P0.7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0 P2.1 P2.2 P2.3 对应器件引脚 接LCD1602的D5端 接LCD1602的D6端 接LCD1602的D7端 空置 空置 空置 空置 接步进电机A极 接步进电机B极 接步进电机C极 接步进电机D极 空置 空置 空置 接DS18B20的DQ端 接口 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 对应器件引脚 接cool继电器端 接S1按键 接S2按键 接S3按键 接24C02的SCK端 接24C02的SDA端 接蜂鸣器报警电路 XTAL1 接晶振时钟电路 XPAL2 接晶振时钟电路 RST ——————接复位电路 空置 空置 空置 接电源 接地 PSEN ALE ______EA VCC GND
-18-
基于单片机的空调温度控制系统设计
5 系统软件设计
5.1 DS18B20数据通信概述
和DS18B20通信,其命令序列有3步:初始化、ROM命令(跟随需要交换的数据)和功能命令(跟随需要交换的数据)。
每次访问DS18B20,必须严格遵守这个命令时序,如果出现序列混乱,则单总线则单总线器件不会响应主机。这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,而必须返回至第一步。
1.初始化
单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。
2.ROM命令
在主机检测到应答脉冲后,就可以发出ROM命令。ROM命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。ROM命令还允许能够检测到总线上有多少个从机设备及其设备类型,或者有没有设备处于报警状态。
(1)搜索ROM[F0h]
当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机才能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换),以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步:初始化。
(2)读ROM[33h](仅适合于单节点)
该命令仅适用于总线上只有一个从机设备,它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程。如果该命令用于多
-19-
基于单片机的空调温度控制系统设计
节点,系统则必然发生数据冲突,因为每个从机设备都会响应该命令。
(3)匹配ROM[55h]
匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令,其他设备将处于等待复位脉冲状态。
(4)跳跃ROM[CCh](仅适合于单节点)
主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。例如,主机通过在发出跳越ROM命令后,跟随转换温度命令[44h]就可以同时命令总线上所有的DS18B20开始转换速度,这样大大节省了主机的时间。注意:如果跳越ROM命令跟随的是读操作命令,则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。
(5)报警搜索[Ech]
除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令,该命令允许主机设备判断哪些从机设备发生了报警(如最近的测量温度过高或过低等)。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。
3.功能命令
在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20的某个功能命令。这些命令允许主机写入或读出DS18B20的存储器,启动温度转换以及判断从机的供电方式。
(1)读RAM存储器[BEh]
此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。
(2)复制RAM存储器(48h)
此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。
(3)重新调出EERAM[B8h]
此命令把存储在EERAM中TH、TL、CONF的值重新调至RAM存储
-20-