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

📄 ex_rtc.lst

📁 无刷控制器光火凤凰一房一价故意一一个机会呱唧呱唧很快
💻 LST
📖 第 1 页 / 共 4 页
字号:
01F8 20B6           00838 CALL   0B6
01F9 300A           00839 MOVLW  0A
01FA 009E           00840 MOVWF  1E
01FB 20B6           00841 CALL   0B6
01FC 300A           00842 MOVLW  0A
01FD 009E           00843 MOVWF  1E
01FE 20B6           00844 CALL   0B6
01FF 2A78           00845 GOTO   278
0000                00846 .................... } 
0000                00847 ....................  
0000                00848 ....................  
0000                00849 .................... void display_bcd( byte n ) { 
0000                00850 ....................    putc( (n/16)+'0' ); 
021B 081A           00851 MOVF   1A,W
021C 008C           00852 MOVWF  0C
021D 0E8C           00853 SWAPF  0C,F
021E 300F           00854 MOVLW  0F
021F 058C           00855 ANDWF  0C,F
0220 080C           00856 MOVF   0C,W
0221 008C           00857 MOVWF  0C
0222 3030           00858 MOVLW  30
0223 070C           00859 ADDWF  0C,W
0224 009B           00860 MOVWF  1B
0225 081B           00861 MOVF   1B,W
0226 009E           00862 MOVWF  1E
0227 20B6           00863 CALL   0B6
0000                00864 ....................    putc( (n%16)+'0' ); 
0228 081A           00865 MOVF   1A,W
0229 390F           00866 ANDLW  0F
022A 008C           00867 MOVWF  0C
022B 3030           00868 MOVLW  30
022C 070C           00869 ADDWF  0C,W
022D 009B           00870 MOVWF  1B
022E 081B           00871 MOVF   1B,W
022F 009E           00872 MOVWF  1E
0230 20B6           00873 CALL   0B6
0231 3400           00874 RETLW  00
0000                00875 .................... } 
0000                00876 ....................  
0000                00877 .................... void display_3_bcd( char separator, byte a, byte b, byte c ) { 
0000                00878 ....................  
0000                00879 ....................    display_bcd(a); 
0232 0817           00880 MOVF   17,W
0233 009A           00881 MOVWF  1A
0234 221B           00882 CALL   21B
0000                00883 ....................    putc(separator); 
0235 0816           00884 MOVF   16,W
0236 009E           00885 MOVWF  1E
0237 20B6           00886 CALL   0B6
0000                00887 ....................    display_bcd(b); 
0238 0818           00888 MOVF   18,W
0239 009A           00889 MOVWF  1A
023A 221B           00890 CALL   21B
0000                00891 ....................    putc(separator); 
023B 0816           00892 MOVF   16,W
023C 009E           00893 MOVWF  1E
023D 20B6           00894 CALL   0B6
0000                00895 ....................    display_bcd(c); 
023E 0819           00896 MOVF   19,W
023F 009A           00897 MOVWF  1A
0240 221B           00898 CALL   21B
0241 3400           00899 RETLW  00
0000                00900 .................... } 
0000                00901 ....................  
0000                00902 ....................  
0000                00903 .................... main() { 
0000                00904 ....................    char cmd; 
0000                00905 ....................    byte day,mth,year,dow,hour,min,sec; 
0254 0184           00906 CLRF   04
0255 1683           00907 BSF    03,5
0256 1185           00908 BCF    05,3
0257 1283           00909 BCF    03,5
0258 1585           00910 BSF    05,3
0000                00911 ....................  
0000                00912 ....................    rtc_init(); 
0259 28AD           00913 GOTO   0AD
0000                00914 ....................  
0000                00915 ....................    printf("\r\nPress S to change, D to display: "); 
0085 100A           00916 BCF    0A,0
0086 108A           00917 BCF    0A,1
0087 110A           00918 BCF    0A,2
0088 0782           00919 ADDWF  02,F
0089 340D           00920 RETLW  0D
008A 340A           00921 RETLW  0A
008B 3450           00922 RETLW  50
008C 3472           00923 RETLW  72
008D 3465           00924 RETLW  65
008E 3473           00925 RETLW  73
008F 3473           00926 RETLW  73
0090 3420           00927 RETLW  20
0091 3453           00928 RETLW  53
0092 3420           00929 RETLW  20
0093 3474           00930 RETLW  74
0094 346F           00931 RETLW  6F
0095 3420           00932 RETLW  20
0096 3463           00933 RETLW  63
0097 3468           00934 RETLW  68
0098 3461           00935 RETLW  61
0099 346E           00936 RETLW  6E
009A 3467           00937 RETLW  67
009B 3465           00938 RETLW  65
009C 342C           00939 RETLW  2C
009D 3420           00940 RETLW  20
009E 3444           00941 RETLW  44
009F 3420           00942 RETLW  20
00A0 3474           00943 RETLW  74
00A1 346F           00944 RETLW  6F
00A2 3420           00945 RETLW  20
00A3 3464           00946 RETLW  64
00A4 3469           00947 RETLW  69
00A5 3473           00948 RETLW  73
00A6 3470           00949 RETLW  70
00A7 346C           00950 RETLW  6C
00A8 3461           00951 RETLW  61
00A9 3479           00952 RETLW  79
00AA 343A           00953 RETLW  3A
00AB 3420           00954 RETLW  20
00AC 3400           00955 RETLW  00
025A 0196           00956 CLRF   16
025B 0816           00957 MOVF   16,W
025C 2085           00958 CALL   085
025D 0A96           00959 INCF   16,F
025E 009E           00960 MOVWF  1E
025F 20B6           00961 CALL   0B6
0260 3023           00962 MOVLW  23
0261 0216           00963 SUBWF  16,W
0262 1D03           00964 BTFSS  03,2
0263 2A5B           00965 GOTO   25B
0000                00966 ....................  
0000                00967 ....................    do { 
0000                00968 ....................       cmd=getc()%0xdf; 
0264 20D4           00969 CALL   0D4
0265 080D           00970 MOVF   0D,W
0266 0097           00971 MOVWF  17
0267 30DF           00972 MOVLW  DF
0268 0098           00973 MOVWF  18
0269 28F6           00974 GOTO   0F6
026A 080C           00975 MOVF   0C,W
026B 008E           00976 MOVWF  0E
0000                00977 ....................    } while ((cmd!='D')&&(cmd!='S')); 
026C 3044           00978 MOVLW  44
026D 020E           00979 SUBWF  0E,W
026E 1903           00980 BTFSC  03,2
026F 2A74           00981 GOTO   274
0270 3053           00982 MOVLW  53
0271 020E           00983 SUBWF  0E,W
0272 1D03           00984 BTFSS  03,2
0273 2A64           00985 GOTO   264
0000                00986 ....................  
0000                00987 ....................    if(cmd=='S') 
0274 3053           00988 MOVLW  53
0275 020E           00989 SUBWF  0E,W
0276 1903           00990 BTFSC  03,2
0000                00991 ....................      set_clock(); 
0277 2960           00992 GOTO   160
0000                00993 ....................  
0000                00994 ....................    printf("\r\n"); 
0278 300D           00995 MOVLW  0D
0279 009E           00996 MOVWF  1E
027A 20B6           00997 CALL   0B6
027B 300A           00998 MOVLW  0A
027C 009E           00999 MOVWF  1E
027D 20B6           01000 CALL   0B6
0000                01001 ....................    while (TRUE) { 
0000                01002 ....................       rtc_get_date( day, mth, year, dow); 
0000                01003 ....................       display_3_bcd( '/', day, mth, year ); 
02AC 302F           01004 MOVLW  2F
02AD 0096           01005 MOVWF  16
02AE 080F           01006 MOVF   0F,W
02AF 0097           01007 MOVWF  17
02B0 0810           01008 MOVF   10,W
02B1 0098           01009 MOVWF  18
02B2 0811           01010 MOVF   11,W
02B3 0099           01011 MOVWF  19
02B4 2232           01012 CALL   232
0000                01013 ....................       printf("    "); 
02B5 3004           01014 MOVLW  04
02B6 0096           01015 MOVWF  16
02B7 3020           01016 MOVLW  20
02B8 009E           01017 MOVWF  1E
02B9 20B6           01018 CALL   0B6
02BA 0B96           01019 DECFSZ 16,F
02BB 2AB7           01020 GOTO   2B7
0000                01021 ....................       rtc_get_time( hour, min, sec ); 
0000                01022 ....................       display_3_bcd( ':', hour, min, sec ); 
02E2 303A           01023 MOVLW  3A
02E3 0096           01024 MOVWF  16
02E4 0813           01025 MOVF   13,W
02E5 0097           01026 MOVWF  17
02E6 0814           01027 MOVF   14,W
02E7 0098           01028 MOVWF  18
02E8 0815           01029 MOVF   15,W
02E9 0099           01030 MOVWF  19
02EA 2232           01031 CALL   232
0000                01032 ....................       printf("\r"); 
02EB 300D           01033 MOVLW  0D
02EC 009E           01034 MOVWF  1E
02ED 20B6           01035 CALL   0B6
0000                01036 ....................       delay_ms(250); 
02EE 30FA           01037 MOVLW  FA
02EF 0096           01038 MOVWF  16
02F0 2A42           01039 GOTO   242
0000                01040 ....................    } 
02F1 2A7E           01041 GOTO   27E
0000                01042 .................... } 
02F2 0063           1043 SLEEP

SYMBOL TABLE
  LABEL                             VALUE

_RETURN_                          0000000D
MAIN.CMD                          0000000E
MAIN.DAY                          0000000F
MAIN.MTH                          00000010
MAIN.YEAR                         00000011
MAIN.DOW                          00000012
MAIN.HOUR                         00000013
MAIN.MIN                          00000014
MAIN.SEC                          00000015
DELAY_MS.P1                       00000016
RTC_GET_DATE.I                    00000016
RTC_GET_TIME.I                    00000016
SET_CLOCK.DAY                     00000016
DISPLAY_3_BCD.SEPARATOR           00000016
SET_CLOCK.MTH                     00000017
DISPLAY_3_BCD.A                   00000017
SET_CLOCK.YEAR                    00000018
DISPLAY_3_BCD.B                   00000018
SET_CLOCK.DOW                     00000019
DISPLAY_3_BCD.C                   00000019
SET_CLOCK.HOUR                    0000001A
DISPLAY_BCD.N                     0000001A
READ_RTC_BYTE.NUMBER_OF_BITS      0000001B
SET_CLOCK.MIN                     0000001B
READ_RTC_BYTE.I                   0000001C
RTC_SET_DATETIME.DAY              0000001C
GET_BCD.FIRST                     0000001C
READ_RTC_BYTE.DATA                0000001D
RTC_SET_DATETIME.MTH              0000001D
GET_BCD.SECOND                    0000001D
RTC_SET_DATETIME.YEAR             0000001E
RTC_SET_DATETIME.DOW              0000001F
RTC_SET_DATETIME.HOUR             00000020
RTC_SET_DATETIME.MIN              00000021
WRITE_RTC_BYTE.DATA_BYTE          00000022
WRITE_RTC_BYTE.NUMBER_OF_BITS     00000023
WRITE_RTC_BYTE.I                  00000024
DELAY_US.P1                       0000FFEF
DELAY_MS                          00000242
RTC_INIT                          000000AD
WRITE_RTC_BYTE                    00000140
READ_RTC_BYTE                     00000200
GET_BCD                           0000010B
SET_CLOCK                         00000160
DISPLAY_BCD                       0000021B
DISPLAY_3_BCD                     00000232
MAIN                              00000254

MEMORY USAGE

⌨️ 快捷键说明

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