资源描述:
《大连理工大学单片机实验实验八.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、大连理工大学实验报告实验时间:2016年4月日星期时间:~实验室(房间号):实验台号码:班级:姓名:指导教师签字:成绩:实验八DS18B20的实验与编程一、实验目的和要求学习单片机DS18B20数据采集方法。利用DS18B20采集、显示整数部分的8位温度值并利用ZLG7290B的数码管显示温度。二、实验算法利用DS18B20将环境的温度采集,通过二进制码转BCD码子程序将温度的8位二进制码转换为BCD码,再通过ZLG7290B的低三位显示出来。三、实验电路图一、实验流程图主程序从DS18B20中读出数据(GET_TEMPER)转换读出的温度数据(TEMPER_COV)将8位二
2、进制码转换为BCD码通过ZLG7290B显示温度二、程序清单SDABITP1.0SCLBITP1.1WSLAEQU70HRSLAEQU71HDISDAEQU20HDISCONEQU08HDATA_1EQU30HTEMPER_LEQU36H;存放读出温度的低位数据TEMPER_HEQU35H;存放读出温度的高位数据TEMPEREQU34H;转换后的8位数据TEMPER_NUMEQU60HFLAG1BIT00HDQBITP3.3ORG0000HLJMP0100HORG0003HLJMPINT_7290ORG0100HSTART:MOVSP,#70HCLRP1.7LCALLDELA
3、Y2SETBP1.7SETBEASETBEX0;开启INT0中断SETBIT0MOVDATA_1,#13HMOVDATA_1+1,#13HMOVDATA_1+2,#13HMOVDATA_1+3,#12HMOVDATA_1+4,#10HMOVDATA_1+5,#11HMOVDATA_1+6,#10HMOVDATA_1+7,#0DHMOVDPTR,#LEDSEGMOVR7,#DISCONMOVR0,#DISDAMOVR1,#DATA_1LOOP1:MOVA,@R1MOVCA,@A+DPTRMOV@R0,AINCR1INCR0DJNZR7,LOOP1LOOP:;主循环LCALLGE
4、T_TEMPER;读取DS18B20转换的温度值LCALLTEMPER_COVMOVA,TEMPERLCALLBCD_CONT;转换为BCD码MOVR7,#DISCON;显示温度MOVR2,#10HMOVR3,#WSLAMOVR0,#DISDALCALLWRNBYTLCALLDELAY2SJMPLOOPLEDSEG:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4HDB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EHDB0FAH,1EH,12H,00HCF:PUSH02HPUSHDPHPUSHDPLMOVDPTR,#LEDSEG
5、MOVR2,AANLA,#0FHMOVCA,@A+DPTRMOVR3,AMOVA,R2SWAPAANLA,#0FHMOVCA,@A+DPTRMOVR4,APOPDPLPOPDPHPOP02HRETBCD_CONT:;BCD码转换子程序PUSH07HPUSH06HPUSH05HPUSH02HMOVB,#64HDIVABMOVR7,AMOVR2,BMOVA,R2MOVB,#0AHDIVABMOVR6,AMOVR5,BMOVA,R7LCALLCFMOVDISDA+2,R3MOVA,R6LCALLCFMOVDISDA+1,R3MOVA,R5LCALLCFMOVDISDA+0,R3PO
6、P02HPOP05HPOP06HPOP07HRETINT_7290:PUSH00HPUSH02HPUSH03HPUSH04HPUSH07HPUSHACCPUSHPSWMOVR0,#28HMOVR7,#04HMOVR2,#00HMOVR3,#WSLAMOVR4,#RSLALCALLRDADDNOPMOVA,29HLCALLCFMOV20H,R3MOV21H,R4POPPSWPOPACCPOP07HPOP04HPOP03HPOP02HPOP00HRETIDELAY2:PUSH00HPUSH01HMOVR0,#00HDELAY3:MOVR1,#00HDJNZR1,$DJNZR0,D
7、ELAY3POP01HPOP00HRETGET_TEMPER:SETBDQBCD:LCALLINIT_1820JBFLAG1,S22LJMPBCDS22:LCALLDELAY1MOVA,#0CCHLCALLWRITE_1820MOVA,#44HLCALLWRITE_1820LCALLDELAYCBA:LCALLINIT_1820JBFLAG1,ABCLJMPCBAABC:LCALLDELAY1MOVA,#0CCHLCALLWRITE_1820MOVA,#0BEHLCALLWRITE_1820LCALLR