大连理工单片机课程设计(共34页).docx
《大连理工单片机课程设计(共34页).docx》由会员分享,可在线阅读,更多相关《大连理工单片机课程设计(共34页).docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上大连理工大学本科设计报告题目:基于DS18B20、ZLG7290的温度 采集系统设计 课程名称: 单片机综合设计实验 学院(系): 信息与通信工程学院专 业: 电子信息工程 班 级: 电子 学 号: 学生姓名: 成 绩: 20 16 年 5 月 6 日题目:1 设计要求1.利用DS18B20实现现场环境温度的采集;2.利用ZLG7290B实现温度数据证书的十进制显示;3.默认一个上限温度的报警(蜂鸣器);4.能够利用ZLG7290B的键盘操作修改“上限报警值”;5.可以显示温度的小数位,以提高温度检测的分辨率;6.程序中必须有中断环节。 2 设计分析及系统方案设计利用
2、P3.3口采集DS18B20的温度信息,采集后,通过I2C协议控制ZLG7290显示温度信息,并且将小数部分显示出来,通过P1.3连接一个拨码用来做模式控制,控制是温度显示状态模式或者设定温度上限模式,其中温度上限存放在28H单元中。利用T0定时器控制蜂鸣器发声一段时间,超过温度上限报警声音提示,同时数码管进行闪烁以报警。利用INT0外部中断读取按键值,用于设定上限温度并保存。3系统电路图P1.3P1.3P1.25 主程序中主要变量说明内存单元的定义、功能等。变量名称内存单元功能TEMPER_L 36H存放温度低四位TEMPER_H 35H存放温度高四位TEMPER 34H转换后的温度值TEM
3、PER_BCD33HBCD形式温度值TEMPER_NUM 60H温度值缓冲单元WSLA_7290 70H7290写控制单元RSLA_7290 71H7290读控制单元20-27H数码管显示缓冲区28H存放温度上限值30-31H存放温度BCD码个位十位6系统软件中各个子程序的功能描述子程序的名称、功能,以及入口、出口参数。子程序名称功能 描述GET_TEMPER读取18B20的温度值WRITE_1820向18b20写控制字READ_18200向18b20读控制字TEMPER_COV温度转换成十进制BCD码形式CF拆分子程序,拆分送数码管显示INIT_1820温度传感器初始化BUZZER蜂鸣器控制
4、发声子程序INT_7290:读取按键外部中断子程序RDKEY读取键值子程序DELAY延时子程序7主程序程序流程图8程序清单(I2C库函数省略)SDABITP1.0SCLBITP1.1TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER EQU 34H;转换后温度值TEMPER_BCD EQU 33H;BCD码温度值TEMPER_NUM EQU 60H;缓冲单元WSLA_7290 EQU 70HRSLA_7290 EQU 71HFLAG1 BIT 00HDQ BIT P3.3;总线控制单元ORG0000HLJMPMAINORG0003HLJMPINT_7290ORG010
5、0HMAIN:MOVSP,#70H;ZLG7290复位CLRP1.7LCALLDELAYSETBP1.7MOV28H,#1EH;温度上限初始值30度 MOVTMOD,#01H;模式一,16位计数器SETBEA;允许中断MODE:JBP1.3,SETTMP;拨码为0时采集温度;温度采集TMP:CLREX0MOV27H,#1FH;tLP1:LCALLGET_TEMPERLCALLTEMPER_COV;7290显示MOVR7,#08HMOVR0,#20HMOVR2,#10HMOVR3,#WSLA_7290LCALLWRNBYTLCALLDELAYMOVA,TEMPER;判断温度上限MOV28H,R5
6、CLRCCJNEA,28H,rel;此处报警温度为30度rel:JCNETLCALLBUZZER;大于等于时蜂鸣器报警;闪烁MOV28H,#70H;闪烁命令字MOV29H,#7FH;闪烁命令字MOVR7,#02H;设定数据个数MOVR0,#28H;设置源数据首地址MOVR2,#07H;设置外围器件内部寄存器首地址MOVR3,#WSLA_7290;设定外围器件地址LCALLWRNBYT;调用显示子程序LCALLDELAYLJMPNEXTT;设定温度上限SETTMP:SETBEX0;7290复位CLRP1.7LCALLDELAYSETBP1.7;显示设定内容MOV27H,#0B6H;SMOV26H
7、,#9EH;EMOV25H,#1FH;T.MOVR7,#03HMOVR0,#25HMOVR2,#15HMOVR3,#WSLA_7290LCALLWRNBYTLCALLDELAY SJMP NEXTTNET:MOV28H,#70H;不能闪烁MOV29H,#00HMOVR7,#02HMOVR0,#28HMOVR2,#07HMOVR3,#WSLA_7290LCALLWRNBYTLCALLDELAYNEXTT:CALLDELAYSJMPMODEGET_TEMPER:SETBDQ;定时入口BCD:LCALLINIT_1820 JBFLAG1,S22LJMPBCD;若ds18b20不存在则返回S22:LC
8、ALLDELAY1MOVA,#0CCH;跳过rom匹配0cchLCALLWRITE_1820MOVA,#44H;发出温度转换命令LCALLWRITE_1820LCALLDELAYCBA:LCALLINIT_1820JBFLAG1,ABCLJMPCBAABC:LCALLDELAY1MOVA,#0CCH;跳过rom匹配LCALLWRITE_1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_18200RETWRITE_1820:;写ds18b20程序MOVR2,#8CLRCWR1:CLRDQMOVR3,#6;延时24usDJNZR3,$RRCAMOVDQ,
9、CMOVR3,#23;延时60usDJNZR3,$SETB DQNOPDJNZR2,WR1SETBDQRETREAD_18200:;从1820中读出两个字节温度数据PUSH01HMOVR4,#2MOVR1,#36HRE00:MOVR2,#8RE01:CLRCSETBDQNOPCLRDQNOPNOPSETBDQMOVR3,#2DJNZR3,$MOVC,DQMOVR3,#23HDJNZR3,$RRC ADJNZR2,RE01MOVR1,ADECR1DJNZR4,RE00POP01HRETTEMPER_COV:;将读出的数据转换PUSHDPHPUSHDPLPUSH02HMOVA,#0F0HANLA,
10、TEMPER_L;舍去小数点后的四位SWAPAMOVTEMPER_NUM,AMOVA,TEMPER_HANLA,#07HSWAPAADDA,TEMPER_NUMMOVTEMPER,A;转换成十进制数显示MOVB,#10DIVABMOV30H,B;个位MOVB,#10DIVABMOV31H,B;十位ANLA,#0FH;百位SWAPAADDA,BMOVTEMPER_BCD,ALCALLCF2;拆分查表MOV25H,R3MOV26H,R4MOVA,30HANLA,#0FHLCALLCFMOV24H,R3;处理四位小数位数据MOVA,TEMPER_LANLA,#0FH;取低四位数据MOVB,#02HM
11、ULABMOVDPTR,#NUMSEGMOVCA,A+DPTRMOVTEMPER_BCD,ALCALLCF2MOV22H,R3MOV23H,R4MOVA,TEMPER_LANLA,#0FHMOVB,#02HMULABINCAMOVCA,A+DPTRMOVTEMPER_BCD,ALCALLCF2MOV20H,R3MOV21H,R4POP02HPOPDPLPOPDPHRET;-小数部分查表-NUMSEG:DW0000H,0625H,1250H,1875H,2500H,3125H,3750H,4375HDW5000H,5625H,6250H,6875H,7500H,8125H,8750H,9375H
12、;-;-拆分显示整数子程序-CF:PUSH02HPUSHDPHPUSHDPLMOVDPTR,#LEDSEGMOVR2,TEMPER_BCDANLA,#0FHMOVCA,A+DPTRMOVR3,AMOVA,R2SWAPAANLA,#0FHMOVCA,A+DPTRMOVR4,AINCR3;加上小数点POPDPLPOPDPHPOP02HRET;-;-拆分显示小数子程序-CF2:PUSH02HPUSHDPHPUSHDPLPUSHACCMOVDPTR,#LEDSEGMOVR2,TEMPER_BCDMOVA,R2ANLA,#0FHMOVCA,A+DPTRMOVR3,AMOVA,R2SWAPAANLA,#0
13、FHMOVCA,A+DPTRMOVR4,A;加上小数点POPACCPOPDPLPOPDPHPOP02HRET;-;-led字型码-LEDSEG:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4HDB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH;-INIT_1820:SETBDQNOPCLRDQMOVR0,#80HTSR1:DJNZR0,TSR1;延时300usSETBDQMOVR0,#25H;96usTSR2:DJNZR0,TSR2JNBDQ,TSR3LJMPTSR4;延时TSR3:SETBFLAG1;致标志位LJMPTSR5;ds18b20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工 单片机 课程设计 34
限制150内