您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 电子系统设计与实践课程设计――多点温度测量(汇编语言+C语言版)
贵州师范大学物理与电子科学学院电子信息科学与技术1《电子系统设计与实践》课程设计报告课程设计题目:多点温度测量系统设计专业班级:2012级电子信息科学与技术学生姓名:罗滨志(120802010051)张倩(120802010020)冯礼哲(120802010001)吴道林(120802010006)朱栖安(120802010039)指导老师:刘万松老师成绩:2015年6月27日目录贵州师范大学物理与电子科学学院电子信息科学与技术2摘要·······························41总体设计·····························41.1功能要求··························51.2总体方案及工作原理·····················52系统硬件设计···························62.1器件选择··························62.1.1主要器件的型号·····················62.1.2AT89C51························72.1.3智能温度传感器DS18B20·················92.1.4晶振电路方案······················92.1.5LED液晶显示器····················102.1.6复位电路方案·····················102.2硬件原理图························113系统软件设计··························113.1基本原理··························11贵州师范大学物理与电子科学学院电子信息科学与技术33.1.1主程序························113.1.2读ROM地址程序····················123.1.3显示ROM地址程序···················133.1.4读选中DS18B20温度的程序···············133.1.5显示温度程序·····················143.2软件清单··························153.2.1汇编语言程序·······················153.2.2C语言程序························244实验步骤····························294.1汇编语言程序调试······················294.2C语言程序调试·······················304.3实验仿真··························315设计总结····························326参考文献:···························33贵州师范大学物理与电子科学学院电子信息科学与技术4摘要温度是我们生活中非常重要的物理量。随着科学技术的不断进步与发展,温度测量在工业控制、电子测温计、医疗仪器,家用电器等各种控制系统中广泛应用。温度测量通常可以使用两种方式来实现:一种是用热敏电阻之类的器件,由于感温效应,热敏电阻的阻值能够随温度发生变化,当热敏电阻接入电路时,则流过它的电流或其两端的电压就会随温度发生相应的变化,再将随温度变化的电压或者电流采集过来,进行A/D转换后,发送到单片机进行数据处理,通过显示电路,就可以将被测温度显示出来。这种设计需要用到A/D转换电路,其测温电路比较麻烦。第二种方法是用温度传感器芯片,温度传感器芯片能把温度信号转换成数字信号,直接发送给单片机,转换后通过显示电路显示即可。这种方法电路比较简单,设计方便,现在使用非常广泛。关键词:多点温度测量单片机温度传感器1总体设计多路温度测量系统的总体结构如图1所示,根据要求,整个系统包含以下几个部分:51单片机、时钟电路、复位电路组成的51单片机小系统;多块测温模块;显示温度值的显示模块和按键模块。测温模块由温度传感器组成,温度传感器采用美国Dallas半导体公司推出的智能温度传感器DS18B20,温度测量范围为-55--+125,可编程为9到12位的A/D转换精度,测温分辨率可达0.0625C,完全能够满足系统要求。DS18B20采用单总线结构,只需要一根数据线DQ即可与单片机通信,多个DS18B20可同时连接在一根数据线上与单片机通信。显示器可采用LCD液晶显示器,显示信息量大、效果好、使用方便。贵州师范大学物理与电子科学学院电子信息科学与技术5图1多路温度测量系统的总体结构系统处理时,由51单片机控制从各个测温模块测量出温度数字量,存入缓冲区;然后通过按键控制,从缓冲区取出,根据数字量和温度的关系计算出温度值,依次送LCD显示器显示。1.1功能要求多点温度测量系统的功能要求如下:(1)能够测量多点温度;(2)精度0.1C;(3)能够通过显示器显示测量点编号和温度值;(4)可轮流显示各测量点或指定显示某个测量点。1.2总体方案及工作原理单片机系统由AT89C51单片机,复位电路和时钟电路组成,时钟采用12MHZ的晶振,温度模块由4块温度传感器DS18B20组成,单总线结构,所有的DS18B20的DQ连接在一起与单片机的P3.0相连,通过上拉电阻连接电源,每一个DS18B20都有一个唯一的64位ROM地址,只要发送相应的ROM地址,就能够访问该器件,要访问某个DS18B20,就必须知道它的64位ROM地址,可以通过程序读出它的ROM地址,由于读ROM地址时,一次只能接入一个DS18B20,因此,4个DS18B20的数据线DQ通过开关连接到AT89C51的P3.0.贵州师范大学物理与电子科学学院电子信息科学与技术6另外,所有DS18B20的VDD引脚接+5V电源,GND接地;显示器采用LCD1602(LM016L),其数据线与AT89C51的P2口相连,RS与P1.7相连,R/W与P1,6相连,E端与P1.5相连。设定了两个按键,K0为功能键,与AT89C51的P1.0相连,当K0输入低电平时,读入DS18B20的ROM地址,当K0键输入高电平时,显示选中DS18B20的温度值;K1为测量点选中键,与AT89C51的P1.1相连,用于测量点选择,每按一次,测量点号加1,读入下一个DS18B20的ROM地址或显示下一个DS18B20的相应温度值。2系统硬件设计2.1器件选择2.1.1主要器件的型号元件名称数量AT89C51芯片1温度传感器(DS18B20)433PF晶振(CRYSTAL)110uF电解电容(CAP-ELEC)133pF普通电容(CAP)2LCD液晶显示器(LM016L)1300R电阻(RES)15K电阻(RES)1开关(SW-SPST)1按钮(BUTTON)5BUS2贵州师范大学物理与电子科学学院电子信息科学与技术72.1.2AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FALSHPROGRAMMABLEANDERASABLEREADONLYMEORY)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机,单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。其基本结构如图2图2AT89C51单片机的基本结构AT89C51是一个低电压,高性能CMOS8位单片机,片内含8kB的可反复擦写的Flash只读程序存储器和256B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置有通用8位中央处理器(CPU)和Flash存储单元。贵州师范大学物理与电子科学学院电子信息科学与技术8图3AT89C51单片机的引脚VCC/GND:供电电源。P0口:可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:标准输入输出I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口,管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。贵州师范大学物理与电子科学学院电子信息科学与技术9PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.1.3智能温度传感器DS18B20电路四个DS18B20分别接一个按钮开关,便于分别控制温度,DS18B20的VCC接口接入同一总线且与显示器VDD接口相连,DQ接口与AT89C51的P3.0接口相连,GND接地,如图4;图4智能温度传感器原理图2.1.4晶振电路方案晶振电路的功能在于给单片机提供振荡时钟信号,使单片机正常工作。本设计中采用了常用的晶振电路组成方案,具体如图5所示。贵州师范大学物理与电子科学学院电子信息科学与技术10图5晶振电路2.1.5LED液晶显示器图6液晶显示器2.1.6复位电路方案复位电路的功能在于对单片机进行复位从而达到对整个电路复位的功能。要达到目的则要求在复位按键按下后在RST引脚上要出现一个维持2个机器周期高电平[4]。考虑到可以利用电容的电压不能突变(需要一定的充放电时间),于是采用如下复位电路。图7复位电路贵州师范大学物理与电子科学学院电子信息科学与技术112.2硬件原理图图8硬件原理图3系统软件设计3.1基本原理多路温度测量系统的软件程序主要由主程序、读DS18B20模块ROM地址程序、显示DS18B20模块ROM地址、读DS18B20模块温度值程序、显示DS18B20模块温度值程序和LCD、DS18B20模块驱动程序等组成。3.1.1主程序主程序的流程图如图9所示。贵州师范大学物理与电子科学学院电子信息科学与技术12图9主程序流程图在主程序中,首先对LCD初始化,其次通过检测按键,判断是读DS18B20模块的ROM地址还是读DS18B20模块的温度值,如果是读ROM地址,则依次调用读ROM程序和显示ROM程序;如果是读温度,则调用测量温度程序和显示温度程序,注意测量某个DS1
本文标题:电子系统设计与实践课程设计――多点温度测量(汇编语言+C语言版)
链接地址:https://www.777doc.com/doc-3857313 .html