电子万年历制作(汇编程序)(共7页).doc
《电子万年历制作(汇编程序)(共7页).doc》由会员分享,可在线阅读,更多相关《电子万年历制作(汇编程序)(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 ;*;*- -电子万年历制作-*;*-*;*-MCS-51汇编语言-*;*-*;*-CPU: AT89C51-*;-*;*-晶振:12MHz-*;*-* RTC EQU 0200H ;定义MC起始地址=秒地址LCDIR EQU 0100H ;指令寄存器地址LCDIR EQU 0500H ;数据寄存器地址RAM EQU 20H ;寄存器RAM 20HPTR EQU 28H ;年、月、日、时、分、秒位置的指针05 ORG 00H JMP START ORG 13H JMP EXT1 ;INT1中断子程序START: MOV SP,#60H ;设置堆栈 MOV RAM,#
2、01H ;LCD清除屏幕 CALL PUTIR CALL DRLAY1 ;2ms MOV RAM,#38H ;LCD功能设定,8位,2行,显示, CALL PUTIR MOV PTR,#0FH ;设定显示屏幕,光标ON,光标闪烁 CALL PUTIR MOV RAM,#6H ;加1, 光标向右移 CALL PUTIR MOV PTR,#00 ; 位置指针为0,即停在”年”位置MOV IE,#84H ;TIMER1 INT1中断使能MOV DPTR,#RTC+0AH ;A寄存器32,768kHz DV2=0 DV1=1 DV0=0 MOV A ,#20HMOVX DPTR, AMOV DPTR
3、,#RTC+0BH ;B寄存器SET=1更新周期停止,进行时钟设定MOV A,#80HMOVX DPTR,AMOV DPTR,#RTC+0EH ;读取RTC OE 地址内容判断是否为3?MOVX A,DPTRCJNE A,#01H,START0JMP START1START0: ; 不是则写入内定时间2008年1月1日12:00:00 MOV RAM,#80H ; 设定光标停在第一行第一格 CALL PUTIR MOV DPTR,#RTC ; 秒地址写入00秒 MOV A,#00H ;;00秒 MOVX DPTR,A MOV DPTR,#RTC+2;分地址写入00分 MOV A,#00H ;0
4、0分 MOVX DPTR,A MOV DPTR,#RTC+4 ;时地址写入12时 MOV A,#12H ;12时 MOVX DPTR,A MOV DPTR,#RTC+7 ;日地址写入1日 MOV A,#01H ;1日 MOVX DPTR,A MOV DPTR,#RTC+8 ;月地址写入1月 MOV A,#01H ;1月 MOVX DPTR,A MOV DPTR,#RTC+9 ; 年地址写入08年 MOV A,#08H ;08年 MOVX DPTR,A MOV DPTR,#RTC+0EH ;RTC OE 地址写入1,表示内部已有;时间值的识别码, MOV A,#01H MOVX DPTR,A M
5、OV DPTR,#TAB ;LCD显示内定日期时间 CALL PUTSTR JMP START2START1: ;是1表示RTC内已有时间 MOV RAM,#80H ;设定光标停在第一行第一格 CALL PUTIR MOV DPTR,#TAB1 ;LCD显示”19 : :” CALL PUTSTRSTART2: MOV RMA,#82H ;光标停在”年”位置 CALL PUTIR MOV DPTR,#RTC+0BH ;B寄存器UIE=1 RTC中断使能开始计时,(十进制,24小时制) MOV A,#12H MOVX DPTR,A LOOP: JNB P1,0,CUR0 ;是否按P1.0?是则光
6、标位置加1 JNB P1,1,INC0 ;是否按P1,1?是则光标所在位置的值加1 JNB P1,2,DEC0 ;是否按,P1,2?是则光标所在位置的值减1 JMP LOOPCUR0: JMP CUR1 ;间接跳跃INC0: JMP INC1 ;间接跳跃DEC0: SJMP DEC ;间接跳跃CUR1: CALL DELAY ; 按钮清除抖动 JNB P1.0,S ;检测按钮是否放开? CALL DELAY ; 按钮清除抖动 INC PTR MOV A,PTR ;读取位置指针 CJNE A,#06H,CUR10 ;是否超过”秒”位置? 第6个位置 MOV PTR,#00HCUR10: MOV
7、DPTR,#CUR ;指向LCD位置表(年、月、日、时、分、秒所在的光标地址) MOVC A,A+DPTR ;依位置指针读取对应的光标地址来设定 MOV RAM,A ;设定LCD光标地址 CALL PUTIR JMP LOOPINC1: CALL DELAY ;按钮清除抖动 JNB P1.1,S ;检测按钮是否放开? CALL DELAY ;按钮清除抖动 MOV DPTR,#RTC+OBH ;B寄存器SET=1更新周期停止,进行时钟设定 MOV A,#80H MOVX #DPTR.A MOV DPTR.#TIM ;依位置指针读取该RTC地址存入RAM 20H MOV A,PTR MOVC A,
8、A+DPTR MOV RAM,A MOV DPTR,#MAX ; 依位置指针取该时间最大值存入RAM 21H MOV A,PTR MOVC A,A+DPTR MOV RAM+1.A MOV DPTR.#MIN ;依位置指针取该时间最小值存入RAM 22H MOV A,PTR MOVC A,A+DPTR MOV RAM+2,A MOV DPTR,#RTC ; 读取(#RTC+RAM)地址的内容 MOV DPL.RAM MOVX A,DPTR CJNE A,RAM+1,INC10 ;是否=最大值?不是则跳至INC 10 MOV A.RAM+2 ;是则存入最小值 JMP INC11 INC10: A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 万年历 制作 汇编程序
限制150内