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

📄 main.lis

📁 飞思卡尔的电子钟和电子琴的课程设计,包括源代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 055E F6                lda ,X
 055F AB1D              add #<_timer
 0561 B700              sta *__r1
 0563 B600              lda *__r0
 0565 A91D              adc #>_timer
 0567 B700              sta *__r0
 0569 5500              ldhx *__r0
 056B F6                lda ,x
 056C AE0A              ldx #10
 056E 8C                clrh
 056F 52                div
 0570 95                tsx
 0571 AB30              add #48
 0573 B700              sta *__r1
 0575 3F00              clr *__r2
 0577 E601              lda 1,X
 0579 AB44              add #<_show
 057B B700              sta *__r3
 057D B600              lda *__r2
 057F A944              adc #>_show
 0581 B700              sta *__r2
 0583 B600              lda *__r1
 0585 5500              ldhx *__r2
 0587 F7                sta ,x
 0588 95                tsx
 0589 6C01              inc 1,X
 058B           ;                  show[i]=0x30+(timer[j]%10);i++;
 058B 3F00              clr *__r0
 058D F6                lda ,X
 058E AB1D              add #<_timer
 0590 B700              sta *__r1
 0592 B600              lda *__r0
 0594 A91D              adc #>_timer
 0596 B700              sta *__r0
 0598 5500              ldhx *__r0
 059A F6                lda ,x
 059B AE0A              ldx #10
 059D 8C                clrh
 059E 52                div
 059F 8B                pshh
 05A0 86                pula
 05A1 95                tsx
 05A2 AB30              add #48
 05A4 B700              sta *__r1
 05A6 3F00              clr *__r2
 05A8 E601              lda 1,X
 05AA AB44              add #<_show
 05AC B700              sta *__r3
 05AE B600              lda *__r2
 05B0 A944              adc #>_show
 05B2 B700              sta *__r2
 05B4 B600              lda *__r1
 05B6 5500              ldhx *__r2
 05B8 F7                sta ,x
 05B9 95                tsx
 05BA 6C01              inc 1,X
 05BC           ;                  if(j==2)break;
 05BC F6                lda ,X
 05BD A102              cmp #2
 05BF 2602              bne L145
 05C1 201F              bra L143
 05C3           L145:
 05C3 3F00              clr *__r0
 05C5 E601              lda 1,X
 05C7 AB44              add #<_show
 05C9 B700              sta *__r1
 05CB B600              lda *__r0
 05CD A944              adc #>_show
 05CF B700              sta *__r0
 05D1 A63A              lda #58
 05D3 5500              ldhx *__r0
 05D5 F7                sta ,x
 05D6 95                tsx
 05D7 6C01              inc 1,X
 05D9           L142:
 05D9 7C                inc ,X
 05DA           L144:
 05DA F6                lda ,X
 05DB A103              cmp #3
 05DD 2403              bhs X5
 05DF CC055C            jmp L141
 05E2           X5:
 05E2           L143:
 05E2           ; 	  	   show[i]=':';i++;
 05E2           ; 	 	}
 05E2           ; 	 	show[i]='E';
 05E2 3F00              clr *__r0
 05E4 E601              lda 1,X
 05E6 AB44              add #<_show
 05E8 B700              sta *__r1
 05EA B600              lda *__r0
 05EC A944              adc #>_show
 05EE B700              sta *__r0
 05F0 A645              lda #69
 05F2 5500              ldhx *__r0
 05F4 F7                sta ,x
 05F5           ;               lcdshow((unsigned char *)show);//显示原设置的时间
 05F5 A644              lda #<_show
 05F7 87                psha
 05F8 A644              lda #>_show
 05FA 87                psha
 05FB CD0000            jsr _lcdshow
 05FE A702              ais #2
 0600           ;               LcdCtrl&=~(1<<LcdRS);      //RS、R/W=00,写指令
 0600 1102              bclr #0,0x2
 0602           ;               LcdCtrl&=~(1<<LcdRW);    
 0602 1302              bclr #1,0x2
 0604           ;               Lcd_Command(0b00001111);        //开显示,开光标,闪烁
 0604 A60F              lda #15
 0606 87                psha
 0607 CD0000            jsr _Lcd_Command
 060A A701              ais #1
 060C           ;               Lcd_Command(0b11000000); //后7位为DDRAM地址0x40 
 060C A6C0              lda #-64
 060E 87                psha
 060F CD0000            jsr _Lcd_Command
 0612 A701              ais #1
 0614 95                tsx
 0615           ;       }
 0615           L139:
 0615           L138:
 0615 A702              ais #2
 0617                   .dbline 0 ; func end
 0617 81                rts
 0618           ;              i -> 0,X
 0618           _ok::
 0618 A7FF              ais #-1
 061A 95                tsx
 061B           ; }
 061B           ; 
 061B           ; void ok(void){                                        //在设置模式下的确定,
 061B           ;       unsigned char i;
 061B           ;       if(showtime==0x00&&issettime==0x01){    //在时间设置模式下的确定,
 061B B602              lda *_showtime
 061D 2703              beq X6
 061F CC0739            jmp L148
 0622           X6:
 0622 B600              lda *_issettime
 0624 A101              cmp #1
 0626 2703              beq X7
 0628 CC0739            jmp L148
 062B           X7:
 062B           ;      	T1SC|=(1<<TSTOPBit);				//停止计数,进行时间修改
 062B 1A20              bset #5,0x20
 062D           ;               time[0]=0;time[1]=0;time[2]=0;          //时间清零,键盘输入的临时时间写入时间
 062D 3F1A              clr *_time
 062F 3F1B              clr *_time+1
 0631 3F1C              clr *_time+2
 0633           ;               date[0]=0;date[1]=0;date[2]=0;
 0633 3F15              clr *_date+1
 0635 3F14              clr *_date
 0637 3F17              clr *_date+2+1
 0639 3F16              clr *_date+2
 063B 3F19              clr *_date+4+1
 063D 3F18              clr *_date+4
 063F 7F                clr ,X
 0640 2038              bra L157
 0642           L154:
 0642 3F00              clr *__r0
 0644 F6                lda ,X
 0645 AB03              add #<_datetem
 0647 B700              sta *__r1
 0649 B600              lda *__r0
 064B A903              adc #>_datetem
 064D B700              sta *__r0
 064F 5500              ldhx *__r0
 0651 F6                lda ,x
 0652 B700              sta *__r1
 0654 3F00              clr *__r0
 0656 5514              ldhx *_date
 0658 89                pshx
 0659 8B                pshh
 065A 95                tsx
 065B AF02              aix #2
 065D A60A              lda #10
 065F 87                psha
 0660 4F                clra
 0661 87                psha
 0662 CD0000            jsr __mul16
 0665 A704              ais #4
 0667 4E0000            mov *__rlo,*__r3
 066A 4E0000            mov *__rhi,*__r2
 066D B600              lda *__r3
 066F BB00              add *__r1
 0671 B715              sta *_date+1
 0673 B600              lda *__r2
 0675 B900              adc *__r0
 0677 B714              sta *_date
 0679           L155:
 0679 7C                inc ,X
 067A           L157:
 067A           ; 		for(i=0;i<4;i++){
 067A F6                lda ,X
 067B A104              cmp #4
 067D 25C3              blo L154
 067F 2054              bra L161
 0681           L158:
 0681 3F00              clr *__r0
 0683 F6                lda ,X
 0684 AB03              add #<_datetem
 0686 B700              sta *__r1
 0688 B600              lda *__r0
 068A A903              adc #>_datetem
 068C B700              sta *__r0
 068E 5500              ldhx *__r0
 0690 F6                lda ,x
 0691 B700              sta *__r1
 0693 3F00              clr *__r0
 0695 5516              ldhx *_date+2
 0697 89                pshx
 0698 8B                pshh
 0699 95                tsx
 069A AF02              aix #2
 069C A60A              lda #10
 069E 87                psha
 069F 4F                clra
 06A0 87                psha
 06A1 CD0000            jsr __mul16
 06A4 A704              ais #4
 06A6 4E0000            mov *__rlo,*__r3
 06A9 4E0000            mov *__rhi,*__r2
 06AC B600              lda *__r3
 06AE BB00              add *__r1
 06B0 B717              sta *_date+2+1
 06B2 B600              lda *__r2
 06B4 B900              adc *__r0
 06B6 B716              sta *_date+2
 06B8 3F00              clr *__r0
 06BA F6                lda ,X
 06BB AB07              add #<_timetem-4
 06BD B700              sta *__r1
 06BF B600              lda *__r0
 06C1 A907              adc #>_timetem-4
 06C3 B700              sta *__r0
 06C5 5500              ldhx *__r0
 06C7 F6                lda ,x
 06C8 B700              sta *__r1
 06CA B61A              lda *_time
 06CC AE0A              ldx #10
 06CE 42                mul
 06CF 95                tsx
 06D0 BB00              add *__r1
 06D2 B71A              sta *_time
 06D4           L159:
 06D4 7C                inc ,X
 06D5           L161:
 06D5           ; 			date[0]=(int)(date[0]*10+datetem[i]);
 06D5           ; 		}
 06D5           ; 		for(;i<6;i++){
 06D5 F6                lda ,X
 06D6 A106              cmp #6
 06D8 25A7              blo L158
 06DA 2054              bra L168
 06DC           L165:
 06DC 3F00              clr *__r0
 06DE F6                lda ,X
 06DF AB03              add #<_datetem
 06E1 B700              sta *__r1
 06E3 B600              lda *__r0
 06E5 A903              adc #>_datetem
 06E7 B700              sta *__r0
 06E9 5500              ldhx *__r0
 06EB F6                lda ,x
 06EC B700              sta *__r1
 06EE 3F00              clr *__r0
 06F0 5518              ldhx *_date+4
 06F2 89                pshx
 06F3 8B                pshh
 06F4 95                tsx
 06F5 AF02              aix #2
 06F7 A60A              lda #10
 06F9 87                psha
 06FA 4F                clra
 06FB 87                psha
 06FC CD0000            jsr __mul16
 06FF A704              ais #4
 0701 4E0000            mov *__rlo,*__r3
 0704 4E0000            mov *__rhi,*__r2
 0707 B600              lda *__r3
 0709 BB00              add *__r1
 070B B719              sta *_date+4+1
 070D B600              lda *__r2
 070F B900              adc *__r0
 0711 B718              sta *_date+4
 0713 3F00              clr *__r0
 0715 F6                lda ,X
 0716 AB07              add #<_timetem-4
 0718 B700              sta *__r1
 071A B600              lda *__r0
 071C A907              adc #>_timetem-4
 071E B700              sta *__r0
 0720 5500              ldhx *__r0
 0722 F6                lda ,x
 0723 B700              sta *__r1
 0725 B61B              lda *_time+1
 0727 AE0A              ldx #10
 0729 42                mul
 072A 95                tsx
 072B BB00              add *__r1
 072D B71B              sta *_time+1
 072F           L166:
 072F 7C                inc ,X
 0730           L168:
 0730           ; 			date[1]=date[1]*10+datetem[i];
 0730           ; 			time[0]=time[0]*10+timetem[i-4];
 0730           ; 		}
 0730           ; 		for(;i<8;i++){
 0730 F6                lda ,X
 0731 A108              cmp #8
 0733 25A7              blo L165
 0735           ;                       date[2]=date[2]*10+datetem[i];
 0735           ;                       time[1]=time[1]*10+timetem[i-4];
 0735           ;               }
 0735           ;               issettime=0x00;
 0735 3F00              clr *_issettime
 0737           ;               T1SC&=~(1<<TSTOPBit);           //开始计数
 0737 1B20              bclr #5,0x20
 0739           ;       }
 0739           L148:
 0739           ; 	if(showtime==0x00&&issettime==0x00){	//在闹钟设置模式下的确定,
 0739 B602              lda *_showtime
 073B 2653              bne L174
 073D B600              lda *_issettime
 073F 264F              bne L174
 0741           ;               timer[0]=0;timer[1]=0;timer[2]=0;       //时间清零,键盘输入的临时定时时间写入定时时间
 0741 3F1D              clr *_timer
 0743 3F1E              clr *_timer+1
 0745 3F1F              clr *_timer+2
 0747 7F                clr ,X
 0748 201D              bra L181
 074A           L178:
 074A 3F00              clr *__r0
 074C F6                lda ,X
 074D AB0F              add #<_timertem
 074F B700              sta *__r1
 0751 B600              lda *__r0
 0753 A90F              adc #>_timertem
 0755 B700              sta *__r0
 0757 5500              ldhx *__r0
 0759 F6                lda ,x
 075A B700              sta *__r1
 075C B61D              lda *_timer
 075E AE0A              ldx #10
 0760 42                mul
 0761 95                tsx
 0762 BB00              add *__r1
 0764 B71D              sta *_timer
 0766           L179:
 0766 7C                inc ,X
 0767           L181:
 0767           ; 		for(i=0;i<2;i++){
 0767 F6                lda ,X
 0768 A102              cmp #2
 076A 25DE              blo L178
 076C 201D              bra L185

⌨️ 快捷键说明

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