数字PWM温度控制器设计说明书

上传人:大米 文档编号:513917796 上传时间:2022-12-30 格式:DOC 页数:13 大小:152KB
返回 下载 相关 举报
数字PWM温度控制器设计说明书_第1页
第1页 / 共13页
数字PWM温度控制器设计说明书_第2页
第2页 / 共13页
数字PWM温度控制器设计说明书_第3页
第3页 / 共13页
数字PWM温度控制器设计说明书_第4页
第4页 / 共13页
数字PWM温度控制器设计说明书_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数字PWM温度控制器设计说明书》由会员分享,可在线阅读,更多相关《数字PWM温度控制器设计说明书(13页珍藏版)》请在金锄头文库上搜索。

1、数字温度测控仪设计说明书设计人员:李玉琪 2010101087岑彦蓉 2010101088李霞勇 20101011292012年12月20日目录1设计任务与要求11.1设计项目名称11.2设计要求12总体方案设计12.1设计方案12.2系统的总体设计框图12.2.1设计框图的设计12.2.2设计框图的工作流程13芯片介绍13.1 STC89C52芯片介绍13.1.1 STC89C52芯片简介13.1.2 STC89C52芯片引脚24单元电路的设计34.1 电路34.1.1 振荡电路34.1.2 复位电路的工作原理34.1.3 按键电路34.1.4 显示电路44.1.5 温度采集电路44.1.6

2、 驱动电路45系统软件介绍45.1 按键程序流程图45.2 液晶显示程序流程图55.3 驱动程序流程图55.4 温度采集程序流程图66. PCB图制作6附录(源代码)81设计任务与要求1.1设计项目名称数字温度测控仪1.2设计要求温度测量范围:室温99.在数码管上显示温度值;温度测量误差 0.5。能进行当前温度调校:按键设置温度环境温度,加热传感器,PWM输出占空比=(设置温度-t)/(设置温度-室温),直流风机从停止到全速转动。2总体方案设计2.1设计方案本系统采用温度传感器DS18B20,将采集温度CurrTemp送至STC89C52,并通过Nokia5110显示。同时,三个按键设定温度,

3、分别可控制升温、降温及温度变化步进,通过Nokia5110显示。风扇转速展示出设定温度与当前温度的温差。当当前温度与设置温度相等时,风扇停止转动。2.2系统的总体设计框图2.2.1设计框图的设计温度采集MCU显示模块直流电机驱动按键2.2.2设计框图的工作流程接通电源后,通过按键KEY3调整合适步进,使用KEY1(减)或KEY2(加)来设定温度SetTemp,并通过Nokia5110显示。使用温度传感器DS18B20采集室温RoomT,通过Nokia5110显示。启动电机,通过风扇转速展示出设定温度与当前温度的温差。3芯片介绍 3.1 STC89C52芯片介绍3.1.1 STC89C52芯片简

4、介STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: 1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。2. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)。3. 工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz。 4. 用户应用程序空间为8K字节。 5. 片上集成512字节RAM 。6. 通用I/O口(32个),复位后为:P1/P2/P3

5、/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成。8. 具有EEPROM功能。 9. 具有看门狗功能 。10. 共3个16位定时器/计数器。即定时器T0、T1、T2 。11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒 。12. 通用异步串行口(UART),还可用定时器软件实现多个UART 。13. 工作温度

6、范围:-40+85(工业级)/075(商业级)。14. PDIP封装。STC89C52RC单片机的工作模式掉电模式:典型功耗=100=zkbzkb5.4 温度采集程序流程图开始ReadTemperature()读取所测温度cCurrTempK是否为0?RoomT= cCurrTemp显示cCurrTemp结束是否6. PCB图制作走线如图6-1所示,器件放置如图6-2所示图6-1图6-2附录(源代码)#include at89x52.h#include Nokia5110.h#include Ds18b20.h#define uchar unsigned char#define uint un

7、signed intint Step;/*步进*/int SetTemp;/*设定温度*/int CurrTemp;/*当前温度*/int RoomT;/*室温*/int zkb;/*占空比*/int Timer;/*定时计数变量,为定时中断间隔时间的整数倍*/int shi;/*数字转换为字符保存的十位*/int ge;/*数字转换为字符保存的个位*/int shifen;/*数字转换为字符保存的十分位*/int baifen;/*数字转换为字符保存的百分位*/char str5 = 0;/*保存字符串*/uchar cKey;/*初始键值*/uchar cKeyCode;/* 键值*/ui

8、nt nDelayKey;/*键盘延时变量,为定时中断间隔时间的整数倍*/uint nDelay100uS;/*18B20复位延时变量*/sbit PWM = P00;/*函数申明*/void KeyScan(void);void DisposeKey(void);char* convert(int Temp);/*主函数*/void main(void)int k = 0;/保存室温标志,k=0时,保存的当前温度即为室温TMOD= 0x20;/定时器工作在方式二TL1 = -92;/定时器中断一次为100usTH1 = -92;TR1 = 1;/启动定时器1ET1 = 1;/启动定时器1中断

9、IP=0x04;/将定时器1中断设为最高优先级EA=1;/开总中断LCD_init();/液晶初始化LCD_Clear();/清屏while(1)CurrTemp = ReadTemperature();/读取当前温度if(k = 0)RoomT = CurrTemp;k+;LCD_write_english_string(0,0,convert(SetTemp);if(cKeyCode)DisposeKey();LCD_write_english_string(0,0,convert(SetTemp);LCD_write_english_string(20,20,convert(CurrTemp); zkb = (int)100 * (SetTemp-CurrTemp)/(SetTemp-RoomT);if(SetTemp-CurrTem

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号