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

📄 jianpan.lis

📁 可以显示年月日,时间等,也可以设置闹钟,设定时间
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module jianpan.c
                        .area text
                ;          alart -> 6,X
                ;           data -> 4,X
                ;           time -> 2,X
 0000           _sys_init::
 0000 95                tsx
 0001           ; /******这里设置程序初始化时显示的时间****************/
 0001           ; extern unsigned char time[3],alart[2],time_clock[3];//存放时、分、秒
 0001           ; extern unsigned int data[3];         //年、月、日
 0001           ; unsigned char clockn[2];
 0001           ; extern unsigned char clockstr[8]; /*时间显示的LCD显示*/
 0001           ; extern unsigned char alartstr[5]; /*闹钟显示的LCD显示*/
 0001           ; extern unsigned char datestr[10]; /*日期显示LCD显示*/
 0001           ; unsigned char naozhong,KB_valve;
 0001           ; 
 0001           ;    
 0001           ; /****************以下是所有子函数的声明*********************/
 0001           ; extern void LcdInit(void); //显示的初始化
 0001           ; extern void lcdshow1(unsigned char x,unsigned char y,unsigned char data);
 0001           ; extern void lcdshow2(unsigned char str[]);
 0001           ; extern void sys_init(unsigned char time[],unsigned int data[],unsigned char alart[] );                 /*系统的初始化程序*/
 0001           ; unsigned char getmonthdays(unsigned int,unsigned char);/*计算某月的天数子程序*/
 0001           ; extern void guangbiao(unsigned char x,unsigned char y);
 0001           ; /**************************函数部分*************************/
 0001           ; 
 0001           ;  void sys_init(unsigned char time[],unsigned int data[],unsigned char alart[] )
 0001           ; {  
 0001           ;    datestr[7]=data[0]%10+0x30; //日期
 0001 E604              lda 4,X
 0003 EE05              ldx 5,X
 0005 87                psha
 0006 8A                pulh
 0007 E601              lda 1,x
 0009 B700              sta *__r1
 000B F6                lda ,x
 000C 95                tsx
 000D B700              sta *__r0
 000F 4E0000            mov *__r1,*__rlo
 0012 4E0000            mov *__r0,*__rhi
 0015 A60A              lda #10
 0017 87                psha
 0018 4F                clra
 0019 87                psha
 001A CD0000            jsr __divmod16u
 001D 86                pula
 001E B700              sta *__r0
 0020 86                pula
 0021 AB30              add #48
 0023 B700              sta *__r1
 0025 B600              lda *__r0
 0027 A900              adc #0
 0029 4E0007            mov *__r1,*_datestr+7
 002C           ;    datestr[6]=(data[0]/10)+0x30;
 002C E604              lda 4,X
 002E EE05              ldx 5,X
 0030 87                psha
 0031 8A                pulh
 0032 E601              lda 1,x
 0034 B700              sta *__r1
 0036 F6                lda ,x
 0037 95                tsx
 0038 B700              sta *__r0
 003A 4E0000            mov *__r1,*__rlo
 003D 4E0000            mov *__r0,*__rhi
 0040 A60A              lda #10
 0042 87                psha
 0043 4F                clra
 0044 87                psha
 0045 CD0000            jsr __divmod16u
 0048 A702              ais #2
 004A 4E0000            mov *__rhi,*__r0
 004D 4E0000            mov *__rlo,*__r1
 0050 B600              lda *__r1
 0052 AB30              add #48
 0054 B700              sta *__r1
 0056 B600              lda *__r0
 0058 A900              adc #0
 005A 4E0006            mov *__r1,*_datestr+6
 005D           ;    datestr[5]=data[1]%10+0x30;
 005D E605              lda 5,X
 005F AB02              add #2
 0061 B700              sta *__r1
 0063 E604              lda 4,X
 0065 A900              adc #0
 0067 B700              sta *__r0
 0069 5500              ldhx *__r0
 006B E601              lda 1,x
 006D B700              sta *__r1
 006F F6                lda ,x
 0070 95                tsx
 0071 B700              sta *__r0
 0073 4E0000            mov *__r1,*__rlo
 0076 4E0000            mov *__r0,*__rhi
 0079 A60A              lda #10
 007B 87                psha
 007C 4F                clra
 007D 87                psha
 007E CD0000            jsr __divmod16u
 0081 86                pula
 0082 B700              sta *__r0
 0084 86                pula
 0085 AB30              add #48
 0087 B700              sta *__r1
 0089 B600              lda *__r0
 008B A900              adc #0
 008D 4E0005            mov *__r1,*_datestr+5
 0090           ;    datestr[4]=(data[1]/10)+0x30;
 0090 E605              lda 5,X
 0092 AB02              add #2
 0094 B700              sta *__r1
 0096 E604              lda 4,X
 0098 A900              adc #0
 009A B700              sta *__r0
 009C 5500              ldhx *__r0
 009E E601              lda 1,x
 00A0 B700              sta *__r1
 00A2 F6                lda ,x
 00A3 95                tsx
 00A4 B700              sta *__r0
 00A6 4E0000            mov *__r1,*__rlo
 00A9 4E0000            mov *__r0,*__rhi
 00AC A60A              lda #10
 00AE 87                psha
 00AF 4F                clra
 00B0 87                psha
 00B1 CD0000            jsr __divmod16u
 00B4 A702              ais #2
 00B6 4E0000            mov *__rhi,*__r0
 00B9 4E0000            mov *__rlo,*__r1
 00BC B600              lda *__r1
 00BE AB30              add #48
 00C0 B700              sta *__r1
 00C2 B600              lda *__r0
 00C4 A900              adc #0
 00C6 4E0004            mov *__r1,*_datestr+4
 00C9           ;    datestr[3]=data[2]%10+0x30;
 00C9 E605              lda 5,X
 00CB AB04              add #4
 00CD B700              sta *__r1
 00CF E604              lda 4,X
 00D1 A900              adc #0
 00D3 B700              sta *__r0
 00D5 5500              ldhx *__r0
 00D7 E601              lda 1,x
 00D9 B700              sta *__r1
 00DB F6                lda ,x
 00DC 95                tsx
 00DD B700              sta *__r0
 00DF 4E0000            mov *__r1,*__rlo
 00E2 4E0000            mov *__r0,*__rhi
 00E5 A60A              lda #10
 00E7 87                psha
 00E8 4F                clra
 00E9 87                psha
 00EA CD0000            jsr __divmod16u
 00ED 86                pula
 00EE B700              sta *__r0
 00F0 86                pula
 00F1 AB30              add #48
 00F3 B700              sta *__r1
 00F5 B600              lda *__r0
 00F7 A900              adc #0
 00F9 4E0003            mov *__r1,*_datestr+3
 00FC           ;    datestr[2]=((data[2]/10))%10+0x30;
 00FC E605              lda 5,X
 00FE AB04              add #4
 0100 B700              sta *__r1
 0102 E604              lda 4,X
 0104 A900              adc #0
 0106 B700              sta *__r0
 0108 5500              ldhx *__r0
 010A E601              lda 1,x
 010C B700              sta *__r1
 010E F6                lda ,x
 010F 95                tsx
 0110 B700              sta *__r0
 0112 4E0000            mov *__r1,*__rlo
 0115 4E0000            mov *__r0,*__rhi
 0118 A60A              lda #10
 011A 87                psha
 011B 4F                clra
 011C 87                psha
 011D CD0000            jsr __divmod16u
 0120 A702              ais #2
 0122 4E0000            mov *__rhi,*__r0
 0125 4E0000            mov *__rlo,*__r1
 0128 4E0000            mov *__r1,*__rlo
 012B 4E0000            mov *__r0,*__rhi
 012E A60A              lda #10
 0130 87                psha
 0131 4F                clra
 0132 87                psha
 0133 CD0000            jsr __divmod16u
 0136 86                pula
 0137 B700              sta *__r0
 0139 86                pula
 013A AB30              add #48
 013C B700              sta *__r1
 013E B600              lda *__r0
 0140 A900              adc #0
 0142 4E0002            mov *__r1,*_datestr+2
 0145           ;    datestr[1]=((data[2]/100))%10+0x30;
 0145 E605              lda 5,X
 0147 AB04              add #4
 0149 B700              sta *__r1
 014B E604              lda 4,X
 014D A900              adc #0
 014F B700              sta *__r0
 0151 5500              ldhx *__r0
 0153 E601              lda 1,x
 0155 B700              sta *__r1
 0157 F6                lda ,x
 0158 95                tsx
 0159 B700              sta *__r0
 015B 4E0000            mov *__r1,*__rlo
 015E 4E0000            mov *__r0,*__rhi
 0161 A664              lda #100
 0163 87                psha
 0164 4F                clra
 0165 87                psha
 0166 CD0000            jsr __divmod16u
 0169 A702              ais #2
 016B 4E0000            mov *__rhi,*__r0
 016E 4E0000            mov *__rlo,*__r1
 0171 4E0000            mov *__r1,*__rlo
 0174 4E0000            mov *__r0,*__rhi
 0177 A60A              lda #10
 0179 87                psha
 017A 4F                clra
 017B 87                psha
 017C CD0000            jsr __divmod16u
 017F 86                pula
 0180 B700              sta *__r0
 0182 86                pula
 0183 AB30              add #48
 0185 B700              sta *__r1
 0187 B600              lda *__r0
 0189 A900              adc #0
 018B 4E0001            mov *__r1,*_datestr+1
 018E           ;    datestr[0]=(data[2]/1000)+0x30;
 018E E605              lda 5,X
 0190 AB04              add #4
 0192 B700              sta *__r1
 0194 E604              lda 4,X
 0196 A900              adc #0
 0198 B700              sta *__r0
 019A 5500              ldhx *__r0
 019C E601              lda 1,x
 019E B700              sta *__r1
 01A0 F6                lda ,x
 01A1 95                tsx
 01A2 B700              sta *__r0
 01A4 4E0000            mov *__r1,*__rlo
 01A7 4E0000            mov *__r0,*__rhi
 01AA A6E8              lda #-24
 01AC 87                psha
 01AD A603              lda #3
 01AF 87                psha
 01B0 CD0000            jsr __divmod16u
 01B3 A702              ais #2
 01B5 4E0000            mov *__rhi,*__r0
 01B8 4E0000            mov *__rlo,*__r1
 01BB B600              lda *__r1
 01BD AB30              add #48
 01BF B700              sta *__r1
 01C1 B600              lda *__r0
 01C3 A900              adc #0
 01C5 4E0000            mov *__r1,*_datestr
 01C8           ;    /*给元素0赋相应数码管显示编码,编码序号是秒数的个位*/
 01C8           ;    clockstr[5]=time[0]%10+0x30; 
 01C8 E602              lda 2,X
 01CA EE03              ldx 3,X
 01CC 87                psha
 01CD 8A                pulh
 01CE F6                lda ,x
 01CF AE0A              ldx #10
 01D1 8C                clrh
 01D2 52                div
 01D3 8B                pshh
 01D4 86                pula
 01D5 95                tsx
 01D6 AB30              add #48
 01D8 B705              sta *_clockstr+5
 01DA           ;    clockstr[4]=(time[0]/10)+0x30; /*给元素1赋相应数码管显示编码,编码序号是秒数的十位*/
 01DA E602              lda 2,X
 01DC EE03              ldx 3,X
 01DE 87                psha
 01DF 8A                pulh
 01E0 F6                lda ,x
 01E1 AE0A              ldx #10
 01E3 8C                clrh
 01E4 52                div
 01E5 95                tsx
 01E6 AB30              add #48
 01E8 B704              sta *_clockstr+4
 01EA           ;    clockstr[3]=time[1]%10+0x30;  /*以下类推*/
 01EA E603              lda 3,X
 01EC AB01              add #1
 01EE B700              sta *__r1
 01F0 E602              lda 2,X
 01F2 A900              adc #0
 01F4 B700              sta *__r0
 01F6 5500              ldhx *__r0
 01F8 F6                lda ,x
 01F9 AE0A              ldx #10
 01FB 8C                clrh
 01FC 52                div
 01FD 8B                pshh
 01FE 86                pula
 01FF 95                tsx
 0200 AB30              add #48
 0202 B703              sta *_clockstr+3
 0204           ;    clockstr[2]=(time[1]/10)+0x30;
 0204 E603              lda 3,X
 0206 AB01              add #1
 0208 B700              sta *__r1
 020A E602              lda 2,X
 020C A900              adc #0
 020E B700              sta *__r0
 0210 5500              ldhx *__r0
 0212 F6                lda ,x
 0213 AE0A              ldx #10
 0215 8C                clrh
 0216 52                div
 0217 95                tsx
 0218 AB30              add #48
 021A B702              sta *_clockstr+2
 021C           ;    clockstr[1]=time[2]%10+0x30;
 021C E603              lda 3,X
 021E AB02              add #2
 0220 B700              sta *__r1
 0222 E602              lda 2,X
 0224 A900              adc #0
 0226 B700              sta *__r0
 0228 5500              ldhx *__r0
 022A F6                lda ,x
 022B AE0A              ldx #10
 022D 8C                clrh
 022E 52                div
 022F 8B                pshh
 0230 86                pula
 0231 95                tsx
 0232 AB30              add #48
 0234 B701              sta *_clockstr+1
 0236           ;    clockstr[0]=(time[2]/10)+0x30;
 0236 E603              lda 3,X
 0238 AB02              add #2
 023A B700              sta *__r1
 023C E602              lda 2,X
 023E A900              adc #0
 0240 B700              sta *__r0
 0242 5500              ldhx *__r0
 0244 F6                lda ,x
 0245 AE0A              ldx #10
 0247 8C                clrh
 0248 52                div
 0249 95                tsx
 024A AB30              add #48
 024C B700              sta *_clockstr
 024E           ;    
 024E           ;    alartstr[3]=alart[0]%10+0x30;        //设置闹钟
 024E E606              lda 6,X
 0250 EE07              ldx 7,X
 0252 87                psha
 0253 8A                pulh

⌨️ 快捷键说明

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