文档详情

大连理工大学单片机实验报告.docx

发布:2016-07-24约7.99千字共16页下载文档
文本预览下载声明
PAGE - 23 - PAGE  大连理工大学本科设计报告 题目: 单总线高精度温度采集系统 课程名称: 单片机综合设计实验 学院(系): 信息与通信工程学院 专 业: 电子信息工程 班 级: 电子 学 号: 学生姓名: 成 绩: 2016 年 5 月 5 日 一.设计要求 启动DS18B20进行12位高精度环境温度采集 利用12864LCD屏/数码管显示数据 具有温度上限声光报警器 可以通过键盘设定报警上限值(选) 二.设计分析及系统方案设计 通过DS18B20进行小数12位温度转换、采集,通过单片机读取DS18B20采集到的12位温度值进行二进制到十六进制的转换,利用ZLG7290进行八位数码管显示;利用键盘进入中断来设定报警上限,当温度高于上限时进入报警子程序。利用SW1进入中断来查看当前设置的温度报警上下限值,利用ZLG7290和数码管来显示。主程序不断循环采集温度比较,并可随时进入中断来修改温度上下限和查看温度值。 三.系统电路图 四.外围接口模块硬件电路功能描述 1.DS18B20:用于测定温度,测量范围-55~+125,分辨率为0.0625℃,数据格式为二进制补码形式。 2.ZLG7290B:用于数码管动态显示驱动,键盘扫描管理。能够驱动8位共阴极结构的LED数码管或64位独立的LED,同时还能扫描管理多达64个按键的扫描识别,其中八个键可以作为功能键使用。接口采用I2C结构。 3.蜂鸣器:这里用作报警,为无源蜂鸣器。 五.主程序中主要变量定义 变量名称内存单元功能TEMPER_L 36H存放温度低四位TEMPER_H 35H存放温度高四位TEMPER 34H转换后的温度值TEMPER_BCD 33HBCD形式温度值TEMPER_NUM 60H温度值缓冲单元WSLA_7290 70H7290写控制单元RSLA_7290 71H7290读控制单元20-27H数码管显示缓冲区28H存放温度上限值30-31H存放温度BCD码个位十位六.系统软件中各个子程序的功能描述 子程序名称入口参数出口参数功能 描述GET_TEMPER无35H,36H读取18B20的温度值READ_1820035H,36H无向18b20读控制字TEMPER_COV35H,36H20H,21H温度转换成十进制BCD码形式CF无R3,R4拆分子程序,拆分送数码管显示INIT_1820无无温度传感器初始化BUZZER 无 无无蜂鸣器控制发声子程序INT_7290无28H读取按键外部中断子程序RDKEY无A读取键值子程序DELAY无无延时子程序 七.主程序程序流程图 8. 程序清单(要求打印格式要规范、重要的语句要有必要的注释) SDA BIT P1.0 SCL BIT P1.1 TEMPER_L EQU 36H TEMPER_H EQU 35H TEMPER EQU 34H ;转换后温度值 TEMPER_BCD EQU 33H ;BCD码温度值 TEMPER_NUM EQU 60H ;缓冲单元 WSLA_7290 EQU 70H RSLA_7290 EQU 71H FLAG1 BIT 00H DQ BIT P3.3 ;总线控制单元 ORG 0000H LJMP MAIN ORG 0003H LJMP INT_7290 ORG 0100H MAIN: MOV SP,#70H ;ZLG7290复位 CLR P1.7 LCALL DELAY SETB P1.7 MOV 28H,#1EH ;温度上限初始值30度 MOV TMOD,#01H ;模式一,16位计数器 SETB EA ;允许INTO中断 MODE: JB P1.3,SETTMP ;拨码为0时采集温度 ;温度采集 TMP: CLR EX0 MOV 27H,#1FH ;t LP
显示全部
相似文档