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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(单片机电子万年历系统的设计与研究Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机电子万年历系统的设计与研究Word格式文档下载.docx

1、采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能以3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超低压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程

2、序时,不需要对芯片多次拔插,由此不会对芯片造成损坏。所以选择采用AT89S52作为主控制系统。1.2.2 显示模块选择方案和论证采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。但LED数码管不能显示汉字且连线复杂,所以此设计不采用LED数码管作为显示。 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字也比较适合,但线路连接相当复杂,所以也不用点阵式数码管作为显示。方案三: 采用点阵式LCD12864显示,点阵式LCD12864的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,且线路连接方

3、便,所以在此设计中采用点阵式LCD12864。1.2.3 时钟芯片的选择方案和论证直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。采用DS12C887时钟芯片实现时钟,DS12C887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300Na。1.2.4 温度传感器的选择方案与论证使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热

4、敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。1.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统;时钟芯片DS12C887提供时钟计数;点阵式LCD12864为显示。2 系统的硬件设计与实现

5、2.1 电路设计框图AT89S52主控制模块图2.1 电路设计框图2.2 系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS12887提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS12C887内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功

6、能;显示部份由液晶显示屏12864构成。2.3 主要单元电路的设计2.3.1 单片机主控制模块的设计AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0、P1、P2、P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如图2.2所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。图2.

7、2 主控制系统2.3.2 时钟电路模块的设计图2.3示出DS12887的引脚排列,GND、 VCC:直流电源,其中VCC接+5V输入,GND接地,当VCC输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+3V时, DS12C887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。MOT是模式选择脚,接地选用Intel模式。AD0AD7是复用地址数据总线,与单片机P0口连接。CS是片选输入,低电平有效。图2.3 DS

8、12C887的引脚图2.3.3 温度采集模块设计如图2.4所示。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P3.1口与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。图2.4 DS18B20温度采集2.3.4 电路原理及说明(1) 时钟芯片DS12C887的工作原理DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题; DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一

9、天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节 RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。 (2) DS12C88的引脚功能 GND、 VCC:直流电源,其中VCC接+5V输入,GND接地;MOT:模式选择脚,接GND选用的是Intel模式;AD0AD

10、7:复用地址数据总线,与P0口相连接;IRQ:中断请求输入,低电平有效,与外部中断INT0连接;DS/RD:数据选择或读输入脚,与P17口连接;R/W:读/写输入端,与P16口相连接;AS:地址选通输入脚,与P15口连接;CS:片选输入,低电平有效,与P14口连接.(3) DS12C887的存储功能表2.1 DS12C887的存储功能地址功能取值范围十进制数取值范围二进制BCD码秒059003B00591秒闹钟2分3分闹钟412小时模式012010C AM,818C PM0112AM,8192PM24小时模式023001700235时闹钟,12小时制112时闹钟,24小时制6星期几(星期天=1

11、)1701077日131011F01318月010C01129年0990063009910控制寄存器A11控制寄存器B12控制寄存器C13控制寄存器D50世纪NA19,202.3.5 显示模块的设计(1) 点阵式LCD12864的工作原理点阵式LCD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可

12、完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多。(2) 点阵式LCD12864的读写时序图图2.6 串口数据线模式数据传输过程(3) 点阵式LCD12864显示如图2.7所示,采用点阵式LCD12864显示,VSS、R/W(SID)、K接地;VDD、RESET、PSB、A接高电平;RS(CS)、E(SCLK)分别与P10和P11连接;DB0DB7与P2口相连。图2.7 点阵式LCD12864显示3 系统的软件设计3.1 程序流程框图图3.1主程序流程图 图3.2 计算阳历程序流程图图3.3时间调整

13、程序流程图3.2 子程序的设计3.2.1 DS18B20温度子程序 CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7TOUTOU: LCALL CHUSHI LCALL RDTEMP MOV A,TEMPL ANL A,#11110000B MOV TEMPL,A MOV A,TEMPH ANL A,#00000111B ORL A,TEMPL SWAP A MOV 25H,A MOV A,25H MOV B,#64H DIV AB MOV A,B M

14、OV B,#0AH ORL A,B MOV 10H,A RETCHUSHI: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#4EH MOV A,#CONFIG12RDTEMP: MOV A,#44H LCALL DL1MS MOV A,#0BEH LCALL ERAD111 MOV TEMPH,ARESET:LA: SETB DAT MOV 52H,#200LB: CLR DAT DJNZ 52H,LB MOV 52H,#30LC: DJNZ 52H,LC CLR C ORL C,DAT JC LB MOV 58H,#80LD: JC LP DJN

15、Z 58H,LD SJMP LALP: MOV 52H,#250LF: DJNZ 52H,LFWRITE111: MOV 53H,#8W51HA: MOV 54H,#8 RRC AW52HA: DJNZ 54H,W52HA MOV DAT,C MOV 54H,#30W53HA: DJNZ 54H,W53HA DJNZ 53H,W51HAERAD111: CLR EA MOV 58H,#8RD1A: MOV 54H,#6 NOPRD2A: DJNZ 54H,RD2A MOV C,DAT MOV 55H,#30RD3A: DJNZ 55H,RD3A DJNZ 58H,RD1A3.2.2 DS12C

16、887子程序写12C887程序WRITE: CLR SCLK SETB RST MOV A,32H MOV R4,#8WRITE1: RRC A ;送地址给12C887 MOV IO,C SETB SCLK DJNZ R4,WRITE1 MOV A,31HWRITE2: NOP ;送数据给12C887 DJNZ R4,WRITE2 CLR RST;读12C887程序READ:READ1: DJNZ R4,READ1READ2:从12C887中读出数据 MOV C,IO DJNZ R4,READ2 MOV 31H,A4 结 论4.1 在实际中遇到的问题及解决方案4.1.1 硬 件电子万年历的电路

17、系统较大,对于连线方面不可轻视,庞大的电路系统中只要出现一处错误,则会对系统运行造成很大的不便,而且电路的交线较多,对于各种芯片的引脚要特别注意处理,否则很容易接错引脚而是电路不能正常工作。在电子万年历的设计最初调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:(1) 点正式LCD12864A、K脚连接混淆,致使显示屏显示微弱。解决:A管脚接电源,K管脚接地,即可解决此为题。(2) 对万年历修改时间或日期时,有时按键下去并无任何作用。对系统断电,用万用表测试,发现按键与单片机接口处出现多处断路,重新连接此处线路,即可解决问题。(3) 点正式LCD12864显示

18、屏时常出现显示停滞或显示乱码。检查线路,DS12C887的AD1-AD7管脚与P0口相连接,P0口出未加上;上拉驱动电阻,故选用九针500欧姆排阻作为P0口驱动电阻,即可解决此问题。4.1.2 软 件电子万年历是多功能的数字型、可以看当前日期、时间、温度的仪器。电子万年历功能繁多,对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下:(1)烧入程序后,点阵式LCD2864显示闪动,而且亮度不均匀。首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本设计使用动态扫描方式

19、显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。(2)修改时间、日期时时间与日期没有自动对应上。把不相关的程序暂时屏蔽,日历的子程序独立调试,发现在调用日历自动更新时,对十进制和十六进制处理不好,所以会造成错乱。最后把相应的十进制进行修改,使得可以与十六进制对应,最后解决了此问题。 (3)加入温度的程序后,温度显示部分只显示DS18B20的初始值85.0。 解决:由于DS18B20是串行通信数据,只用一个口线传输,在处理采集的模拟信号时需要一定的时间,当把万年历的程序相接入时

20、,会对延时有很大的影响。所以在调用温度子程序时,先关闭定时器1中断允许,在温度子程序返回时再打开定时器1中断允许。最终解决了此问题。4.2 调试小结经过多次反复的测试与分析,对电路的原理及功能更加熟悉,同时提高了电路设计能力以及对电路分析能力.尤其在软件的编程方面得到进一步提高,对编程能力得到加强.最重要的是所学的理论知识得到了很大的提高与巩固。4.3 万年历部分成品图片图4.2 万年历实物图片总结本文的电子万年历系统以单片机AT89S52为基础,加以外围电路。利用时钟芯片DS12C887作为时钟计时电路,做到计时准确无误;数字传感器DS18B20作为温度采样系统,采集处理温度:点阵式LCD1

21、2864作为信息显示屏,工作稳定,字符清晰,字体美观,亮度适中。三个月的毕业设计,在老师的指导下已经顺利结束了。通过对本课题的研究和设计,从中了解到进行一项工程设计的大体过程,了解了如何根据项目的指标要求,分析实现设计方案,并且优选,了解如何通过硬件、软件设计实现这一方案。在设计的过程中,我学到了好多在书本里没有的知识,知道了接手一个新项目时应该如何去考虑它,采取什么样的方法,如何去确定,如何去取舍。我不仅较好的完成了毕业设计的任务要求,而且积累了一些实践经验,具有一定的实用价值。在实践过程中,发觉自己过去所学在实际应用中还是远远不够的,且有时软件的理论设计是可行的,但在客观实践中往往会出现人

22、为干扰等一系列不可预知的问题。但通过自己不断的查阅资料和询问老师和同学,并不断实践,这样,理论与实际就很好的联系起来,最终克服了困难。这点我感受颇深。最后,这次设计可以说是对自己在大学四年中所学知识的一次总结和检验,所学的东西基本上用到了,从而才觉得原来所学的每门功课都是有联系的,在实际设计与操作中增加了新知识。但是因此也让自己了解到自己的一些薄弱环节,这就促使我必须弥补它们。这对以后的工作学习,也是很有益处的。总之,这次设计让我受益匪浅,我将在今后的工作学习中继续发扬努力进取的精神,使自己的知识储备和实践能力得到更大的提高!致 谢在毕业设计即将完成之际,我向曾经给于我帮助和支持的人表示衷心的感谢!感谢我的母校陕西理工学院,给我提供了这么好的学习和生活环境,在学校学习和生活的日子是我一生中一段难忘的经历!感谢我的导师张立众老师。本次毕业设计是在张立众老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。张老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1