预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

桂林电子科技大学信息科技学院《汽车微控制器应用》实训报告学号姓名指导教师:实训题目:汽车温度监控系统设计1系统设计1.1设计规定1.1.1设计任务用温度传感器(18B20)进行温度采集,实现汽车温度监控。1.1.2性能指标规定用温度传感器(18B20)进行温度测量,并显示温度值。设计风扇驱动电路。通过按键设立温度报警值,超过设立温度可发出声光报警。超过设立温度可自动启动风扇,温度越高,风扇转速越快。其他创新功能。1.2设计思绪及设计框图1.2.1设计思绪使用DS18B20进行温度采集,使用L9110H控制风扇运作,使用两个按键分别控制温度额定值的加减,PWM调节风扇速度。1.2.2总体设计框图按键输入MC9S12XS单片机控制器PWM调速数码管显示温度传感器2各个模块电路及程序的设计测温部分:voiddisplay_buff(void){intdat;Start_DS18B20();//启动温度转换wd=Get_Temp();//读取温度dat=wd/16;if(dat<80)shice=dat;disbuff_tab[2]=shice%10;disbuff_tab[3]=shice/10;disbuff_tab[5]=set%10;disbuff_tab[6]=set/10;}风扇部分:voidPWM_Init(void)//PWM初始化{PWME=0x00;//严禁模块PWMPRCLK=0x03;//分频因子8分频PWMSCLA=50;//SA的分频因子设定植0~255PWMCLK=0x02;//通道1PWMPER1=200;//通道1周期系数200PWMDTY1=0;//占空比PWMPOL=0x01;PWMPOL_PPOL1=1;PWMCAE=0x00;//左对齐PWMCTL=0x00;//不级联PWME=0X02;//使能通道1}按键部分:voidscan_anjian(void){if(k1==0){delay(500);if(k1==0){set++;if(set>90)set=90;}}if(k2==0){delay(500);if(k2==0){set--;if(set<5)set=5;}}}3调试过程一方面,检查电路板是否连对,是否有焊错的地方,用万用表测量各VCC与GND之间是否导通,检查无误后接通电路,查看电源指示灯是否亮起。另一方面,程序每编写完一个模块编译一次,查看是否通过,并验证程序功能是否实现。最后,接通实验箱连接电路板下载程序,查看风扇是否随温度的变化而变化,数码管是否能正常显示额定温度与实测温度。4功能测试4.1测试仪器与设备万用表,计算机,飞思卡尔实验箱。4.2性能指标测试用温度传感器(18B20)进行温度测量,能正常显示温度值。风扇能正常运转。可通过按键设立温度报警值。超过设立温度可自动启动风扇,温度越高,风扇转速越快。4.3误差分析采样精确度低,仪器间不精密都是导致误差的因素。5实训心得体会通过这次实训,让我更加进一步的了解了飞思卡尔MC9S12XS128单片机,也让我结识了温度传感器DS18B20和电机驱动芯片L9110H。这次实训不仅加强了我们的动手能力,还让我们学到了一些基本的编程能力,其中PWM通道时钟周期与分频因子间的计算关系是让我最混乱的,在反复计算与换算后也终于弄懂了。6参考文献[1]谢自美.电子线路设计·实验·测试(第二版).武汉:华中科技大学出版社,2023[2]张阳.单片机原理及嵌入式系统开发.电子工业出版社,2023[3]潘新民.微型计算机控制技术(第二版).电子工业出版社,2023附录附录1:原理图,实物图附录2:程序清单#include<hidef.h>#include"derivative.h"#include"CRG.h"#include"DS18B20.h"#definek1PORTB_PB1#definek2PORTB_PB2#definek1_dirDDRB_DDRB0#definek2_dirDDRB_DDRB1#defineucharunsignedcharconstucharsmg_tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};constucharwx_tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};uchardisbuff_tab[8];staticintwd;unsignedstaticintshice;ucharset=25;voidSetBusCLK_32M(void);voiddelay(longt){unsignedstaticintx,y;for(x=0;x<t;x++)for(y=1000;y>0;y--);}vo