单片机应用系统设计工程实践报告

上传人:m**** 文档编号:120895199 上传时间:2022-07-18 格式:DOC 页数:31 大小:590KB
返回 下载 相关 举报
单片机应用系统设计工程实践报告_第1页
第1页 / 共31页
单片机应用系统设计工程实践报告_第2页
第2页 / 共31页
单片机应用系统设计工程实践报告_第3页
第3页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
字玻丈垮NINGBO UNIYERSfTY20162017学年第1学期单片机应用系统设计/工程实践(课号:103G06B)实验报告项目名称:基于AT89C51单片机温度报警系统学 院信息科学与工程学院完成时间 10目录一、项目功能及要求51。1、课程设计的性质和目的51。3、项目设计要求5二、系统方案设计及原理52。1、设计主要内容52.2 、AT89C51 单片机简介52。3 、DS18B20 简介62.4 、数码管显示82。5、报警电路9三、系统结构及硬件实现93.1、总电路图93。2、单片机控制流程图10四、软件设计过程 11五、实验结果及分析 1151、Proteus 仿真115.2 、 C 程序调试12六、收获及自我评价 21七、参考文献22一、项目功能及要求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公司的高 密度、非易失性存储技术制造,兼容标准MCS51指令系统及89C51引脚结构,芯片内集成 了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多 嵌入式控制应用系统提供高性价比的解决方案OAT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出(I/O) 口, 5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片 内时钟振荡器。此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模 式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结 振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位.同时该芯片还具 有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求.AT89C51单片机的基本 结构和外部引脚如下图所示。XT/4_1PO.O/ADOXTAL2PO.1VAD1PO.J/AD2PdAD3P0.4/AD4PO.5/AD5P0.6/AD6PD 7/AD7:dit丄土丄1-P2.0TA8P2.1/A9P2.2/A10PSEN卩2鍬11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0JHXDP1.1P1.2P3.2JINT0P1.3環:别RT1P-1 .4P1.5P3.5/T1P1 .6P3.6?/VRP1.7P3.7fRDRST图2。12.3、DS18B20 简介(1) DS18B20内部结构DS18B20是Dallas公司继DS1820后推出的一种改进型智能数字温度传感器,与传统 的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现912 位数字值的读数方式.DS18B20的外形如一只三极管,引脚名称及作用如下:GND:接地端,DQ:数据输入/输出脚,与TTL电平兼容,VDD:可接电源,也可接地。因为每只DS18B20 都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采用数据总线供电方式 时VDD接地,可以节省一根传输线,但完成数据测量的时间较长;采用外部供电方式则VDD 接+5V,多用一根导线,但测量速度较快,内部结构如图如图3-1。图3。1(2)DS18B20供电方式DS18B20可以采用外部电源供电和寄生电源供电两种模式。外部电源供电模式是将DS18B20的GND直接接地,DQ与但单总线相连作为信号线,VDD与外部电源正极相 连。如图3。2:XDXD匝1T1JOiJT1匝10-NPN NPN-MPN- U2I 29.0 IVCCDQGND 3S18B20BUZ1.图3.2(3)DS18B20的测温原理DS1820是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这 个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应 于一55C的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到一55C) 的值增加,表明所测温度大于-55 C。同时,计数器被复位到一个值,这个值由斜坡式累加 器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数 直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。 DS18B20内部对此计算的结果可提供0.5C的分辨率。温度以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。225、报警电路通过P2 口控制,当温度高于设置的上限或者设置的下限时蜂鸣器响报警。如图5.1.P2.1/A9 P2 .Z/A1 FSENP2 .3/A1 1ALEEAP2 .S/A1 3P2aP2 .T/Ad 5P .O/T2P3.O/RXDP叽仆TBEXPS.iyTXDP .2F3.2/INTOP.PS.SIHTIF1 .4ps 如丁口P1 .5P3 .B/TIF l .aFS.a/WFTP-1 .7P3.T/-R DB H23口4.-2S N 口 27 |口I12.ATSQC32皆 片现用若| C&0IEG1-民3 -man 虫9E) 1EHIEUEE 金图5.2三、系统结构及硬件实现3。1、总电路图本电路是由AT89C51和DS18B20为核心,加上串口电路来实现对整个电路的控制和 设计,电路图如下。一AXE 23a liz1匪咖州伽|ill432、单片机控制流程图皿 口 IAI 口 PU 1LM1 DZIMZ PDRja FU.S + PDAiJf WJE ?D7LAJ7*ZMPE V.3 FZH PZZld1 PZ-iAIZ P?AD PTftld PZWAtfriJliTC! rs.irti P32.TffE P33TinP3*TU Wi rauaWW!rum_a .采集温度(T)二极管亮,报警1炯管显示0;i)DQ=0;/ 给脉冲信号dat=l ;DQ=l;/ 给脉冲信号if(DQ)dat I =0x80;Delay(4);return (dat);/*写一个字节*/void WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8; i0; i-)DQ=0;DQ=dat0x0l ;DQ=1;dat=1;void Tmpchange(void) /发送温度转换命令Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0x44); /启动温度转unsigned int ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Tmpchange();Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器a=ReadOneChar();/读低 8 位b=ReadOneChar();/读高 8 位t=b;tshangxian I I exiaxian) LING=0; /温度不在范围内报警 else LING=1;Disp_Temperature(e) ; /显示温度else if(shezhi=1)Disp_Temperature(xiaxian); /显示温度下限else if(shezhi=2)Disp_Temperature(shangxian) ; /显示温度上限六、收获及自我评价这次课程设计不光是要掌握模单片机书本上的理论基础 ,还需要我们锻炼自己的 动手能力。用时 8 周,需要用到 Proteus ISIS 绘图,同时也用到 keil 编程,仿真验证程序正确。 仿真时发现按键不响应、数码管显示乱码,又返回去重新改程序,给单片机刷入程序第 2 次验证,最后终于发现了问题,原来是接线错误,修改之后果然调试正确。调试成功后真的 很开心,确实让我学到了很多东西,很感谢这次的实践机会通过这次设计,使我们得到了一次用专业知识、专业技能分析和解决问题全面系统的锻 炼。使我们在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧 的掌握方面都能向前迈了一大步。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法 解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计 系统的经验,充分发挥教学与实践的结合.全能提高个人系统开发的综合能力,开拓了思维, 为今后能在相应工作岗位上的工作打下了坚实的基础。不但加深我对在课程上所学到的单片 机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通 过知识与应用于实践的结合更加丰富了自己的知识.总的感受有以下几方面:1、通过本次设计,我们不但对单片机有了更深的了解,对一个课题如何画流程图,编程序等有了一定的认识。2、进一步加强了我们的动手能力和运用专业知识。3、让我们了解到单片机技术对当今人们生活的重要性。同时这次设计的经历也使我受 益匪浅,让我知道做任何事情都应脚踏实地,刻苦努力地去做,只有这样,才能做好。七、参考文献1 高玉芹单片机原理与应用及C51编程技术【M】。北京:机械工业出版社2 刘泉溪单片机原理与应用实验教程 【M】北京航空航天大学出版社3 孙育才.MCS-51系列单片微型计算机及其应用【M】东南大学出版社4 叶景,基于单片机的温度控制系统的设计经验与交流,200851单片机应用开发典型范例一-基于Proteus仿真【M】北京:电子工业出版社
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!