资源描述:
《数字温度计设计汇编源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、;================================================================;DS18B20温度计;采用4位LED共阳显示器显示测温值,显示精度0.1℃,测温范围-55~+125℃;用AT89C51单片机,12MHz晶振;DS1302时钟芯片实现日历年月日时分秒的显示;============================常数定义=============================TIMELEQU0E0H;20ms,定时器0时间常数TIMEHEQU0B
2、1HSECONDEQU30HMINUTEEQU31HHOUREQU32HDAYEQU33HMONTHEQU34HWEEKEQU35HYEAREQU36HTEMPHEADEQU38HTEMP_UPPEREQU2AHTEMP_LOWEREQU2BH;==========================工作内存定义============================BITSTDATA20HTIME1SOKBITBITST.1TEMPLDATA26HTEMPHDATA27HTEMPHCDATA28HTEMPLCDAT
3、A29H;=============================引脚定义===========================TEMPDINBITP3.7ALARMDINBITP1.6RSTBITP1.2CLKBITP1.1IOBITP1.0;=============================中断向量区=========================ORG0000HLJMPSTARTORG000BHLJMPT0IT;=============================系统初始化========
4、==================ORG0100HSTART:MOVSP,#60HCLSMEM:MOVR0,#20HMOVR1,#60HCLSMEM1:MOV@R0,#00HINCR0DJNZR1,CLSMEM1MOVTMOD,#00010001B;定时器0工作方式1(16BIT)MOVTH0,#TIMEHMOVTL0,#TIMEL;20msMOVSECOND,#00HMOVMINUTE,#00HMOVHOUR,#14HMOVDAY,#17HMOVMONTH,#01HMOVWEEK,#01HMOVYEAR,#1
5、3HMOVTEMP_UPPER,#0AHMOVTEMP_LOWER,#8AHSETBET0SETBEAMOVPSW,#00H;=================================================================;=============================主程序=============================;=================================================================LCA
6、LLSETDS1302START1:LCALLREAD_TEMP;读出温度值子程序LCALLCONVTEMP;温度BCD码计算处理子程序LCALLREFBCD;显示区BCD码温度值刷新子程序LCALLGETDS1302SETBTR0LCALLALARM_JUDGEJNBF0,MAINLCALLALARM_BEEPMAIN:LCALLDISP_TEMP;调用显示子程序LCALLDISPLAY_TIMEJNBTIME1SOK,MAINCLRTIME1SOK;测温每1s一次MAIN1:LCALLDISP_TEMP;调用
7、显示子程序LCALLDISPLAY_DATEJNBTIME1SOK,MAIN1CLRTIME1SOK;测温每1s一次LJMPSTART1;======================定时器0中断服务程序=======================T0IT:PUSHPSWMOVPSW,#10HMOVTH0,#TIMEHMOVTL0,#TIMELINCR7CJNER7,#50,T0IT1MOVR7,#00HSETBTIME1SOK;1s定时到标志T0IT1:POPPSWRETI;==================
8、===============================================;=============================子程序区===========================;=================================================================;============