《数字万年历课程设计.pdf》由会员分享,可在线阅读,更多相关《数字万年历课程设计.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、百度文库-好好学习,天天向上数字万年历数字万年历课程设计报告课程设计报告专专业:业:自自 动动 化化班班级:级:*姓姓名:名:*指导老师:指导老师:*二二 零零 一一 一一 年年 六六 月月摘摘要要-1百度文库-好好学习,天天向上在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都被时间影响着,我们必须对时间有个度量,因此设计万年历来记录时间,本设计采用 AT89C51和 DS1302 实时时钟芯片进行万年历电路设计和软件设计,该万年历能实现能够实现年、月、日、时、分的显示,也可以人为校正时间,初始时间:2000 01 01。本次设计以 12MHZ 晶振与 AT89C51 相
2、连,通过编程实现以 24 小时为一周期,利用单片机的定时器和计数器产生定时效果,通过编程产生数字时钟效果,然后用数码管动态扫描显示内部处理的数据。通过端口读入当前外部控制状态来改变程序的不同状态从而实现不同功能。本次万年历设计以单片机为核心软硬件结合,使硬件部分大为简化,也提高了系统的稳定性。关键词:万年历关键词:万年历单片机单片机DS1302DS1302一、一、方案的确定方案的确定3 3-2目目录录百度文库-好好学习,天天向上单片机芯片的选择方案单片机芯片的选择方案3 3显示方案显示方案3 3时钟芯片的选择方案时钟芯片的选择方案5 5二、系统的硬件设计与实现二、系统的硬件设计与实现6 6电路
3、设计框图电路设计框图6 6主要单元电路的设计主要单元电路的设计7 7单片机主控制模块的设计单片机主控制模块的设计7 7时钟电路模块的设计时钟电路模块的设计8 8三、系统的软件设计三、系统的软件设计9 9程序流程框图程序流程框图9 9电子时钟计算程序图电子时钟计算程序图1010调整流程图调整流程图1111程序设计程序设计1212四、致谢词四、致谢词1515参考文献参考文献1515附录附录:proteusproteus 仿真图仿真图1616一方案的确定一方案的确定单片机芯片的选择方案单片机芯片的选择方案方案方案 1 1:采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB
4、 ROM 存-3百度文库-好好学习,天天向上储空间,能于 3V 的超低压工作,而且与 MCS-51 系列单片机完全兼容,实验室学生用的较多的也较为熟悉的处理单元。方案方案 2 2:采用 AT89S52,片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与 MCS-51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间,同样具有 89C51 的功能,但 AT89S52 性价比不高。所以选择采用 89C51 作为主控制系统。显示方案显示方案方案一:方案一:硬件方案硬件方案:采用 51 单片机作为控制单元,显示器采用 6 位 LED 数码管(共阳),可分别显示时间
5、或日期;(通过 KB 键可切换),显示器的驱动采用动态扫描电路形式。所需的驱动电流比静态驱动时要大,因此要增加驱动电路。可采用 74LS244或者晶体管;其中 74ls244 是用来驱动段选码,晶体管是驱动位选码。软件方案软件方案:“时钟”基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到“秒”,且不宜太长或太短,最长不能超过 16 位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。一般来说,基准时间越短,越有利于提高时钟运行的精确度。本实验定时 5ms 乘以一个整数 200 得到 1秒,用一个计数器(R4)对定时中断的次数进行计数,从而可以实现“秒”定时,同理可以
6、实现“分”定时和“时”定时,甚至于“日”、“月”、“年”定时。设计电路图如下图所示:-4百度文库-好好学习,天天向上方案二方案二:硬件方案硬件方案:同样采用 51 单片机作为核心控制单元,采用 7SEG-MPX6 对时间进行显示,同时为了节省 I/O 口线采用 MAX7221,软件方案软件方案:由于此方案也是采用 51 单片机作为控制单元,软件方案同方案一。方案二设计的电路图如下图所示:-5百度文库-好好学习,天天向上C130pFX2C230pF19CRYSTALBAT1+518U1XTAL1XTAL23V29RSTPSENALEEAAD0AD1AD2AD3AD4AD5AD6AD7X1CRYS
7、TAL3U2X1VCC1VCC281X2RSTSCLKI/O576DS1302R4R2R329303112345678AT89C51A8A9A10A11A12A13A14A15RXDTXDINT0INT1T0T1WRRD393837363534333221222324252627281011121314151617460315721122211212311U31021673158A B C D E F G PD01234567G G G G G G G GIDIDIIIIID DDID D DMAX7221NSKLID C CTT UE OSDI84125+R110k+5从电路图可以看出显示方
8、案二比方案一要简单得多,看起来直观,硬件连接也相对容易,出错的几率也小得多。因此采用方案二作为显示模块。时钟芯片的选择方案时钟芯片的选择方案方案一方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二方案二:采用 DS1302 时钟芯片实现时钟,DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM 做为数据暂存区,工作电压范围内,时耗电小于 300nA。二系统的硬件设计与实现二系统的硬件设计与实现
9、电路设计框图:电路设计框图:-6晶振模块晶振模块百度文库-好好学习,天天向上显示模块显示模块主要单元电路的设计主要单元电路的设计单单片片89C5189C51主主控模块控模块机机 主主 控控MCS-51制模块的设计制模块的设计单片机共有4个8位的I/O线都能独立地作输出或输时钟模块时钟模块口(P0、P1、P2、P3),每一条 I/O入。单片机的最小系统如下图所示,U1C14n71819XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12
10、P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617XTAL29RSTC34n7293031PSENALEEAR110kX1CRYSTALC2R210k4n712345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51时钟电路模块的设计时钟电路模块的设计下图为 DS1302 的引脚排列,其中 Vcc1 为后备电源,Vcc2 为主电源。在主电源关闭的
11、情况下,也能保持时钟的连续运行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。X1 和 X2 是振荡源,外接 32.KHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RSTS 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电动行时,在 Vcc 大于等于之前,RST 必须保持低电平。中有在 S
12、CLK 为低电平时,才能将 RST 置为高电平,I/O为串行数据输入端(双向)。SCLK 始终是输入端。-7百度文库-好好学习,天天向上三、系统的软件设计三、系统的软件设计程序流程框图程序流程框图电子时钟计算程序图电子时钟计算程序图-8百度文库-好好学习,天天向上调整流程图调整流程图程序设计程序设计根据流程图的思路采用汇编语言编写程序,程序代码如下:DSRST BITDSCLK BITDSIO BITDIN BIT-9百度文库-好好学习,天天向上CS BITCLK BITD158 EQU 30HD70 EQU 31HADDRESS EQU 32hCONTENT EQU 33hCOMMAND E
13、QU 34hSECOND equ 35hMINITE equ 36hHOUR equ 37hORG 0000HLJMP MAINORG 0030HMAIN:LCALL INTI7221LCALL INTI1302LOOP:LCALL READ1302LCALL CONVERTLCALL DELAYLCALL DISPLAYLCALL DELAYSJMP LOOP;DS1302 初始化-10百度文库-好好学习,天天向上INTI1302:MOV ADDRESS,#8EHMOV CONTENT,#00HLCALL SENT_BYTEMOV ADDRESS,#90HMOV CONTENT,#0A7H;
14、慢充电寄存器LCALL SENT_BYTEREAD1302:MOV ADDRESS,#81hLCALL REV_BYTEMOV SECOND,AMOV ADDRESS,#83hLCALL REV_BYTEMOV MINITE,AMOV ADDRESS,#85hLCALL REV_BYTEMOV HOUR,ARETSENT_BYTE:CLR DSRSTCLR CNOPCLR DSCLKNOPSETB DSRSTMOV A,ADDRESSMOV R3,#2-11百度文库-好好学习,天天向上MOV R2,#8LOOP0:RRC AMOV DSIO,CSETB DSCLKNOPCLR DSCLKDJN
15、Z R2,LOOP0MOV A,CONTENTMOV R2,#8DJNZ R3,LOOP0CLR DSRSTRETREV_BYTE:PUSH 02HCLR DSRSTCLR CCLR DSCLKNOPSETB DSRSTMOV A,ADDRESSMOV R2,#8RDDS0:RRC AMOV DSIO,CSETB DSCLKNOP-12百度文库-好好学习,天天向上CLR DSCLKDJNZ R2,RDDS0CLR AMOV R2,#8RDDS1:MOV C,DSIORRC ASETB DSCLKNOPCLR DSCLKDJNZ R2,RDDS1CLR DSRSTPOP 02HRETCONVER
16、T:mov a,houranl a,#0f0hswap amov 40h,amov a,houranl a,#0fhmov 41h,amov a,miniteanl a,#0f0hswap amov 42h,a-13百度文库-好好学习,天天向上mov a,miniteanl a,#0fhmov 43h,amov a,secondanl a,#0f0hswap amov 44h,amov a,secondanl a,#0fhmov 45h,aretINTI7221:MOV D158,#09HMOV D70,#0FFHLCALL WRITEMOV D158,#0AHMOV D70,#0EHLCAL
17、L WRITEMOV D158,#0BHMOV D70,#05HLCALL WRITEMOV D158,#0CHMOV D70,#01HLCALL WRITEMOV D158,#0FH-14百度文库-好好学习,天天向上MOV D70,#00HLCALL WRITERETDISPLAY:MOV R6,#6MOV R5,#0mov R0,#40hDIGIT:MOV A,R5MOV DPTR,#TAB1MOVC A,A+DPTRMOV D158,AMOV D70,R0INC R0LCALL WRITEINC R5DJNZ R6,DIGITRETORG 0250HWRITE:CLR CSMOV A,D
18、158MOV R3,#2LOOP00:MOV R2,#8LOOP11:CLR CLKRLC AMOV DIN,C-15百度文库-好好学习,天天向上SETB CLKDJNZ R2,LOOP11MOV A,D70DJNZ R3,LOOP00SETB CSRETTAB1:DB 01H,02H,03H,04H,05H,06HTAB2:DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H;time:1ms;12MHzDELAY:MOV R7,#200DEL0:MOV R6,#243DJNZ R6,$DJNZ R7,DEL0RETEND致谢词致谢词感谢学院给我们提供了一个展
19、现自己的舞台,给我们一次难得煅炼的机会,使得我们的动手能力和专业技能都有了很大的提高。在做作品的日子里得到了张晓虎老师的悉心指导,在此向我们的指导教师致以诚挚的谢意。感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我们对这次的作品完成有了信心和动力,也给了我们很多无私的帮助和支持,我们在此深表谢意。-16百度文库-好好学习,天天向上参考文献1刘勇 编 数字电路 电子工业出版社 20042陈正振 编 电子电路设计与制作 广西交通职业技术学院信息工程系 20073杨子文 编 单片机原理及应用 西安电子科技大学出版社 20064王法能 编 单片机原理及应用 科学出版社 2004附:附:proteusproteus 仿真图仿真图-17