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

📄 24cxx.lst

📁 at89s51实验例程代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
026D 12029E          163                     LCALL   WRITE_CMD
0270 E51F            164                     MOV     A,READ_DATA
0272 54F0            165                     ANL     A,#0F0H
0274 C4              166                     SWAP    A
0275 B40A00          167                     CJNE    A,#0AH,DPEEPMO_1
0278 5006            168     DPEEPMO_1:      JNC     DPEEPMO_2
027A 2430            169                     ADD     A,#30H
027C F531            170                     MOV     DAT_BYTE,A
027E 4184            171                     AJMP    DPEEPMO_3
0280 2437            172     DPEEPMO_2:      ADD     A,#37H
0282 F531            173                     MOV     DAT_BYTE,A
0284 1202B0          174     DPEEPMO_3:      LCALL   WRITE_DAT
                     175                             
0287 E51F            176                     MOV     A,READ_DATA
0289 540F            177                     ANL     A,#0FH
028B B40A00          178                     CJNE    A,#0AH,DPEEPMO_4
028E 5006            179     DPEEPMO_4:      JNC     DPEEPMO_5
0290 2430            180                     ADD     A,#30H
0292 F531            181                     MOV     DAT_BYTE,A
0294 8004            182                     SJMP    DPEEPMO_6
0296 2437            183     DPEEPMO_5:      ADD     A,#37H
0298 F531            184                     MOV     DAT_BYTE,A
A51 MACRO ASSEMBLER  24CXX                                                                11/13/2005 20:06:13 PAGE     4

029A 1202B0          185     DPEEPMO_6:      LCALL   WRITE_DAT
029D 22              186                     RET
                     187     
                     188     ;LCD1602要用到的一些子程序
                     189     ;写命令(入口参数CMD_BYTE)
029E C2B7            190     WRITE_CMD:      CLR     RS
02A0 C2B6            191                     CLR     RW
02A2 E530            192                     MOV     A,CMD_BYTE
02A4 F580            193                     MOV     LCDPORT,A
02A6 D2B5            194                     SETB    E
02A8 00              195                     NOP
02A9 00              196                     NOP
02AA C2B5            197                     CLR     E
02AC 1202ED          198                     LCALL   DELAY0
02AF 22              199                     RET
                     200     
                     201     ;写显示数据(入口参数DAT_BYTE)
02B0 D2B7            202     WRITE_DAT:      SETB    RS
02B2 C2B6            203                     CLR     RW
02B4 E531            204                     MOV     A,DAT_BYTE
02B6 F580            205                     MOV     LCDPORT,A
02B8 D2B5            206                     SETB    E
02BA 00              207                     NOP
02BB 00              208                     NOP
02BC C2B5            209                     CLR     E
02BE 1202ED          210                     LCALL   DELAY0
02C1 22              211                     RET
                     212     
                     213     ;LCD显示初始化
02C2 753030          214     INITLCD:        MOV     CMD_BYTE,#30H
02C5 12029E          215                     LCALL   WRITE_CMD
02C8 753030          216                     MOV     CMD_BYTE,#30H
02CB 12029E          217                     LCALL   WRITE_CMD
02CE 753030          218                     MOV     CMD_BYTE,#30H
02D1 12029E          219                     LCALL   WRITE_CMD
02D4 753038          220                     MOV     CMD_BYTE,#38H           ;设定工作方式
02D7 12029E          221                     LCALL   WRITE_CMD
02DA 75300C          222                     MOV     CMD_BYTE,#0CH           ;显示状态设置
02DD 12029E          223                     LCALL   WRITE_CMD
02E0 753001          224                     MOV     CMD_BYTE,#01H           ;清屏
02E3 12029E          225                     LCALL   WRITE_CMD
02E6 753006          226                     MOV     CMD_BYTE,#06H           ;输入方式设置
02E9 12029E          227                     LCALL   WRITE_CMD               
02EC 22              228                     RET
                     229     ;延时子程序
02ED 7DA0            230     DELAY0:         MOV     R5,#0A0H
02EF 00              231     DELAY1:         NOP
02F0 DDFD            232                     DJNZ    R5,DELAY1
02F2 22              233                     RET
                     234     
                     235     ;延时子程序
02F3 E51B            236     DELAY:          MOV     A,DELAYCOUNT
02F5 600C            237                     JZ      DELAY_RE
02F7 151B            238                     DEC     DELAYCOUNT
02F9 7FC8            239                     MOV     R7,#0C8H
02FB 00              240     DELAY_1:        NOP
02FC 00              241                     NOP
02FD 00              242                     NOP
02FE DFFB            243                     DJNZ    R7,DELAY_1
0300 0202F3          244                     LJMP    DELAY
0303 22              245     DELAY_RE:       RET                             
                     246     ;---------------读写8563要用到的子程序----------------
                     247     ;写8563(ADDRELO,WRITE_DATA)
0304 1203AF          248     WRITE_8563:     LCALL   STARTI2C
0307 200023          249                     JB      ERRFLAG,WRITE_8_RE
030A 74A2            250                     MOV     A,#0A2H
A51 MACRO ASSEMBLER  24CXX                                                                11/13/2005 20:06:13 PAGE     5

030C 120378          251                     LCALL   SHOUT_DATA
030F 200012          252                     JB      ERRFLAG,WRITE_8_STOP
0312 E51D            253                     MOV     A,ADDRELO
0314 120378          254                     LCALL   SHOUT_DATA
0317 20000A          255                     JB      ERRFLAG,WRITE_8_STOP
031A E51E            256                     MOV     A,WRITE_DATA
031C 120378          257                     LCALL   SHOUT_DATA
031F 200002          258                     JB      ERRFLAG,WRITE_8_STOP
0322 C200            259                     CLR     ERRFLAG
0324 1203CB          260     WRITE_8_STOP:   LCALL   STOPI2C
0327 751B0A          261                     MOV     DELAYCOUNT,#0AH
032A 1202F3          262                     LCALL   DELAY
032D 22              263     WRITE_8_RE:     RET
                     264                             
                     265     ;读8563(ADDRELO,出口为READ_DATA                 
032E 1203AF          266     READ_8563:      LCALL   STARTI2C
0331 200019          267                     JB      ERRFLAG,READ_8_RE
0334 74A2            268                     MOV     A,#0A2H
0336 120378          269                     LCALL   SHOUT_DATA
0339 20000E          270                     JB      ERRFLAG,READ_8_STOP
033C E51D            271                     MOV     A,ADDRELO
033E 120378          272                     LCALL   SHOUT_DATA
0341 200006          273                     JB      ERRFLAG,READ_8_STOP
0344 12034E          274                     LCALL   READ_8_CUR
0347 02034D          275                     LJMP    READ_8_RE
034A 1203CB          276     READ_8_STOP:    LCALL   STOPI2C
034D 22              277     READ_8_RE:      RET                     
                     278     
034E 1203AF          279     READ_8_CUR:     LCALL   STARTI2C
0351 200013          280                     JB      ERRFLAG,RE_8_CUR_RE
0354 74A3            281                     MOV     A,#0A3H
0356 120378          282                     LCALL   SHOUT_DATA
0359 200008          283                     JB      ERRFLAG,RE_8_CUR_ST
035C 120399          284                     LCALL   SHIN_DATA
035F 1203E5          285                     LCALL   NAK     
0362 C200            286                     CLR     ERRFLAG
0364 1203CB          287     RE_8_CUR_ST:    LCALL   STOPI2C
0367 22              288     RE_8_CUR_RE:    RET                                                             
                     289     
                     290     ;****读出的内容依次为“秒,分钟,小时,日,星期,月/世纪,年********************
0368 1203AF          291     GET8583:        LCALL   STARTI2C
036B                 292                     JB      ERRFLAG,GET_8_RE
*** _________________________________________________________^
*** ERROR #A45 IN 292 (D:\实验板\实验例程\8583读写\ASM\24CXX.ASM, LINE 292): UNDEFINED SYMBOL (PASS-2)
036E 74A2            293                     MOV     A,#0A2H
0370 120378          294                     LCALL   SHOUT_DATA
0373                 295                     JB      ERRFLAG,GET_8_STOP
*** _________________________________________________________^
*** ERROR #A45 IN 295 (D:\实验板\实验例程\8583读写\ASM\24CXX.ASM, LINE 295): UNDEFINED SYMBOL (PASS-2)
0376 7402            296                     MOV     A,#02H          
0378                 297                     LCALL   
*** _________________________________________^
*** ERROR #A38 IN 297 (D:\实验板\实验例程\8583读写\ASM\24CXX.ASM, LINE 297): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTI
                             ON
                     298     
                     299                     
                     300     
0378 7E08            301     SHOUT_DATA:     MOV     R6,#08H         
037A 33              302     SHOUT_DATA1:    RLC     A
037B 92A7            303                     MOV     SDA,C
037D 00              304                     NOP
037E D2A6            305                     SETB    SCK
0380 00              306                     NOP
0381 00              307                     NOP
0382 00              308                     NOP
0383 00              309                     NOP
A51 MACRO ASSEMBLER  24CXX                                                                11/13/2005 20:06:13 PAGE     6

0384 C2A6            310                     CLR     SCK
0386 DEF2            311                     DJNZ    R6,SHOUT_DATA1
0388 D2A7            312                     SETB    SDA
038A 00              313                     NOP
038B 00              314                     NOP
038C D2A6            315                     SETB    SCK
038E 00              316                     NOP
038F 00              317                     NOP
0390 00              318                     NOP
0391 00              319                     NOP
0392 A2A7            320                     MOV     C,SDA
0394 9200            321                     MOV     ERRFLAG,C
0396 C2A6            322                     CLR     SCK
0398 22              323                     RET             
                     324     
                     325     
0399 D2A7            326     SHIN_DATA:      SETB    SDA
039B 7E08            327                     MOV     R6,#08H
039D 00              328     SHIN_DATA1:     NOP
039E 00              329                     NOP
039F 00              330                     NOP

⌨️ 快捷键说明

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