ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:338.60KB ,
资源ID:2872439      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2872439.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机课程设计数字温度计报告.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

51单片机课程设计数字温度计报告.docx

1、51单片机课程设计数字温度计报告 电子毕业设计数字温度计题目: 数显温度计 学院: 电子信息学院 班级: 学号: 姓名: 指导老师: 日期:数字温度计设计任务书一、 课程设计目的1、 加强学生理论联系实际的能力,提高学生的动手能力;2、 学会基本电子元器件的识别和检测;3、 学会应用EDA软件Proteus进行电路的设计和仿真;4、 基本掌握单片机的基本原理,并能将其应用于系统的设计。5、 通过实训,提高学生的学习兴趣,激发自主学习能力,培养创新意识。二、 设计任务先焊制一个单片机最小系统,并以制作的单片机最小系统为核心,设计并制作一个数字式温度计应用系统。三、 设计要求具有以下功能:(1)

2、采用DS18B20作为温度传感器进行温度检测;(2) 对采集温度进行显示(显示温度分辨率);(3) 采集温度数值应采用数字滤波措施,保证显示数据稳定;(4) 显示数据,无数据位必须消隐。数字温度计设计任务书 21、 设计思路(1) 设计原理 4(2) 系统方案及总体设计框图 42、 数字温度计应用系统的硬件设计(1) 单片机小系统基本组成及硬件图 (2) 外围电路工作原理及系统硬件图 (3) 主要芯片及其功能 3、 系统软件程序的设计软件流程框图 4、 系统调试(1) 仿真器介绍 (2) 调试结果及其分析(3) 系统设计电路的特点和方案的优缺点 5、 课程设计心得体会参考文献附录 程序清单及注

3、释一、 设计思路:设计方案及其总体设计框图温度计设计系统流程图将温度转换为BCD码更新数据缓冲区二、数字温度计应用系统的硬件设计1、单片机小系统的基本组成及其选择(1)单片机单片机选型参考 AT89S51、AT89S52 :具备ISP下载功能 ,可以使用USBASP程序下载线或者并口下载 STC89C51、STC89C52:使用串口线+MAX232烧写程序。 AT89C51、AT89C52 :可以在最小系统板上使用,但需要另外用编程器烧写程序 本次课程设计选用AT89S52型号单片机进行操作。AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-syst

4、em programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个 全双工串行通信口,看门狗(

5、WDT)电路,片内时钟振荡器。 AT89S52引脚图 此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三 种封装形式,以适应不同产品的需求。 AT89S52引脚图 此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片

6、其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三 种封装形式,以适应不同产品的需求。(4) 电源 电源适配器供电:DC座(三个管脚) usb供电:3、时钟石英晶振电路结构原理如右图所示 4、I/O口&接口 所有I/O用排针引出 串行通信口:, ISP:,单片机共有4个8位双向并行I/O通道口,每位均有自己的锁存器、输出驱动器和输入缓冲器组成。这种结构,在数据输出时可以锁存,及输出新的数据以前,通道口上的原始数据不变。但对输入信息是不锁存的,所以从外部输入的信息必须保持到取数指令执行完为止。2、外围电路工作原理及系统硬件图 3、主要芯片及其功能AT89S52(1

7、)AT89S52各引脚及I/O口介绍 P0口也可用做访问片外数据存储器和程序存储器时的低8位地址/数据总线的复用口。这种情况下,P0口内含上拉电阻。在Flash编程时,P0口输入代码数据;在Flash校验时,P0口输出代码数据。在进行编程校验时,需外接10K的上拉电阻。P1口8位、双向I/O口,内含上拉电阻。P1口为用户使用的通用I/O口,每个引脚可驱动4个TTL负载。当用做输入时,每个端口首先置1。和引脚也用做定时器2的外部计数输入T2)和触发器输入T2DX)。在编程和校验期间,P1口可输入低字节地址。 P2口8位、双向I/O口,内部具有上拉电阻。P2口可用做通用I/O,可以驱动4个TTL负

8、载。对P2口各位写入1,可作为输入。每个引脚由外部负载拉为低电平时,经由内部上拉电阻向外输出电流。在访问16位地址的外部程序存储器和数据存储器时,P2口提供高8位地址。用MOVX DPTR类指令访问外部数据存储器时,P2口为高8位地址(即PCH);用MOVX R0和MOVX R1类指令访问外部数据存储器时,P2口上的内容是SFR P2的内容。在编程和校验时,P2口接收地址线的高位和一些控制信号。P3口8位、双向I/O口,内部含有上拉电阻。 P3口可用做通用I/O口,可驱动4个TTL负载。当用做输入熟,要先将P3口各位置如外部负载将P3口拉低,则经过上拉电阻向外输出电流。在编程和校验时,P3口接

9、收某些控制信号。 地址锁存允许/编程脉冲输入。 外部程序存储器读选通,低电平有效。 片外程序存储器访问允许。 XTAL1和XTAL2XTAL1是片内振荡器反相放大器和时钟发生器的输入端,XTAL2是片内振荡器反相放大器的输出端。 (2)AT89S52实物与仿真的区别DS18B20DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。DS18B20的性能特点如下:(1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微处理器连接时仅需

10、要一条口线即可实现微处理器与DS18B20的双向通讯。(2)DS18B20支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点组网测温;(3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(4)可通过数据线供电,电压范围为;(5)零待机功耗;(6)温度以9或12位数字,对应的可分辨温度分别为、和,可实现高精度测温;(7)用户可定义报警设置;(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;(10)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送

11、CRC校验码,具有极强的抗干扰纠错能力DS18B20采用3脚PR35封装或8脚SOIC封装,其引脚排列及内部结构框图如图及测温原理图如下所示:1602液晶显示屏 1602液晶显示流程图: 三、系统软件程序的设计(见附录): 软件流程框图:四、系统调试:1、仿真器的介绍:Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在

12、一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 keil软件的开发运用 (1)Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ

13、)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。(2)使用独立的Keil仿真器时,注意事项 仿真器标配的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚

14、相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。 proteus软件的开发运用(1) Protues 软件介绍Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真51系列、AVR,PIC 等常用的MCU 及其外围电路。本文基于Proteus 和Keil uVision3 软件。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工

15、作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。(2) proteus 的工作过程运行proteus 的ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置view 菜单下的捕捉对齐和system 下的颜色、图形界面大小等项目。通过工具栏中的p 命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source 菜单的Add/removeso

16、urce files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。Proteus 软件提供了30 多个元件库,数千种元件。元件涉及数字和模拟、交流和直流等。2、系统整体调试调试结果 结果分析 在运行仿真结果时通过改变温度传感器DS18B20的温度,然后调用各种子函数,可以改变液晶显示1602的第二行显示数据,说明程序编写正确。系统设计电路的特点和方案的优缺点我们组设计的数字温度计系统知识运用简单的AT89S52芯片的I/O口传输功能,通过几个小的读数据、传递数据、延时子函数实现温度的读取传输功能,是比较简单,容易实现的,所以我们的系统只是实现了

17、一些简单的功能,系统整体来说比较简易,但好像这个温度计没有多大的应用价值,所以我们后续分析觉得这个系统可以加一个温度复位系统提高AT89S52芯片的功能价值,也提高数字温度计的智能价值,还可以增加一个报警子函数,实现智能数字温度计更高的应用价值。五、课程设计心得体会: 经过这次单片机课程设计,终于完成了我的数字温度计的设计,虽然不能做到很完美,但从心底里说,还是高兴的,毕竟这次设计把实物都做了出来,高兴之余不得不深思呀!在本次设计的过程中,我发现很多的问题,也许是第一次进行这种系统的设计所以感觉完成这样一次小系统设计我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,

18、虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,举个例子,以前写的那几次,数据加减时,我用的都是BCD码,这一次,我全部用的都是16进制的数直接加减,显示处理时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。通过这次对数字温度计的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字温度计的原理与

19、设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。 通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大

20、收获。参考文献:1科技教育创新中国科技信息2010 年第11 期 CHINA SCIENCE AND TECHNOLOGY INFORMATION 附录:程序清单及其注释: ; /*DS18B20*/void main() uchar table = Now Temperature ; delayMs(1); sendChangeCmd(); init(); writeComm(0x80); writeString(table, 16); while(1) delayMs(1000); /温度转换时间需要750ms以上 writeComm(0xc0); display(getTmpValue(); sendChangeCmd();

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2