




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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表示客观时间的标准秒。S>0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S&l
10、t;0表示秒单元数值的刷新超前,即走时误差为“快”。本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。3.软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最
11、后统调程序。五、注意事项与心得体会1.实习中的连线问题:使用了为了提供共阴LED数码管的驱动电压,用74LS244作电源驱动输出。由P0口输出驱动数码管的段选择,而P3口的输出接上2803芯片驱动数码管的位选择。在连线时要注意芯片端口号和引脚号的区别,所以我参考了老师给我们的芯片资料,感觉非常有用,不但帮我们完成了线路图的连接,而且对于我们以后的学习也是非常有用的。对于数码管的段端口号和位端口号的确定有一定的困难,开始连线时我没有自己确定端口号,而是直接参考王老师连得电路图,感觉非常困难,后来我想到数码管就是由一个一个的二极管组成的,我为什么不用外用表自己来测量呢?这样既可以完成实验操作,而且
12、还可以提高自己动手解决问题的能力。弄清原理后我很快确定好了数码管各个端口号对应的芯片引脚。P1.0,P1.1和P1.2是开关调节按钮,具体功能下面叙述,连线比较简单。对于这次连线总的来说还是比较简单的,可能一个看起来很复杂的电路图,如果我们能够弄清楚原理,那么就非常简单。同样对于我们学习也是这样的,遇到困难不能退缩,如果那样的话,那么也许我们永远不能够解决问题。2.程序的编写过程 我们在大一时学习了C语言,当时不知道它有什么具体的作用,无非不就是编写一些简单无聊的程序。通过这次单片机的实习,我充分认识到C语言的强大功能。现在有点后悔当初没有好好学习这门语言。上学期学习单片机基础知识时我们主要是
13、应用汇编语言编写程序,但是对于一些大型复杂的程序,可能汇编语言会很复杂。如何解决这个问题呢?实习老师向我们讲解了C51语言的强大功能,让我们到图书馆找一些资料学习一下。经过两个星期的系统学习,我基本掌握了编程思想和一般的方法。3.心得体会这是我又一次用单片机做成功的小制作硬件。在制作过程中,我对51单片机的了解进一步的加深,对KEIL软件的使用更加灵活,对Proteus模拟软件有了初步的了解。查阅相关电子毕业论文网站,对论文的书写也有了流程框架。我学到了许多自己以前没有接触过的知识,真是受益匪浅。经过一次次的使用Proteus也是我在学习单片机中不可缺少的系统仿真软件工具,它是现在市场上用来软
14、件仿真最为重要的之一。在写报告时Microsoft word也是不可缺少的办公软件,以前我对这个软件很陌生,通过这次的报告的编写,我对它的运用得到了进一步的认识。附录:#include"reg52.h" unsigned char tempL=0,tempH=0; / 设置全局变量unsigned int temperature;unsigned char code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf;unsigned char code tab1=0x40,0x79,0x24,0x30,0x
15、19,0x12,0x02,0x78,0x00,0x10;/带小数点的数unsigned char wei=0x10,0x20,0x40,0x80,0x01,0x02,0x04,0x08;unsigned int dua=0,0,10,0,0,10,0,0;unsigned int dispbuf=0,0,0;unsigned int hour=12;unsigned int minite=0;unsigned int second=0;unsigned int tcnt=0;sbit key1=P20;sbit key2=P21;sbit key3=P22; sbit key4=P23; sb
16、it key5=P24;sbit DQ=P25; /数据传输线接单片机的相应的引脚/*/void delay(int x) /延时程序 while(x-);/*/初始化程序void Init_DS18B20(void) unsigned char x=0;DQ=1; /DQ先置高delay(8); /稍延时DQ=0; /发送复位脉冲delay(85); /延时(>480us)DQ=1; /拉高数据线delay(14); /等待(15-60us)x=DQ; /delay(20);/*/读一个字节ReadOneChar(void) unsigned char i=0; unsigned ch
17、ar dat=0; for(i=8;i>0;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;i>0;i-) DQ=0; DQ=dat&0x01; delay(5); DQ=1; dat>>=1; delay(4);/*ReadTemperature(void)Init_DS18B20();Writ
18、eOneChar(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 temper)dispbuf2=(temper>>4)/10;dispbuf1=(temper>>4)%10;if(temper&0
19、x8)dispbuf0=0x55;else dispbuf0=0;void display1() int i; P0=0xff; for(i=0;i<3;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=second%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 keysca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高效能显卡散热系统企业制定与实施新质生产力项目商业计划书
- 2025年天然气水合物开采技术新能源利用与替代能源策略研究报告
- 2025年金融行业数据治理与隐私保护技术标准与法规对比分析
- 版语文二年级下册8与众不同 我想说自己的词练习卷
- 北京版语文四年级上册第一单元基础知识练习卷
- 2025年新能源汽车电池智能管理系统研发与应用可行性研究报告
- 年产5000吨金属镁项目节能评估报告(节能专用)
- DB62T 4224-2020 玉米品种 敦玉758
- 影视后期制作专业实习报告
- DB62T 4073-2019 葡萄 美红规范
- 2025年商法知识竞赛考试试卷及答案
- 水电项目实施中的环境保护措施试题及答案
- 食品安全自查、从业人员健康管理、进货查验记录、食品安全事故处置保证食品安全的规章制度
- 2025中考语文常考作文押题(10大主题+10篇范文)
- 第21章 一次函数-一次函数与面积综合专题 课件 2023-2024学年冀教版数学八年级下册
- 自控实验三线性定常系统的稳态误差
- 特种设备作业人员考试中心质量管理手册(共31页)
- SH3508-2011附录A填写示例
- COC文件审核清单
- 英语课题评审书
- 钢栈桥验收表精编版
评论
0/150
提交评论