- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
; 电子日历时钟asm.doc
; 电子日历时钟.asm
; (Electronic Calendar and Clock)
; Reference for Grade 2005, s.c.u.t.
; Author: YUJIAN.XU
; Revision: version 2.0 2007/12/01
; Update : 2007/12/10
; Limitations:None
; 开关Key0(for shift/adjust即调整/时间,日期显示模式/秒表控制键)connected to INT0
; 开关Key1(for un-flash/flash即功能选择键) connected to INT1
; 开关Key2:休眠唤醒键 connected to P2.6
; 开关Key3:闹钟开关键 connected to P2.7
; 开关Key4: 系统复位键,所有数值清零,初始值从07年12月01日12:00:00开始显示
;变量定义
;SLEEP_UP EQU 38H ;休眠计时器
TICK_CNT EQU 20H ;T0溢出计数器
FLASH_FLAG EQU 27H ;00h不选择修改,01h-03h分别为DATE的年,月,日闪烁,
;04h-06h分别为time的时,分,秒闪烁,07h-09h分别为bell的时,分,mode闪烁
;时间
SECOND_BCD EQU 21H
MINUTE_BCD EQU 22H
HOUR_BCD EQU 23H
;闹钟
A_SEC_BCD EQU 34H
A_MIN_BCD EQU 35H
A_HOUR_BCD EQU 36H
;日期
DAY_BCD EQU 24H
MONTH_BCD EQU 25H
YEAR_BCD EQU 26H
;秒表
WATCH_FLAG EQU 30H
S_PER_SEC_BCD EQU 31H ;秒表百分之一秒
S_SEC_BCD EQU 32H
MIN_BCD EQU 33H
;LED系统功能状态标记
CLOCK_LED EQU P2.0
ALARM_LED EQU P2.1
WATCH_LED EQU P2.2
DATA_LED EQU P2.3
TIME_LED EQU P2.4
;中断向量表
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP ADJUST0 ;外部中断0
ORG 000BH
LJMP TIMEUP ;定时/计数器T0中断
ORG 0013H
LJMP ADJUST1 ;外部中断1
ORG 001BH
LJMP T1_INT ;定时/计数器T1中断
ORG 0030H
MAIN: NOP ;主程序
MOV SP,#60H ;设置堆栈指针
;初始化变量
MOV P2,#0FFH
;显示的时间:
MOV SECOND_BCD, #00H ; 秒BOD码
MOV MINUTE_BCD, #00H ; 分BCD码
MOV HOUR_BCD, #12H ; 时BOD码
;显示的日期:
MOV DAY_BCD, #01H ; 天BCD码
MOV MONTH_BCD,#12H ; 月BCD码
MOV YEAR_BCD, #07H ; 年BCD码
;秒表
MOV S_PER_SEC_BCD,#00H ; 百分秒
MOV S_SEC_BCD, #00H ; 秒
MOV MIN_BCD, #00H ; ;秒表清零
MOV WATCH_FLAG, #00H ; 秒表开始/停止标志
;闹钟
MOV A_SEC_BCD,#00H
MOV A_MIN_BCD,#00H
MOV A_HOUR_BCD,#00H
MOV FLASH_FLAG,#00H ;闪烁标志
MOV R7,#00H ;时间/日期转换标志
MOV TL0,#0B0H ;装T0的时间常数
MOV TH0,#3CH ;T0一次中断时间为0.05秒
MOV TL1,#0F0H ;装T1的时间常数
MOV TH1,#0D8H
; MOV SLEEP_UP,#00H
MOV TICK_CNT,#14H ;T0循环计时次数20次(F=12Mhz)
MOV TMOD,#11H ;T0初始化:方式1,计数位16位
CLR
文档评论(0)