热水器水温控制器单片机原理及接口技术课程设计论文内容摘要:

微秒然后释放总线,等60微秒后读总线是否为低,为低电平表示器件DS18B20反馈存在信号等待主机的下一步操作。 发温度转换指令完 成开 始等待响应YN DS18B20温度转换当单片机从传感器读取温度时,温度传感器需要发出转换命令,需要在读写流程的基础上进行写命令,当转化精度为12位时,转换的时间约为750us,转换完毕后会存在自身的ROM中。 主程序流程 由键盘设定参数初试值,先初始化传感器,读写温度值,并判断温度的上限值与当前值的关系,当温度大于上限所设定值时,执行相应的控制程序,同时开中断,判断是否有按键设置温度,有按键执行键盘程序,无则运行主程序。 主程序流程 ORG 0000H LJMP MAIN ORG 0003H LJMP JIANPAN ORG 0200H CLR EA PUSH ACC PUSH PSW SETB EAJIANPAN: JB ,UP ;判断按键是否按下 JB , DN CLR EA POP PSW POP ACC SETB EA RETIUP: JB ,UPEND ;加一的子程序 MOV A, 29H INC A LCALL DISPLAY JB , UPEND JB , UP MOV R6,250 ;5秒后仍然没有ok键按下,结束当前操作返回 LCALL D20MS MOV 30H, A LCALL WRITE_1820UPEND: RETDN: JB ,DNEND ;减一的子程序 MOV A, 29H DEC A LCALL DISPLAY JB , DN MOV R6, 250 LCALL D20MS MOV 30H, A LCALL WRITE_1820DNEND: RETMAIN: ;单片机内存分配申明!TEMPER_L EQU 29H;用于保存读出温度的低8位TEMPER_H EQU 28H;用于保存读出温度的高8位FLAG1 EQU 38H;是否检测到DS18B20标志位A_BIT EQU 20H ;数码管个位数存放内存位置B_BIT EQU 21H ;数码管十位数存放内存位置 SETB EA ;开中断 SETB EX0 SETB IT0 ;使外不中断int0处于下降沿触发 MOV SP,60 ;设置堆栈地址LCALL GET_TEMPER;调用读温度子程序 ;进行温度显示,这里我们考虑用网站提供的两位数码管来显示温度 ;显示范围00到99度,显示精度为1度 ;,我们不要求显示小数所以可以抛弃29H的低4位 ;将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度 ; MOV A, 29H MOV C, 40H;将28H中的最低位移入C RRC A MOV C, 41H RRC A MOV C, 42H RRC A MOV C, 43H RRC A MOV 29H, A。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。