⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vectors08.lis

📁 可以显示年月日,时间等,也可以设置闹钟,设定时间
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 013A B602              lda *_data+2
 013C A900              adc #0
 013E B702              sta *_data+2
 0140           ;    if(data[1]!=13)goto isrTIMER1_exit; //月数增加未增加到12,转
 0140 5502              ldhx *_data+2
 0142 65000D            cphx #13
 0145 95                tsx
 0146 2702              beq L37
 0148 2010              bra L21
 014A           L37:
 014A           ;    data[1]=0;data[2]++;                 //月数增加到12,清0,年数加1
 014A 3F03              clr *_data+2+1
 014C 3F02              clr *_data+2
 014E B605              lda *_data+4+1
 0150 AB01              add #1
 0152 B705              sta *_data+4+1
 0154 B604              lda *_data+4
 0156 A900              adc #0
 0158 B704              sta *_data+4
 015A           L21:
 015A           ;    isrTIMER1_exit:	 
 015A           ;    //------------------------------
 015A           ;    //清除定时器溢出标志位
 015A           ;    T1SC&=~(1<<TOFBit);
 015A 1F20              bclr #7,0x20
 015C           ;    asm("CLI");            //开总中断
 015C 9A                CLI
 015D           L11:
 015D A701              ais #1
 015F                   .dbline 0 ; func end
 015F 86                pula
 0160 B700              sta *__rlo
 0162 86                pula
 0163 B700              sta *__rhi
 0165 86                pula
 0166 B700              sta *__r11
 0168 86                pula
 0169 B700              sta *__r10
 016B 86                pula
 016C B700              sta *__r9
 016E 86                pula
 016F B700              sta *__r8
 0171 86                pula
 0172 B700              sta *__r7
 0174 86                pula
 0175 B700              sta *__r6
 0177 86                pula
 0178 B700              sta *__r5
 017A 86                pula
 017B B700              sta *__r4
 017D 86                pula
 017E B700              sta *__r3
 0180 86                pula
 0181 B700              sta *__r2
 0183 86                pula
 0184 B700              sta *__r1
 0186 86                pula
 0187 B700              sta *__r0
 0189 8A                pulh
 018A 80                rti
 018B           _isrRe::
 018B 8B                pshh
 018C B600              lda *__r0
 018E 87                psha
 018F B600              lda *__r1
 0191 87                psha
 0192 B600              lda *__r2
 0194 87                psha
 0195 B600              lda *__r3
 0197 87                psha
 0198 B600              lda *__r4
 019A 87                psha
 019B B600              lda *__r5
 019D 87                psha
 019E B600              lda *__r6
 01A0 87                psha
 01A1 B600              lda *__r7
 01A3 87                psha
 01A4 B600              lda *__r8
 01A6 87                psha
 01A7 B600              lda *__r9
 01A9 87                psha
 01AA B600              lda *__r10
 01AC 87                psha
 01AD B600              lda *__r11
 01AF 87                psha
 01B0 B600              lda *__rhi
 01B2 87                psha
 01B3 B600              lda *__rlo
 01B5 87                psha
 01B6           ; }
 01B6           ; /*isrRe:接收中断处理函数-------------------------------*
 01B6           ; *功  能:接收3字节基准时分秒放入内存单元Time[0-2]       *
 01B6           ; *-----------------------------------------------------*/
 01B6           ; #pragma interrupt_handler isrRe  
 01B6           ; void isrRe(void) 
 01B6           ;   {
 01B6           ;       asm("SEI");            //禁止所有中断
 01B6 9B                SEI
 01B7           ;         //接收数据
 01B7           ;         SCIReN(3,time);
 01B7 450000            ldhx #_time
 01BA 89                pshx
 01BB 8B                pshh
 01BC A603              lda #3
 01BE 87                psha
 01BF CD0000            jsr _SCIReN
 01C2 A703              ais #3
 01C4 95                tsx
 01C5           ;         asm("CLI");        //开放总中断       
 01C5 9A                CLI
 01C6           L42:
 01C6                   .dbline 0 ; func end
 01C6 86                pula
 01C7 B700              sta *__rlo
 01C9 86                pula
 01CA B700              sta *__rhi
 01CC 86                pula
 01CD B700              sta *__r11
 01CF 86                pula
 01D0 B700              sta *__r10
 01D2 86                pula
 01D3 B700              sta *__r9
 01D5 86                pula
 01D6 B700              sta *__r8
 01D8 86                pula
 01D9 B700              sta *__r7
 01DB 86                pula
 01DC B700              sta *__r6
 01DE 86                pula
 01DF B700              sta *__r5
 01E1 86                pula
 01E2 B700              sta *__r4
 01E4 86                pula
 01E5 B700              sta *__r3
 01E7 86                pula
 01E8 B700              sta *__r2
 01EA 86                pula
 01EB B700              sta *__r1
 01ED 86                pula
 01EE B700              sta *__r0
 01F0 8A                pulh
 01F1 80                rti
 01F2           _isrKBI::
 01F2 8B                pshh
 01F3 B600              lda *__r0
 01F5 87                psha
 01F6 B600              lda *__r1
 01F8 87                psha
 01F9 B600              lda *__r2
 01FB 87                psha
 01FC B600              lda *__r3
 01FE 87                psha
 01FF B600              lda *__r4
 0201 87                psha
 0202 B600              lda *__r5
 0204 87                psha
 0205 B600              lda *__r6
 0207 87                psha
 0208 B600              lda *__r7
 020A 87                psha
 020B B600              lda *__r8
 020D 87                psha
 020E B600              lda *__r9
 0210 87                psha
 0211 B600              lda *__r10
 0213 87                psha
 0214 B600              lda *__r11
 0216 87                psha
 0217 B600              lda *__rhi
 0219 87                psha
 021A B600              lda *__rlo
 021C 87                psha
 021D           ;   }
 021D           ; /*键盘中断处理函数------------------------------------*/
 021D           ; #pragma interrupt_handler isrKBI
 021D           ; void isrKBI(void) 
 021D           ; {
 021D           ;       
 021D           ;         asm("SEI");                   //关总中断
 021D 9B                SEI
 021E           ;         INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKK=1)
 021E 121A              bset #1,0x1a
 0220           ;          KB_valve=KB_Scan();     //扫描键值
 0220 CD0000            jsr _KB_Scan
 0223 B700              sta *__r1
 0225 B700              sta *_KB_valve
 0227           ;        KB_valve=KB_Def(KB_valve);  //键值转化为
 0227 B600              lda *_KB_valve
 0229 87                psha
 022A CD0000            jsr _KB_Def
 022D A701              ais #1
 022F 95                tsx
 0230 B700              sta *__r1
 0232 B700              sta *_KB_valve
 0234           L44:
 0234           ;        isrKBI_exit:  
 0234           ; 	   KB_Init();			     //重新初始化键盘
 0234 CD0000            jsr _KB_Init
 0237 95                tsx
 0238           ;          INTKBSCR&= ~(1<<IntBit); //打开键盘中断(IMASKK=0)
 0238 131A              bclr #1,0x1a
 023A           ;          asm("CLI");                       //开总中断
 023A 9A                CLI
 023B           L43:
 023B                   .dbline 0 ; func end
 023B 86                pula
 023C B700              sta *__rlo
 023E 86                pula
 023F B700              sta *__rhi
 0241 86                pula
 0242 B700              sta *__r11
 0244 86                pula
 0245 B700              sta *__r10
 0247 86                pula
 0248 B700              sta *__r9
 024A 86                pula
 024B B700              sta *__r8
 024D 86                pula
 024E B700              sta *__r7
 0250 86                pula
 0251 B700              sta *__r6
 0253 86                pula
 0254 B700              sta *__r5
 0256 86                pula
 0257 B700              sta *__r4
 0259 86                pula
 025A B700              sta *__r3
 025C 86                pula
 025D B700              sta *__r2
 025F 86                pula
 0260 B700              sta *__r1
 0262 86                pula
 0263 B700              sta *__r0
 0265 8A                pulh
 0266 80                rti
 0267           _isrDummy::
 0267 8B                pshh
 0268           ; 
 0268           ;       
 0268           ; }
 0268           ; //未定义的中断处理函数,本函数不能删除
 0268           ; #pragma interrupt_handler isrDummy  
 0268           ; void isrDummy(void) 
 0268           ; {
 0268           L45:
 0268                   .dbline 0 ; func end
 0268 8A                pulh
 0269 80                rti
                        .area memory(abs)
                        .org 0xffdc
 FFDC           __vectab::
 FFDC 0267              .word _isrDummy
 FFDE 0267              .word _isrDummy
 FFE0 01F2              .word _isrKBI
 FFE2 0267              .word _isrDummy
 FFE4 018B              .word _isrRe
 FFE6 0267              .word _isrDummy
 FFE8 0267              .word _isrDummy
 FFEA 0267              .word _isrDummy
 FFEC 0267              .word _isrDummy
 FFEE 0267              .word _isrDummy
 FFF0 0267              .word _isrDummy
 FFF2 00A0              .word _isrTIMER1
 FFF4 0267              .word _isrDummy
 FFF6 0267              .word _isrDummy
 FFF8 0267              .word _isrDummy
 FFFA 0267              .word _isrDummy
 FFFC 0267              .word _isrDummy
                        .area lit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -