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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机电子万年历程序设计.docx

1、单片机电子万年历程序设计单片机电子万年历程序设计摘要:电子万年历是一种非常广泛日常计时工具, 对现代社会越来越流行。 它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能, 而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、 分、秒和温度等信息,还具有时间校准等功能。该电路采用 AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用 35V电压供电。本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时 分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础 和外围扩展知识进

2、行了比较全面准备。 在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写, 算法如何实现等,没有一定的基础就不可能很好的实现。 在编写程序过程中发现 以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成 了程序部分的编写。万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由 AT89C52单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上本人使用 了 AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用 2片 7SEG-MPX8-C和一片 7SEG-MPX4-CA7SEG-MPX8

3、-C是一种八个共阳二极管显 示器,7SEG-MPX4-CA1 一种四个共阳二极管显示器。为了能更轻松的控制这三 片显示器,本人使用了 3片74HC164来驱动。74HC164是8位边沿触发式移位 寄存器,串行输入数据,然后并行输出。软件方面主要包括日历程序、时间调整 程序,公历转阴历程序,显示程序等。程序采用汇编语言编写,以便更简单地实 现调整时间及阴历显示功能。所有程序编写完成后,在 wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。最后总在老师同学 的帮助以及自己的努力下完成了此次电子万年历的设计。关键词:时钟电钟;DS1302 DS18B20动态扫描;单

4、片机AbstractE-cale ndar day time is a very wide range of tools, in creas in gly popular in moder n society. It can be year, mon th, day, Sun day, hours, minu tes, sec onds for time, but also has a leap year compe nsati on to a variety of functions, and the DS1302s long life, small error. For the digit

5、al electr onic cale ndar using an in tuitive digital display can simulta neously display year, mon th, day, Sun day, hours, minu tes, sec onds, and temperature and other information, but also a time-calibration and otherfunctions. The circuit uses AT89S52microcontroller as the core, power consumptio

6、n,low-voltage work in 3V, the voltage can choose 3 5V voltage supply.The desig n is based on 51 series of microc on trollers to the desig n of electro nic cale ndar, you can display date in formati on on whe nthe minu tes and sec on ds, and weeks, with adjustable date and time functions. At the same

7、 time in the desig n of the theoretical basis of the MCU and peripheral expa nsion of kno wledge of the more comprehensive preparation. The hardware and software design, there is no good basicknowledge and practical experienee will be greatly limited, each feature is requiredto achieve the ki nd of

8、hardware, procedures, how to write, how to impleme nt such algorithms, there is no certai n foun dati on can not be good impleme ntati on. Found during the preparation process to the existing knowledge to complete the preparation of the task alone difficult,In the help of teachers and students to co

9、mplete the program part of the preparation. Cale ndar of the desig n process in hardware and software to synchronize the desig n.Hardware mainly by the AT89C52 microc on troller, LED display circuit, and the tune composed of the circuit whe n the butt on .In the SCM choice I used the AT89C52 microco

10、ntroller, which is suitable for manyof the more complex control applications.Mo nitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total of eight-ya ng diode display, 7SEG-MPX4-CA is a total of four-ya ng diode display. In order to more easily con trol the three mon itors, I use

11、 three 74HC164 to drive.74HC164is an 8-bit edge-triggered shift register, serial in put data, and parallel output. The software includes calendar program, time to adjust procedures, turn the lunar cale ndar programs, display programs. Programs writte n in assembly Ian guage used in order to more eas

12、ily adjust the time and the realization of the lunar calendar display. All program ming is complete, the wave software debuggi ng, make sure that no problems, in the Proteus software within a microc on troller embedded in the simulati on. The final overall the teacher to help stude nts, as well as t

13、heir own efforts to complete the desig n of the electr onic cale ndar.Keywords:Clock electric clock: DS1302 DS18B20:Dynamic scan:sem一、 设计要求与方案论证 ,1 1 设计要求1.2系统基本方案选择和论证1.2.11.2.21.2.31.2.4单片机芯片的选择方案和论证 显示模块选择方案和论证 : 时钟芯片的选择方案和论证 温度传感器的选择方案与论证2.系统的硬件设计与实现2.1电路设计框图,2.2系统硬件概述, 2.3主要单元电路的设计2.3.12.3.22.3

14、.32.3.42.3.5单片机主控制模块的设计 ” 时钟电路模块的设计 ,, 温度采集模块设计,, 电路原理及说明,, 显示模块的设计,,、系统的软件设计,,3.1程序流程框图,,3.2子程序的设计,,3.2.1DS18B20 温度子程序,,3.2.2读、写 DS1302子程序, 四.4.14.24.3指标测,”,,”,” 测试仪器,”,”, 硬件测试, 软件测试,4. 4测试结果分析与结论,4.4.1测试结果分析,4.4.2测试结论, 五 作品总结士* - I L 口 I-1 丿 Hi、口 jjjjjjjjjjjjjjjjjjjjjjjjjj /、致谢!词, 参考文献 附录一: 附录二: 附

15、录三:系统电路图,,” 系统程序清单, 系统使用说明书,7899991011111111121212121213141540一、设计要求与方案论证1.1 设计要求:(1)基本要求1具有年、月、日、星期、时、分、秒等功能;2时间与阴、阳历能够自动关联;3具有温度计功能;4具备年、月、日、星期、时、分、秒校准功能; (2 ) 创新要求1具有上、下课响铃功能;2具有防御报警功能;1.2系统基本方案选择和论证1.2.1单片机芯片的选择方案和论证: 万案一:采用89C51芯片作为硬件核心,采用 Flash ROM内部具有4KB ROM存储空间,能于3V的超 低压工作,而且与MCS-51系列单片机完全兼容

16、,但是运用于电路设计中时由于不具备 ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程 序时,对芯片的多次拔插会对芯片造成一定的损坏。采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与 MCS-51系列单片机完全该芯片内部存储器为 8KB ROM存储空间,同样具有 89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需 要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用AT89S52作为主控制系统.1.2.2显示模块选择方案和论证: 方案一:采用L

17、ED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样, 清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用 LED液晶显示屏.万案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文 字比较适合,如采用在显示数字显得太浪费 ,且价格也相对较高,所以也不用此种作为显示采用LED数码管动态扫描 丄ED数码管价格适中,对于显示数字最合适,而且采用动态扫 描法与单片机连接时,占用的单片机口线少。所以采用了 LED数码管作为显示。1.2.3时钟芯片的选择方案和论证:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒 计数。

18、采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不 采用此方案。采用DS1302时钟芯片实现时钟, DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高 ,位的RAM故为数据暂存区,工作电压 2.5V5.5V范围内,2.5V时耗电小于 300nA.1 .2.4温度传感器的选择方案与论证使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,禾U用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格

19、线性的, 会产生较大的测量误差。采用数字式温度传感器 DS18B20 ,此类传感器为数字式传感器而且仅需要一条数据线进 行数据传输,易于与单片机连接,可以去除 A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。1.3电路设计最终方案决定综上各方案所述,对此次作品的方案选定:采用AT89S52作为主控制系统;DS1302提供 时钟;数字式温度传感器;LED数码管动态扫描作为显示。2.系统的硬件设计与实现2.1电路设计框图2.2系统硬件概述本电路是由AT89S52单片机为控制核心, 具有在线编程功能, 低功耗,能在3V超低压工 作;时钟电路由 DS1

20、302提供,它是一种高性能、低功耗、带 RAM勺实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与 CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM数据。DS1302内部有一个31*8的用于临时性存放数据的 RAM寄存器。可产生年、月、日、 周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点, 同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由2 1个数码管, 74IS138、74ls47译码器构成。使用动态扫描显示方式对数字的显示。2.3主要单元电路的设计2.3.1单片机主控

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

22、的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关 闭的情况下,也能保持时钟的连续运行。 DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2 大于 VCC1+0.2V 时,Vcc2 给 DS1302供电。当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。 X1和X2是振荡源,外接 32. 7 6 8 KHz晶振。RST是复位/片选线,通过把 RST输入驱动置 高电平来启动所有的数据传送。 RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次, RST提供终止单字节或多字节数据的传送手段。当 RST为高电平时,所有的数

23、据传送被初始化,允许对 DS1302进行操作。如果在传送过程中 RSTS置为低电平,则会终止此次数据传送, I/O引脚变为高阻态。上电动行时,在 Vcc大于等于2.5V之前,RST必须保持低电平。中有在 SCLK为低电平时,才能将 RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。图-2 DS1302的引脚图2.3.3温度采集模块设计如图-3所示。采用数字式温度传感器 DS18B20 ,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P 0.7与DS18B20的I/O 口连接加一个上拉电阻,Vcc接电源,Vss接地。VC

24、CPO.T rVCCI/OVSS DS18B20图-3 DS18B20温度采集2.3.4 电路原理及说明(1)时钟芯片DS1302的工作原理:DS1302 在每次进行读、写程序前都必须初始化,先把 SCLK端置 “ 0”,接着把RST端置“1”最后才给予 SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控 制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读 /写时RAM=1对时间进行读/写时,CK=0位1至位5指操作单元的地址。位 0是读/写操 作位,进行读操作时,该位为 1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输

25、出的。表6为DS1302的日历、时间寄存器内容:“CH是时钟暂停标志位,当 该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“ WP是写保护位,在任何的对时钟和 RAM勺写操作之前, WP必须为0。当“WP为1时,写保护位防止对任一寄存器的写操作。DS1302的控制字节DS1302的控制字如表-1所示。控制字节的高有效位 (位7)必须是逻辑1 ,如果它为0, 则不能把数据写入 DS1302中,位6如果0,则表示存取日历时钟数据, 为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位 0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是

26、从最低位开始输出图-4 DS1302 读/写时序图DS1302的寄存器DS1302有12个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为 BCD码形式,其日历、时间寄存器及其控制字见表 -2。写奇存器d读寄存器审Bit7Bit6rBits*1Bit4vBitPBit 2BitOipSI HP10 杪Q杪a10牛如8 斗 Ela的氐12/禹 a2时2g1 U日a曰卡22g月-:月J沁m0-T0“3呈期JSCH-PSHHp1 0 手 J年JWP*32g表-2 DS1302的日历、时间寄存器此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器

27、等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个 RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为 COHFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM寄存器,此方式下可一次性读写所有的 RAM的31个字节,命令控制字为FEH(写卜FFH(读)。2.3.5显示模块的设计如图5所示,采用动态扫描显示,由2 1个数码管, 3-8译码器74LS138接1K限流电 阻,再接8550三极管接到共阳数码管的 CoM端作为选通位码,每位选择相应的列。74IS47接 240Q限流电阻,再接共行的LED

28、数码管的断码。dC3.r 1mBBBEi2400IBilBBIMia*? VJird 1-LdrV dzIi iLdI10 4:JT (uLJLC9 mi*f. rtacEI塾&E1XXX图-5 LED动态扫描显示三、系统的软件设计3.1程序流程框图图-A主程序流程图图-B计算阳历程序流程图开始图-C时间调整程序流程图图-D阴历程序流程图3.2子程序的设计3.2.1 DS18B20温度子程序C0NFIG12 EQU 7FHDIV ABLCALL WRITE111TEMPH EQU 21HMOV A,BMOV A,#44HTEMPL EQU 20HMOV B,#0AHLCALL WRITE111

29、REG2 EQU 22HDIV ABLCALL DL1MSREG3 EQU 23HSWAP ALCALL RESETREG4 EQU 24HORL A,BMOV A,#0CCHDAT EQU P0.7MOV 10H,ALCALL WRITE111TOUTOU:RETMOV A,#0BEHLCALL CHUSHICHUSHI:LCALL WRITE111LCALL RDTEMPLCALL RESETLCALL ERAD111MOV A,TEMPLMOV A,#0CCHMOV TEMPL,AANL A,#11110000BLCALL WRITE111LCALL ERAD111MOV TEMPL,AMOV A,#4EHMOV TEMPH,AMOV A,TEMPHLCALL WRITE111RETANL A,#00000111BMOV A,#CONFIG12RESET:ORL A,TEMPLLCALL WRITE111LA:SWAP ARETSETB DATMOV 25H,ARDTEMP:MOV 52H,#200MOV A,25HLCALL RESETLB:MOV B,#64HMOV A,#0CCHCLR DAT

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

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