资源描述:
《智能温控风扇实物报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、智能温控风扇的设计1.1单片机最小系统1.1.1单片机最小系统硬件电路晶振电路图1-1晶振电路复位电路图1-2复位电路下载电路图1-3下载电路电源电路图1-4USB电源电路连接电路图1-5连接电路1.1.2单片机最小系统焊接图1-6焊接实物1.2单片机应用系统1.2.1智能温控小风扇硬件电路按键电路图1-7按键控制电路显示电路图1-8数码管显示电路温度传感器接口电路图1-9温度传感器接口图1-10风扇焊接实物1.2.2智能温控小风扇控制程序/************************************************
2、***************************************************************名称:智能温控键控小风扇功能:可通过按键调节设定值,通过数码管显示当前温度值和设定值,通过PWM技术来控制小风扇的转速,温差越大转速越快***************************************************************************************************************/ORG0000HAJMPMAINORG000BH;定时器中断
3、子程序入口,用以产生PWM高低电平AJMPTIM0ORG0200HMAIN:SETBEA;中断初始化SETBET0MOVTMOD,#01HMOVTL0,#00MOVTH0,#255SETBTR0MOVSP,#55HTEMP_HEQU37H;字定义伪指令TEMP_LEQU36HTEMP_DEQU35HTEMPVEQU45HTEMSVEQU50HTEMPV_SEQU47HTEMPV_GEQU46HTEMSV_SEQU52HTEMSV_GEQU51HBUSBITP2.4;位定义伪指令SETBP1.3;用于产生PWM脉冲的端口MOVDPTR,#TA
4、BEL;数码管显示段码首地址MOVTEMSV,#30;假定的设定值MOVR5,#191;用于PWM控制占空比参数的寄存器MOVR6,#255LOOP:LCALLTEMPC;温度暂存器的读取子程序LCALLCHANGE;温度转换子程序LCALLDISPLAY;温度显示子程序LCALLKEYSCAN;按键扫描控制设定值子程序LCALLPWM;PWM电机调速子程序SJMPLOOP/***************************************************名称:获取DS18B20温度暂存器数据子程序功能:将温度低字节存入
5、35H寄存器,温度高字节存入36H寄存器***************************************************/TEMPC:LCALLRES;初始化子程序MOVA,#0CCH;写跳过rom命令字节ACALLWBMOVA,#44H;写温度转换命令字节ACALLWBLCALLDELAY1S;等待温度转换时间(等待时间用显示和按键扫描子程序填充)LCALLRES;初始化子程序MOVA,#0CCH;写跳过rom命令字节ACALLWBMOVA,#0BEH;写读ram命令字节ACALLWBACALLRB;读ram数据字节
6、MOVTEMP_L,A;将温度低8位放入36HACALLRB;读ram数据字节MOVTEMP_H,A;将温度高8位放入37HRET/************************************************名称:写字节子程序功能:将写入寄存器A中的字节送入DS18B20************************************************/WB:MOVR7,#8;一个字节8位CLREA;暂时关中断以防止定时器中断的影响WB1:RRCA;带进位循环右移将字节的位依次移入c中方便后续操作JCW11
7、;判断为“1”转入写“1”子程序ACALLW0;不为“1”即为“0”进入写“0”子程序SJMPW00W11:ACALLW1W00:DJNZR7,WB1;判断是否写8位,即一个字节SETBEA;开中断继续pwm的定时器中断RET/************************************************名称:写“0”子程序功能:把0位写入DS18B20************************************************/W0:CLRBUS;主机拉低总线让DS18B20检测写信号LCALLDEL
8、AY60;写周期至少60usSETBBUS;释放总线RET/***********************************************名称:写“1”子程序功能