大连理工大学单片机实验报告(共25页).docx
《大连理工大学单片机实验报告(共25页).docx》由会员分享,可在线阅读,更多相关《大连理工大学单片机实验报告(共25页).docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上大连理工大学本科设计报告题目: 单总线高精度温度采集系统 课程名称: 单片机综合设计实验 学院(系): 信息与通信工程学院 专 业: 电子信息工程 班 级: 电子 学 号: 学生姓名: 成 绩: 2016 年 5 月 5 日一设计要求1. 启动DS18B20进行12位高精度环境温度采集2. 利用12864LCD屏/数码管显示数据3. 具有温度上限声光报警器4. 可以通过键盘设定报警上限值(选)二设计分析及系统方案设计 通过DS18B20进行小数12位温度转换、采集,通过单片机读取DS18B20采集到的12位温度值进行二进制到十六进制的转换,利用ZLG7290进行八位数
2、码管显示;利用键盘进入中断来设定报警上限,当温度高于上限时进入报警子程序。利用SW1进入中断来查看当前设置的温度报警上下限值,利用ZLG7290和数码管来显示。主程序不断循环采集温度比较,并可随时进入中断来修改温度上下限和查看温度值。三系统电路图四外围接口模块硬件电路功能描述1.DS18B20:用于测定温度,测量范围-55+125,分辨率为0.0625,数据格式为二进制补码形式。2.ZLG7290B:用于数码管动态显示驱动,键盘扫描管理。能够驱动8位共阴极结构的LED数码管或64位独立的LED,同时还能扫描管理多达64个按键的扫描识别,其中八个键可以作为功能键使用。接口采用IC结构。3.蜂鸣器
3、:这里用作报警,为无源蜂鸣器。 五主程序中主要变量定义变量名称内存单元功能TEMPER_L 36H存放温度低四位TEMPER_H 35H存放温度高四位TEMPER 34H转换后的温度值TEMPER_BCD33HBCD形式温度值TEMPER_NUM 60H温度值缓冲单元WSLA_7290 70H7290写控制单元RSLA_7290 71H7290读控制单元20-27H数码管显示缓冲区28H存放温度上限值30-31H存放温度BCD码个位十位六系统软件中各个子程序的功能描述子程序名称入口参数出口参数功能 描述GET_TEMPER无35H,36H读取18B20的温度值READ_1820035H,36H
4、无向18b20读控制字TEMPER_COV35H,36H20H,21H温度转换成十进制BCD码形式CF无R3,R4拆分子程序,拆分送数码管显示INIT_1820无无温度传感器初始化BUZZER 无无无蜂鸣器控制发声子程序INT_7290无28H读取按键外部中断子程序RDKEY无A读取键值子程序DELAY无无延时子程序七主程序程序流程图8.程序清单(要求打印格式要规范、重要的语句要有必要的注释)SDABITP1.0SCLBITP1.1TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER EQU 34H;转换后温度值TEMPER_BCD EQU 33H;BCD码温度值TEM
5、PER_NUM EQU 60H;缓冲单元WSLA_7290 EQU 70HRSLA_7290 EQU 71HFLAG1 BIT 00HDQ BIT P3.3;总线控制单元ORG0000HLJMPMAINORG0003HLJMPINT_7290ORG0100HMAIN:MOVSP,#70H;ZLG7290复位CLRP1.7LCALLDELAYSETBP1.7MOV28H,#1EH;温度上限初始值30度 MOVTMOD,#01H;模式一,16位计数器SETBEA;允许INTO中断MODE:JBP1.3,SETTMP;拨码为0时采集温度;温度采集TMP:CLREX0MOV27H,#1FH;tLP1:
6、LCALLGET_TEMPERLCALLTEMPER_COV;7290显示MOVR7,#08HMOVR0,#20HMOVR2,#10HMOVR3,#WSLA_7290LCALLWRNBYTLCALLDELAYMOVA,TEMPER;判断温度上限MOV28H,R5CLRCCJNEA,28H,rel;此处报警温度为30度rel:JCNETLCALLBUZZER;大于等于时蜂鸣器报警;闪烁MOV28H,#70H;闪烁命令字MOV29H,#7FH;闪烁命令字MOVR7,#02H;设定数据个数MOVR0,#28H;设置源数据首地址MOVR2,#07H;设置外围器件内部寄存器首地址MOVR3,#WSLA_
7、7290;设定外围器件地址LCALLWRNBYT;调用显示子程序LCALLDELAYLJMPNEXTT;设定温度上限SETTMP:SETBEX0;7290复位CLRP1.7LCALLDELAYSETBP1.7;显示设定内容MOV27H,#0B6H;SMOV26H,#9EH;EMOV25H,#1FH;T.MOVR7,#03HMOVR0,#25HMOVR2,#15HMOVR3,#WSLA_7290LCALLWRNBYTLCALLDELAY SJMP NEXTTNET:MOV28H,#70H;不能闪烁MOV29H,#00HMOVR7,#02HMOVR0,#28HMOVR2,#07HMOVR3,#WS
8、LA_7290LCALLWRNBYTLCALLDELAYNEXTT:CALLDELAYSJMPMODEGET_TEMPER:SETBDQ;定时入口BCD:LCALLINIT_1820 JBFLAG1,S22LJMPBCD;若ds18b20不存在则返回S22:LCALLDELAY1MOVA,#0CCH;跳过rom匹配0cchLCALLWRITE_1820MOVA,#44H;发出温度转换命令LCALLWRITE_1820LCALLDELAYCBA:LCALLINIT_1820JBFLAG1,ABCLJMPCBAABC:LCALLDELAY1MOVA,#0CCH;跳过rom匹配LCALLWRITE_
9、1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_18200RETWRITE_1820:;写ds18b20程序MOVR2,#8CLRCWR1:CLRDQMOVR3,#6;延时24usDJNZR3,$RRCAMOVDQ,CMOVR3,#23;延时60usDJNZR3,$SETB DQNOPDJNZR2,WR1SETBDQRETREAD_18200:;从1820中读出两个字节温度数据PUSH01HMOVR4,#2MOVR1,#36HRE00:MOVR2,#8RE01:CLRCSETBDQNOPCLRDQNOPNOPSETBDQMOVR3,#2DJNZR3
10、,$MOVC,DQMOVR3,#23HDJNZR3,$RRC ADJNZR2,RE01MOVR1,ADECR1DJNZR4,RE00POP01HRETU8TEMPER_COV:;将读出的数据转换PUSHDPHPUSHDPLPUSH02HMOVA,#0F0HANLA,TEMPER_L;舍去小数点后的四位SWAPAMOVTEMPER_NUM,AMOVA,TEMPER_HANLA,#07HSWAPAADDA,TEMPER_NUMMOVTEMPER,A;转换成十进制数显示MOVB,#10DIVABMOV30H,B;个位MOVB,#10DIVABMOV31H,B;十位ANLA,#0FH;百位SWAPAA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工大学 单片机 实验 报告 25
限制150内