单片机应用系统设计工程实践报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016-2017学年第1学期
单片机应用系统设计/工程实践
(课号:103G06B)
实验报告
项目名称:基于AT89C51单片机温度报警系统
学号
姓名
班级
学院信息科学与工程学院
完成时间2016.10
目录
一、项目功能及要求 (3)
1.1、课程设计的性质和目的 (3)
1.3、项目设计要求 (3)
二、系统案设计及原理 (3)
2.1、设计主要容 (3)
2.2 、AT89C51单片机简介 (3)
2.3 、DS18B20简介 (4)
2.4 、数码管显示 (6)
2.5、报警电路 (7)
三、系统结构及硬件实现 (7)
3.1、总电路图 (7)
3.2、单片机控制流程图 (8)
四、软件设计过程 (9)
五、实验结果及分析 (9)
5.1 、Proteus仿真 (9)
5.2 、C程序调试 (10)
六、收获及自我评价 (15)
七、参考文献 (15)
一、项目功能及要求
1.1、课程设计的性质和目的
本温度报警器以AT89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。当被测量值超出预设围则发出警报,且精度高。
利用现代虚拟仿真技术可对设计进行仿真实验,与单片机仿真联系紧密的为proteus仿真,利用keil软件设计单片机控制系统,然后与proteus进行联合调试,可对设计的正确性进行检验。
1.2、课程设计的要求
1、遵循硬件设计模块化。
2、要求程序设计结构化。
3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。
4、要求程序结构合理,语句使用得当。
5、适当追求编程技巧和程序运行效率。
1.3、项目设计要求
1、基于AT89C51单片机温度报警系统;
2、设计3个按键分别为:设置按钮、温度加、温度减;
3、DS18B20温度传感器采集温度,并在数码管上显示按键的区别;
4、当温度超过设定的上限或者低于设置的下限温度时蜂鸣器报警;
二、系统案设计及原理
2.1、设计主要容
本设计以AT89C51单片机为核心,从而建立一个控制系统,实现通过3个按键控制温度,以达到设置温度上下限的功能,并在数码管上显示三个数字当前的温度上下限设置值和DS18B20温度采集值的显示(精确到小数点后一位),当温度高于上限或者低于下限蜂鸣器报警。
2.2 、AT89C51单片机简介
AT89C51是一个低功耗,高性能CMOS8位单片机,片含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为多嵌入式控制应用系统提供高性价比的解决案.AT89C51具有如下特点:40个引脚,4k Bytes Flash 片程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片
时钟振荡器。
此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89C51单片机的基本结构和外部引脚如下图所示。
图2.1
2.3 、DS18B20简介
(1)DS18B20部结构
DS18B20是Dallas公司继DS1820后推出的一种改进型智能数字温度传感器,与传统的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现9~12位数字值的读数式。
DS18B20的外形如一只三极管,引脚名称及作用如下:GND:接地端,
DQ:数据输入/输出脚,与TTL电平兼容,VDD:可接电源,也可接地。因为每只DS18B20都可以设置成两种供电式,即数据总线供电式和外部供电式。采用数据总线供电式时VDD接地,可以节省一根传输线,但完成数据测量的时间较长;采用外部供电式则VDD 接+5V,多用一根导线,但测量速度较快,部结构如图如图3-1.
图3.1
(2)DS18B20供电式
DS18B20可以采用外部电源供电和寄生电源供电两种模式。外部电源供电模式是将DS18B20的GND直接接地,DQ与但单总线相连作为信号线,VDD与外部电源正极相连。如图3.2
图3.2
(3)DS18B20的测温原理
DS1820是这样测温的:用一个高温度系数的振荡器确定一个门期,部计数器在这个门期对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,
如果门期仍未结束,将重复这一过程。
斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。DS18B20部对此计算的结果可提供0.5℃的分辨率。温度以16bit带符号位扩展的二进制补码形式读出,
DS18B20遵循单总线协议,每次测温时都必须有4个过程]:初始化、传送ROM操作命令、传送ROM操作命令、数据交换。
2.4 、数码管显示
数码管部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见数码管有10根管脚。管脚排列如下图所示。其中COM为公共端,根据部发光二极管的接线形式可分为共阴极和共阳极两种。
共阳、阴极部原理图(如图4.1),其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。本次试验采用共阳极,显示电路如图4.2.
图4.1
图4.2