汽车温度监控系统设计.doc

上传人:灯火****19 文档编号:137617017 上传时间:2020-07-10 格式:DOC 页数:9 大小:183KB
返回 下载 相关 举报
汽车温度监控系统设计.doc_第1页
第1页 / 共9页
汽车温度监控系统设计.doc_第2页
第2页 / 共9页
汽车温度监控系统设计.doc_第3页
第3页 / 共9页
汽车温度监控系统设计.doc_第4页
第4页 / 共9页
汽车温度监控系统设计.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《汽车温度监控系统设计.doc》由会员分享,可在线阅读,更多相关《汽车温度监控系统设计.doc(9页珍藏版)》请在金锄头文库上搜索。

1、 桂林电子科技大学信息科技学院汽车微控制器应用实训报告学 号 姓 名 指导教师: 实训题目:汽车温度监控系统设计 1 系统设计1.1 设计要求1.1.1 设计任务 用温度传感器(18B20)进行温度采集,实现汽车温度监控。1.1.2 性能指标要求 (1) 用温度传感器(18B20)进行温度测量,并显示温度值。(2) 设计风扇驱动电路。(3) 通过按键设置温度报警值,超过设置温度可发出声光报警。(4) 超过设置温度可自动开启风扇,温度越高,风扇转速越快。(5) 其他创新功能。1.2 设计思路及设计框图1. 2.1设计思路使用DS18B20进行温度采集,使用L9110H控制风扇运作,使用两个按键分

2、别控制温度额定值的加减,PWM调节风扇速度。1.2.2总体设计框图 按键输入 MC9S12XS单片机 控制器PWM调速数码管显示温度传感器2 各个模块电路及程序的设计测温部分:void display_buff(void) int dat ; Start_DS18B20(); /启动温度转换 wd=Get_Temp(); /读取温度 dat=wd/16; if(dat90)set=90; if(k2=0) delay(500); if(k2=0) set-; if(set5)set=5; 3 调试过程首先,检查电路板是否连对,是否有焊错的地方,用万用表测量各VCC与GND之间是否导通,检查无误

3、后接通电路,查看电源指示灯是否亮起。其次,程序每编写完一个模块编译一次,查看是否通过,并验证程序功能是否实现。最后,接通实验箱连接电路板下载程序,查看风扇是否随温度的变化而变化,数码管是否能正常显示额定温度与实测温度。4 功能测试4.1 测试仪器与设备 万用表,计算机,飞思卡尔实验箱。4.2 性能指标测试 (1) 用温度传感器(18B20)进行温度测量,能正常显示温度值。(2) 风扇能正常运转。(3) 可通过按键设置温度报警值。(4) 超过设置温度可自动开启风扇,温度越高,风扇转速越快。4.3 误差分析采样精确度低,仪器间不精密都是造成误差的原因。5 实训心得体会通过这次实训,让我更加深入的了

4、解了飞思卡尔MC9S12XS128单片机,也让我认识了温度传感器DS18B20和电机驱动芯片L9110H。这次实训不仅加强了我们的动手能力,还让我们学到了一些基本的编程能力,其中PWM通道时钟周期与分频因子间的计算关系是让我最混乱的,在反复计算与换算后也终于弄懂了。6 参考文献1 谢自美电子线路设计实验测试(第二版)武汉:华中科技大学出版社,20002张阳单片机原理及嵌入式系统开发电子工业出版社,20133潘新民微型计算机控制技术(第二版)电子工业出版社,2011附录附录1:原理图,实物图 附录2:程序清单#include #include derivative.h #include CRG.

5、h#include DS18B20.h#define k1 PORTB_PB1#define k2 PORTB_PB2#define k1_dir DDRB_DDRB0 #define k2_dir DDRB_DDRB1#define uchar unsigned charconst uchar smg_tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;const uchar wx_tab=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;uchar disbuff_tab8;static int wd;u

6、nsigned static int shice;uchar set=25; void SetBusCLK_32M(void); void delay(long t) unsigned static int x,y; for(x=0;x0;y-); void scan_anjian(void) if(k1=0) delay(500); if(k1=0) set+; if(set90)set=90; if(k2=0) delay(500); if(k2=0) set-; if(set5)set=5; void display_buff(void) int dat ; Start_DS18B20(

7、); /启动温度转换 wd=Get_Temp(); /读取温度 dat=wd/16; if(dat80)shice=dat; disbuff_tab2=shice%10; disbuff_tab3=shice/10; disbuff_tab5=set%10; disbuff_tab6=set/10;void display(void) uchar i; PTH=0x00; for(i=0;iset) PWMDTY1=(shice-set)*4+50; else PWMDTY1=0; void main(void) DDRA=0XFF; DDRH=0XFF; k1_dir=0; k2_dir=0; PUCR_PUPBE=1; PWM_Init(); SetBusCLK_32M();EnableInterrupts; for(;) scan_anjian(); display_buff(); display(); kongzhi(); _FEED_COP();

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

当前位置:首页 > 学术论文 > 管理论文

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