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

📄 main.lis

📁 这是我自己在做实验设计时做的,用摩托罗拉飞思卡尔做的一个多功能电子钟
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 010D           ; 	     	if(Minute_second_integral_flag)
 010D B638              lda *_Minute_second_integral_flag
 010F 2714              beq L22
 0111           ;               {
 0111           ;                       if(Integral_counter<5)
 0111 B639              lda *_Integral_counter
 0113 A105              cmp #5
 0115 2406              bhs L24
 0117           ;                       Alarm_play();
 0117 CD0839            jsr _Alarm_play
 011A 95                tsx
 011B 2008              bra L25
 011D           L24:
 011D           ; 	     		else 
 011D           ; 	     		{
 011D           ; 	     			Minute_second_integral_flag=0;
 011D 3F38              clr *_Minute_second_integral_flag
 011F           ;                               Integral_counter=0;
 011F 3F39              clr *_Integral_counter
 0121           ;                               Alarm_Off();
 0121 CD083E            jsr _Alarm_Off
 0124 95                tsx
 0125           ;                       }
 0125           L25:
 0125           ; 	     	}
 0125           L22:
 0125           ; 	   		if(Timer_5sec_trigger)
 0125 B62E              lda *_Timer_5sec_trigger
 0127 2603              bne X13
 0129 CC020F            jmp L26
 012C           X13:
 012C           ; 	   		{
 012C           ; 	   				if(Timer_5sec_counter>5)
 012C B62F              lda *_Timer_5sec_counter
 012E A105              cmp #5
 0130 230D              bls L28
 0132           ;                                       {
 0132           ;                                               
 0132           ;                                               Timer_5sec_trigger=0;
 0132 3F2E              clr *_Timer_5sec_trigger
 0134           ;                                               Timer_5sec_counter=0;
 0134 3F2F              clr *_Timer_5sec_counter
 0136           ;                                               Select_key_is_pressed_flag=0;
 0136 3F33              clr *_Select_key_is_pressed_flag
 0138           ;                                               Normal_show_time=1;
 0138 A601              lda #1
 013A B736              sta *_Normal_show_time
 013C           ;                                               break;
 013C CC0212            jmp L9
 013F           L28:
 013F           ; 	   				}
 013F           ; 	   				if(Select_key_is_pressed_flag==0)
 013F B633              lda *_Select_key_is_pressed_flag
 0141 2607              bne L30
 0143           ;                                       {
 0143           ;                                               Timer_5sec_trigger=0;
 0143 3F2E              clr *_Timer_5sec_trigger
 0145           ;                                               Timer_5sec_counter=0;
 0145 3F2F              clr *_Timer_5sec_counter
 0147           ;                                               break;
 0147 CC0212            jmp L9
 014A           L30:
 014A           ; 	   				}
 014A           ; 	   				switch(Select_key_is_pressed_flag%11)
 014A 3F00              clr *__r0
 014C B633              lda *_Select_key_is_pressed_flag
 014E B700              sta *__rlo
 0150 4E0000            mov *__r0,*__rhi
 0153 A60B              lda #11
 0155 87                psha
 0156 4F                clra
 0157 87                psha
 0158 CD0000            jsr __divmod16s
 015B 86                pula
 015C E705              sta 5,X
 015E 86                pula
 015F E706              sta 6,X
 0161 E605              lda 5,X
 0163 2604              bne X0
 0165 E606              lda 6,X
 0167 2766              beq L35
 0169           X0:
 0169 E605              lda 5,X
 016B 2606              bne X1
 016D E606              lda 6,X
 016F A101              cmp #1
 0171 2762              beq L36
 0173           X1:
 0173 E605              lda 5,X
 0175 2606              bne X2
 0177 E606              lda 6,X
 0179 A102              cmp #2
 017B 275E              beq L37
 017D           X2:
 017D E605              lda 5,X
 017F 2606              bne X3
 0181 E606              lda 6,X
 0183 A103              cmp #3
 0185 275A              beq L38
 0187           X3:
 0187 E605              lda 5,X
 0189 2606              bne X4
 018B E606              lda 6,X
 018D A104              cmp #4
 018F 2756              beq L39
 0191           X4:
 0191 E605              lda 5,X
 0193 2606              bne X5
 0195 E606              lda 6,X
 0197 A105              cmp #5
 0199 2752              beq L40
 019B           X5:
 019B E605              lda 5,X
 019D 2606              bne X6
 019F E606              lda 6,X
 01A1 A106              cmp #6
 01A3 274E              beq L41
 01A5           X6:
 01A5 E605              lda 5,X
 01A7 2606              bne X7
 01A9 E606              lda 6,X
 01AB A107              cmp #7
 01AD 274A              beq L42
 01AF           X7:
 01AF E605              lda 5,X
 01B1 2606              bne X8
 01B3 E606              lda 6,X
 01B5 A108              cmp #8
 01B7 2746              beq L43
 01B9           X8:
 01B9 E605              lda 5,X
 01BB 2606              bne X9
 01BD E606              lda 6,X
 01BF A109              cmp #9
 01C1 2742              beq L44
 01C3           X9:
 01C3 E605              lda 5,X
 01C5 2606              bne X10
 01C7 E606              lda 6,X
 01C9 A10A              cmp #10
 01CB 273E              beq L45
 01CD           X10:
 01CD 2040              bra L33
 01CF           X11:
 01CF           ; 	   				{
 01CF           L35:
 01CF           ; 	   					case 0:Year_adjust();break;
 01CF CD0516            jsr _Year_adjust
 01D2 95                tsx
 01D3 203A              bra L33
 01D5           L36:
 01D5           ; 	   					case 1:Year_adjust();break;
 01D5 CD0516            jsr _Year_adjust
 01D8 95                tsx
 01D9 2034              bra L33
 01DB           L37:
 01DB           ; 	   					case 2:Month_adjust();break;
 01DB CD054A            jsr _Month_adjust
 01DE 95                tsx
 01DF 202E              bra L33
 01E1           L38:
 01E1           ; 	   					case 3:Day_adjust();break;
 01E1 CD0582            jsr _Day_adjust
 01E4 95                tsx
 01E5 2028              bra L33
 01E7           L39:
 01E7           ; 	   					case 4:Hour_adjust();break;
 01E7 CD06D8            jsr _Hour_adjust
 01EA 95                tsx
 01EB 2022              bra L33
 01ED           L40:
 01ED           ; 	   					case 5:Minute_adjust();break;
 01ED CD070D            jsr _Minute_adjust
 01F0 95                tsx
 01F1 201C              bra L33
 01F3           L41:
 01F3           ; 	   					case 6:A_Year_adjust();break;
 01F3 CD0744            jsr _A_Year_adjust
 01F6 95                tsx
 01F7 2016              bra L33
 01F9           L42:
 01F9           ; 	   					case 7:A_Month_adjust();break;
 01F9 CD078A            jsr _A_Month_adjust
 01FC 95                tsx
 01FD 2010              bra L33
 01FF           L43:
 01FF           ; 	   					case 8:A_Day_adjust();break;
 01FF CD07A8            jsr _A_Day_adjust
 0202 95                tsx
 0203 200A              bra L33
 0205           L44:
 0205           ; 	   					case 9:A_Hour_adjust();break;
 0205 CD07C6            jsr _A_Hour_adjust
 0208 95                tsx
 0209 2004              bra L33
 020B           L45:
 020B           ; 	   					case 10:A_Minute_adjust();break;
 020B CD07E3            jsr _A_Minute_adjust
 020E 95                tsx
 020F           ;                                               default: ;break;
 020F           L33:
 020F           ; 	   				}
 020F           ; 	   		
 020F           ; 	   		} //end if
 020F           L26:
 020F           L8:
 020F CC001B            jmp L7
 0212           L9:
 0212           L5:
 0212 CC0016            jmp L4
 0215           X12:
 0215           L3:
 0215 A709              ais #9
 0217                   .dbline 0 ; func end
 0217 81                rts
 0218           ;            tmp -> 0,X
 0218           ;        tmpchar -> 2,X
 0218           ;              i -> 3,X
 0218           ;           Time -> 6,X
 0218           _Time_Var2char::
 0218 A7FC              ais #-4
 021A 95                tsx
 021B           ;       }//end while
 021B           ;      }//end while
 021B           ;   }// end main
 021B           ;   
 021B           ;   
 021B           ; void Time_Var2char(Time_Struct Time)
 021B           ; {
 021B           ;       unsigned char i,tmpchar;
 021B           ;       unsigned short int tmp;
 021B           ;       tmp=Time.year;
 021B E606              lda 6,X
 021D EE07              ldx 7,X
 021F 87                psha
 0220 8A                pulh
 0221 E601              lda 1,x
 0223 9EE702            sta 2,SP
 0226 F6                lda ,x
 0227 95                tsx
 0228 F7                sta ,X
 0229           ;       for(i=0;i<4;i++)
 0229 6F03              clr 3,X
 022B 2049              bra L50
 022D           L47:
 022D E601              lda 1,X
 022F B700              sta *__rlo
 0231 F6                lda ,X
 0232 B700              sta *__rhi
 0234 A60A              lda #10
 0236 87                psha
 0237 4F                clra
 0238 87                psha
 0239 CD0000            jsr __divmod16u
 023C 86                pula
 023D B700              sta *__r0
 023F 86                pula
 0240 AB30              add #48
 0242 B700              sta *__r1
 0244 B600              lda *__r0
 0246 A900              adc #0
 0248 3F00              clr *__r2
 024A E603              lda 3,X
 024C AB0E              add #<_LCD_buff
 024E B700              sta *__r3
 0250 B600              lda *__r2
 0252 A90E              adc #>_LCD_buff
 0254 B700              sta *__r2
 0256 B600              lda *__r1
 0258 5500              ldhx *__r2
 025A F7                sta ,x
 025B 95                tsx
 025C E601              lda 1,X
 025E B700              sta *__rlo
 0260 F6                lda ,X
 0261 B700              sta *__rhi
 0263 A60A              lda #10
 0265 87                psha
 0266 4F                clra
 0267 87                psha
 0268 CD0000            jsr __divmod16u
 026B A702              ais #2
 026D B600              lda *__rhi
 026F F7                sta ,X
 0270 B600              lda *__rlo
 0272 E701              sta 1,X
 0274           L48:
 0274 6C03              inc 3,X
 0276           L50:
 0276 E603              lda 3,X
 0278 A104              cmp #4
 027A 25B1              blo L47
 027C           ;       {
 027C           ;               LCD_buff[i]=tmp%10+48;
 027C           ;               tmp=tmp/10;
 027C           ;       }
 027C           ;       swap(&LCD_buff[0],&LCD_buff[3]);
 027C 450011            ldhx #_LCD_buff+3
 027F 89                pshx
 0280 8B                pshh
 0281 45000E            ldhx #_LCD_buff
 0284 89                pshx
 0285 8B                pshh
 0286 CD0847            jsr _swap
 0289 A704              ais #4
 028B           ;       swap(&LCD_buff[1],&LCD_buff[2]);
 028B 450010            ldhx #_LCD_buff+2
 028E 89                pshx
 028F 8B                pshh
 0290 45000F            ldhx #_LCD_buff+1
 0293 89                pshx
 0294 8B                pshh
 0295 CD0847            jsr _swap
 0298 A704              ais #4
 029A 95                tsx
 029B           ;       LCD_buff[i]='-';
 029B 3F00              clr *__r0
 029D E603              lda 3,X
 029F AB0E              add #<_LCD_buff
 02A1 B700              sta *__r1
 02A3 B600              lda *__r0
 02A5 A90E              adc #>_LCD_buff
 02A7 B700              sta *__r0
 02A9 A62D              lda #45
 02AB 5500              ldhx *__r0
 02AD F7                sta ,x
 02AE 95                tsx
 02AF           ;       tmpchar=Time.month;
 02AF E607              lda 7,X
 02B1 AB02              add #2
 02B3 B700              sta *__r1
 02B5 E606              lda 6,X
 02B7 A900              adc #0
 02B9 B700              sta *__r0
 02BB 5500              ldhx *__r0
 02BD F6                lda ,x
 02BE 95                tsx
 02BF E702              sta 2,X
 02C1           ;       for(i=5;i<7;i++)
 02C1 A605              lda #5
 02C3 E703              sta 3,X
 02C5 202C              bra L57
 02C7           L54:
 02C7 E602              lda 2,X
 02C9 AE0A              ldx #10
 02CB 8C                clrh
 02CC 52                div
 02CD 8B                pshh
 02CE 86                pula
 02CF 95                tsx
 02D0 AB30              add #48
 02D2 B700              sta *__r1
 02D4 3F00              clr *__r2
 02D6 E603              lda 3,X
 02D8 AB0E              add #<_LCD_buff
 02DA B700              sta *__r3
 02DC B600              lda *__r2
 02DE A90E              adc #>_LCD_buff
 02E0 B700              sta *__r2

⌨️ 快捷键说明

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