山东科技大学学士学位论文 各个单元模块的硬件设计
别与单片机的P2.0~P2.7口相连接,只要P2.0~P2.7中任一端口输出低电平,则选中与该位相连的数码管。
图3.8 数码管显示连接电路
3.2.4 独立键盘连接电路
键盘包括3个独立按键key1,key2和key3,它们的一端分别与单片机的P1.0,P1.1和P1.2口相连,另一端接地,当按下任一键时,P1口读取低电平有效。系统上电后,进入键盘扫描子程序,以查询的方式确定各按键,完成温度初值的设定。其中按键key1为加按键,每按下一次,系统对最初设定值加一,按键key2为减按键,每按下一次,key3为设定温度差的按键,每按下一次,设定的温度差会加大1℃。其接线图如图3.9所示:
22
山东科技大学学士学位论文 各个单元模块的硬件设计
图3.9 独立键盘连接电路
3.2.3风扇电机的连接电路
本设计中由单片机的I/O口输出PWM脉冲,通过一个达林顿反向驱动器ULN2803驱动12V直流无刷风扇电机以及实现风扇电机速度的调节。
键盘控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过P3.0口输出与转速相应的PWM脉冲,经过ULN2803驱动风扇直流电机控制电路,实现电机转速与启停的自动控制。当环境温度升高时,直流电机的转速会相应按照设定的等级有所提高;当环境温度下降时,电机的转速会相应的下降;当环境温度低于设置温度时,电机停止转动,而环境温度又高于预设温度时,电机重新启动。
电路如图3.10所示,风扇电机的一端接12V电源,另一端接ULN2803的OUT7引脚,ULN2803的IN7引脚与单片机的P3.1引脚相连,通过控制单片机的P3.1引脚输出PWM信号,由此控制风扇直流电机的速度与启停。风扇连接电路如图3.10所示
23
山东科技大学学士学位论文 各个单元模块的硬件设计
图3.10风扇电机的连接电路
3.2.3 开关复位与晶振电路
在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。单片机上的XTAL1和XTAL2用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路[11]。当按下按键开关S1时,系统复位一次。其中电容C1、C2为20pF,C3为10uF,电阻R2、R3为10k,晶振为11.0592MHz。系统复位图与晶振电路如图3.11所示。
24
山东科技大学学士学位论文 软件设计
图3.11系统复位图与晶振电路
25
山东科技大学学士学位论文 软件设计
4 软件设计
4.1 程序设计
程序设计部分主要包括主程序、DS18B20初始化程序、DS18B20温度转换程序、温度读取程序、键盘扫描程序、数码管显示程序、温度处理程序以及风扇电机控制程序。DS18B20初始化程序完成对DS18B20的初始化;DS18B20温度转换程序完成对环境温度的实时采集;温度读取程序完成主机对温度传感器数据的读取及数据换算,键盘扫描程序则根据需要完成初始的开启温度值的加减设定以及温度差大小的设定;温度处理程序对采集到的温度进行分析处理,为电机转速的变化提供条件;数码管显示程序主要完成的是目前环境温度大小的显示,摄氏度符号的显示,预设值开启温度大小的整数显示和设定的温度差的显示以及目前风扇所处档位的显示。风扇电机控制程序则根据温度的数值完成对电机转速大小的控制。
主程序流程图如图4.1
26