单片机实验电子日历

上传人:m**** 文档编号:512536940 上传时间:2023-09-26 格式:DOC 页数:23 大小:1.15MB
返回 下载 相关 举报
单片机实验电子日历_第1页
第1页 / 共23页
单片机实验电子日历_第2页
第2页 / 共23页
单片机实验电子日历_第3页
第3页 / 共23页
单片机实验电子日历_第4页
第4页 / 共23页
单片机实验电子日历_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《单片机实验电子日历》由会员分享,可在线阅读,更多相关《单片机实验电子日历(23页珍藏版)》请在金锄头文库上搜索。

1、一实验目的:课程标志性内容的设计理解和综合运用,鼓励独立性设计和功能扩展的创新实 践。二功能要求:1. 基本性要求(1) 显示北京时间;(2) 能够校准时间;(3) 使用汇编语言;(4) 时、分、秒之间以及年、月、日间以小数点分隔;2 发挥性要求1) 显示公历日期2) 能够校准日期3) 运动秒表4) 闹钟功能方案考虑:1硬件方案(1) 采用6位LED数码管显示日期或者时间。( 2)显示器的驱动可采用 “动态扫描驱动”的方式,用一片 74LS244 驱动。(3)用两个键盘实现时间和日期的调整。( 4)用六个 8550三极管驱动数码管2软件方案(1)“时钟”基准时间由单片机内部的定时中断提供,定时

2、时间是“秒”的整除数,设为 50ms。(2) 用一个计数器对定时中断的次数进行计数,可实现“秒”定时,同理可以进 行“分”、“时”定时,以及“日”、“月”、“年”定时。(3) 动态扫描显示方式在更新显示内容时,因 LED 数码管余辉的存在可能会造成 显示字符的模糊,新内容写入显示器之前将所有的 LED 数码管熄灭。( 4)关于自动识别“月大、月小”和“平年、润年”问题的考虑a) 月大和月小 2月另外计算;4月、 6月、 9月、 11 月为月小 30天,其余为月大 31 天。b) 平年和润年 年号能被 4 整除的就是润年) 平年的 2月为 28天;润年的 2月为 29天。四.程序流程图主程序流程

3、图定时器TO中断子程序显示子程序外部中断1子程序外部中断1外部中断0子程序五.电路原理图目E Qijrf 二,Llz一Hl-Ill IHI/一-rl!JlJ lK!二lJlEi._.3OSM_.SLK 占耳Mzl 二r; - r p_:Er电路原理图KI迥1JXJ)1llddIVI F-OYnd -3. 孟ovg noy 再 E 一号wdjn元件清单:AT89S521 片74LS2441个7段共阳数码管6个12M晶振1 个矩阵键盘按钮3个PNP8550 6 个电阻10K 2 个3K 6 个3300 8 个瓷片电容30pF 2个电解电容10uF 1个6针排针 1 个系统的使用和操作说明用K1调节

4、调整标志位,K0调节时间日期切换和时间日期修改,K2复位六、课程设计总结通过这次课程设计,我们学到了很多书本上学不到的东西,也深刻的认识到自己对知 识的掌握和运用还远远不足,这次课程设计也锻炼了我们独立思考问题的能力以及如何去 检测解决问题,提高了我们的实际动手能力,积累了一些做课程设计的经验。一周的课程 设计,也起到了对所学知识的综合提高的作用,让我们对所学知识不仅仅是感性上的认 识,对我们今后的学习起到启发作用。附:源代码TICK_CNTEQU40HSECONDEQU41HMINUTEEQU42HHOUR EQU43HDAYEQU44HMONTHEQU45HYEAR EQU 46HYUSH

5、U EQU 47H。T0溢出计数器。存储数据用真值,未用BCD码FLASH_FLAGEQU 27H。R7: 0 时间;1日期。中断向里表ORG0000HLJMPMAINORG0003HLJMPEX0_INTORG000BHLJMPT0_INTORG0013HLJMPEX1 INT。主程序。存放余数。时间日期调整标志ORG 0030HMAIN:NOP 。初始化堆栈MOV SP,#60HCJNE A ,#59,IN5AJMP IN6。初始化变量MOVSECOND,#0MOVMINUTE,#0MOVHOUR,#0MOVDAY,#21MOVMONTH,#1MOVYEAR,#96MOVFLASH_FLA

6、G ,#00HMOVR7,#00H。MOVTL0,#0B0H 。定时 50msMOVTH0,#3CHMOVTICK_CNT,#20 。装计数初值 1s 计数器)MOVTMOD,#01HSETBET0SETBEX0SETBEX1SETBEA 。开中断SETBPX0SETBPX1 。设置中断优先级SETBTR0 。启动定时器 T0LOPP:LCALLDISPLAY 。调用显示子程序LJMP LOPPT0_INT:MOV TL0,#0B0HTH0,#3CH 。 重装载MOVDJNZAJMPTICK_CNT,NOT_1SIS_1S。1 秒到?NOT_1S:LJMP T0_RET。 1 秒时间到IS_1

7、S: PUSH ACCMOVA,SECONDCJNE A,#59,IN3 。59s 到?AJMP IN4IN3: LJMPSECOND_INC 。秒加 1IN4: MOVSECOND,#0 。 秒进位MOVA,MINUTE定时器 0 中断59 分到?IN5:LJMPMINUTE_INCIN6:MOVMINUTE,#0。 分进位MOVA,HOURCJNEA,#23,HOUR_INC。 23h 到?MOVHOUR,#0。 “时”进位MOVA,MONTHCJNEA,#2,NOT_FEB。 是否二月?。2 月处理。 FEB:NOPACALL DIV4MOV A,YUSHUCJNEA,#0,NOT_LE

8、AP_Y。是否闰年?LEAP_Y:MOVA,DAY。闰年CJNEA,#29,DAY_INCMOVDAY ,#1MOVMONTH,#3LJMPRESET_CNT。非闰年NOT_LEAP_Y:MOVA,DAYCJNEA,#28,DAY_INC 。MOVDAY ,#1MOVMONTH,#3LJMPRESET_CNT。非 2 月处理。 30/31 天?NOT_FEB:NOPCJNE A,#4,Y01AJMP MON_30DY01: CJNE A,#6,Y02 。是否小月?AJMP MON_30DY02:CJNE A,#9,Y03AJMP MON_30DY03:CJNE A,#11,T11AJMP MO

9、N_30D。 31 天T11: MOV A,DAY 。大月CJNE A,#31,DAY_INCAJMP NEXT_MONTH。 30 天MON_30D:MOV A,DAY 。小月CJNE A,#30,DAY_INC。天进位NEXT_MONTH: MOV DAY ,#1MOV A,MONTHCJNE A,#12,MONTH_INC 。 月进位MOVMONTH,#1MOVA,YEARCJNEA,#99,YEAR_INCMOVYEAR,#0AJMPRESET_CNT。年加1YEAR_INC:MOVA,YEARINC AMOV YEAR,AAJMP RESET_CNTMONTH_INC:MOVA,MO

10、NTHINCAMOVMONTH,AAJMPRESET_CNTDAY_INC:MOVA,DAYINC AMOV DAY,AAJMP RESET_CNT HOUR_INC:MOV A,HOUR INC AMOVAJMPHOUR,ARESET_CNTMINUTE_INC:MOVA,MINUTEINC AMOVMINUTE,AAJMPRESET_CNTSECOND_INC:MOVA,SECONDINC AMOVSECOND,ARESET_CNT: POP ACCMOV TICK_CNT,#20T0_RET: RETI。 sub: LED Display。显示子程序DISPLAY:MOV DPTR,#T

11、AB1 。装段选表MOV A,R7 。CJNE A,#00H,DISP_DA TE。 显示时间?DISP_TIME: MOV R0,#SECOND。AJMP TSA。显示日期。取十位。存段选。取个位。存段选DISP_DATE: MOV R0,#DAY。显示时间或日期TSA: MOV A,R0MOV B,#10DIV ABMOVC A,A+DPTRMOV R2,AMOV A,BMOVC A,A+DPTRMOV R1,AINC R0MOV DPTR,#TAB1MOV A,R0MOV B,#10DIV ABMOVC A,A+DPTRMOV R4,AMOV DPTR,#TAB2MOV A,BMOVC A,A+DPTRMOV R3,AINC R0MOV DPTR,#TAB1MOV A,R0MOV B,#10DIV ABMOVC A,A+DPTRMOV R6,AMOV DPTR,#TAB2MOV A,BMO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号