温度测量和时钟显示的课程设计

上传人:hao****an 文档编号:137106585 上传时间:2022-08-17 格式:DOCX 页数:19 大小:1.10MB
收藏 版权申诉 举报 下载
温度测量和时钟显示的课程设计_第1页
第1页 / 共19页
温度测量和时钟显示的课程设计_第2页
第2页 / 共19页
温度测量和时钟显示的课程设计_第3页
第3页 / 共19页
资源描述:

《温度测量和时钟显示的课程设计》由会员分享,可在线阅读,更多相关《温度测量和时钟显示的课程设计(19页珍藏版)》请在装配图网上搜索。

1、电子工艺课程设计报告题 目 温度测量及时钟显示的设计 姓 名 季琪源 学 号 20092305914 院 系 滨江学院 专 业 电子信息工程 组 员 季琪源、邢卫国 二一二 年 五 月南京信息工程大学电子信息工程系,南京 210044基于AT89S52单片机温度测量及时钟显示设计摘要: 本设计主要是温度测量及时钟显示的设计,由单片机AT89S52芯片和DS18B20芯片及1602液晶显示为核心,辅以必要的电路来设计制作完成。 它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, AT89S52的指令系统和引脚与51完全兼容,片内有

2、128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。由于其功能的实现主要通过软件编程来完成,降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用AT89S52。并且AT89S52单片机结合1602液晶显示器的设计,在显示方面比数码管更简单,不用送段码和位码只需键入所要输出的数字或单词即可。关键字:AT89S52、DS18B20、数字钟一、引言:数字钟是采用数字电路实现对时分秒数字显示的计时装置,广泛用于个人家庭、办公室等公共场所,已成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体与振荡器的广泛应用,使得数字钟的精度

3、远远超过老式钟表,而且大大地扩展了钟表原先的报时功能,这些的实现都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。二、设计目的与要求2.1设计目的 进一步掌握单片机的原理及其功能。学会利用单片机做一些简单的电子 设计与制作。 熟悉DS18B230温度传感器的作用及其原理,会利用其进行温度的测量。 通过此次的电路焊接和调试提高自己的动手及其分析问题的能力。2.2设计要求1.以MCS-51系列单片机为核心器件,组成一个电子时钟系统。2.系统显示器由4位LED数码管组成,分别显示时间值的小时和分,以24h(小时)计时方式。3.能够使用按键开关随时对当前时间进行调整。2.3系

4、统的主要功能通过DS18B20进行温度的测量,再由一条I/0数据端口与单片机进行通信,最后将结果显示在数码管上,实现温度检测的功能,另外在单片机上编写一个时钟程序同时在显示器上显示出来,实现时钟显示的功能。小组分工情况 邢卫国主要负责软件部分,主要工作是编写程序,画电路图。季琪源主要负责焊接电路与报告的撰写,一起完成了本次课程设计的任务。三、设计方法步骤及设计原理3.1原理框图为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些。考虑时钟显示只有4位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED的显示。单片机采用易购

5、的AT89S52系列,这样单片机可具有足够的空余硬件资源实现其它的扩充功能。 AT89S52电源四位共阳数码管放大电路按键复位电路DS18B20传感器时钟电路图31总设计方框图3.2原理说明采用AT89S52单片机,最小化应用设计;采用共阴七段LED显示器,P0口输出段码数据,P1.0P1.7口作列扫描输出,P2.0,P2.1,P2.2,P2.3,P2.4,口接五个按钮开关,用以调时功能设置,P2.5口接温度传感器用于温度的测量。为了提供共阴LED数码管的驱动电压,用9013三极管作电源驱动输出。采用12MHz晶振,有利于提高通信波特率的准确性。为了提高驱动能力在P0口,P1口和数码管之间要接

6、上9013三极管,Proteus中不需接也可以正常显示,复位电路和晶振电路没接不影响仿真。整体线路设计如下: 图32总设计原理图3.3晶振及复位电路3.4 系统仿真点击仿真后默认显示时间按下P2.3口上的开关后切换显示温度按下P2.4口上的开关后切换显示时间四、软件流程图及程序设计(1)主程序本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。(2)LED显示子程序数码管显示的数据存放在内存单元wei0- wei7中。其中 wei 0- wei 1存放时数据,wei 2- wei 3存放分数据,wei 4- wei 5存放秒数据,每一地址单元内

7、均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应码段存放在ROM表(tab11中。显示时,先取出wei 0- wei 7中的某一数据,然后查得对应的显示用码段,并从P0口输出,P3口将对应的数码管选中供电,就能显示该地址单元的数据值。(3)定时器T0中断服务程序定时器T0用于时间计时。中断进入后,时钟计时累计中断达1秒时,对秒计数单元进行加1操作。在计数单元中采用十进制BCD码计数,满60进位,T0中断服务程序执行。流程见下图:开始T0中断入口通过查表方式显示数据数码位选加1N位选值=8Y位选数值=0秒计数加1N秒计数=500Y秒计数=0SECOND加1

8、中断返回图41主程序流图YYNNN子程序入口SECOND=60SECOND=0,并MINUTE加1MINUTE=60MINUTE=0,并HOUR加1显示数据处理中断返回HOUR=24Y图42子程序流图Y发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束图44 温度转换流程图图43 读温度流程图四、系统调试及总结分析(附上实物照片)单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/

9、硬件故障。1.系统性能测试与功能说明走时:默认为走时状态,按24小时制分别显示“时时.分分.秒秒”,时间会按实际时间以秒为最少单位变化。走时调整:按一下minute加一分;对时进行调整,按一下hour加一小时,从而达到快速设定时间的目的。 2.系统时钟误差分析时间是一个基本物理量,具有连续、自动流逝、不重复等特性。我国时间基准来自国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。S0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S480us)

10、DQ=1; /拉高数据线delay(14); /等待(15-60us)x=DQ; /delay(20);/*/读一个字节ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for(i=8;i0;i-) DQ=1; delay(1); DQ=0; dat=1; DQ=1; if(DQ) dat|=0x80; delay(4); return(dat);/*/写一个字节void WriteOneChar(unsigned char dat) unsigned char i=0; for(i=8;i0;i-) DQ=0; DQ=dat&

11、0x01; delay(5); DQ=1; dat=1; delay(4);/*ReadTemperature(void)Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0x44);delay(125);Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0xbe); tempL=ReadOneChar();tempH=ReadOneChar();temperature=(tempH*256)+tempL;return (temperature);/*void Dispbuf(unsigned int te

12、mper)dispbuf2=(temper4)/10;dispbuf1=(temper4)%10;if(temper&0x8)dispbuf0=0x55;else dispbuf0=0;void display1() int i; P0=0xff; for(i=0;i3;i+) ReadTemperature(); Dispbuf(temperature); if(i=1) P1=weii;P0=tab1dispbufi;delay(200); else P1=weii;P0=tabdispbufi;delay(200); /时钟显示*void display() int i; dua0=se

13、cond%10; dua1=second/10; dua3=minite%10; dua4=minite/10; dua6=hour%10; dua7=hour/10; P1=weii; P0=tabduai; delay(2); i+; if(i=8) i=0; void keyscan() if(key1=0) delay(10); if(key1=0) second+; if(second=60) second=0; minite+; while(key1=0) display(); if(key2=0) delay(10); if(key2=0) minite+; if(minite=

14、60) minite=0;hour+; while(key2=0) display(); if(key3=0) delay(10); if(key3=0) hour+; if(hour=24) hour=0; while(key3=0) display(); /*/* 主函数 */*/void main() TMOD=0x02; TH0=0x06; TL0=0x06; TR0=1; ET0=1; EA=1; /中断允许 while(1) if(key4=0) while(key5=1) display1(); if(key5=0) while(key4=1) keyscan(); display(); keyscan(); display(); void t0() interrupt 2 tcnt+; if(tcnt=4000) tcnt=0; second+; if(second=60) second=0; minite+; if(minite=60) minite=0; hour+; if(hour=24) hour=0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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