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

📄 ir-12864lcd.lst

📁 含有多个汇编以及c语言编程实例 用于单片机
💻 LST
📖 第 1 页 / 共 2 页
字号:
0155 5127            220      I20:     CALL  DEL
0157 DCFC            221               DJNZ  R4,I20
0159 20B2ED          222               JB  IRIN,I1        ;确认IR信号出现
015C 20B204          223      I21:     JB  IRIN,I3        ;等 IR 变为高电平
015F 5127            224               CALL  DEL
0161 80F9            225               JMP  I21
0163 7B00            226      I3:      MOV  R3,#0         ;8位数清为0
0165 30B204          227      LL:      JNB  IRIN,I4       ;等 IR 变为低电平
0168 5127            228               CALL  DEL
016A 80F9            229               JMP  LL
016C 20B204          230      I4:      JB  IRIN,I5        ;等 IR 变为高电平
016F 5127            231               CALL  DEL
0171 80F9            232               JMP  I4
0173 7A00            233      I5:      MOV  R2,#0         ;0.14ms 计数
0175 5127            234      L1:      CALL  DEL
0177 20B213          235               JB  IRIN, N1       ;等 IR 变为高电平
                     236                                  ;IR=0,检查R2中的计数值
017A 7408            237               MOV  A,#8
017C C3              238               CLR  C
017D 9A              239               SUBB  A,R2         ;判断高低位
                     240                                  ;IF C=0  BIT=0
017E E6              241               MOV  A,@R0
017F 13              242               RRC  A
A51 MACRO ASSEMBLER  IR_12864LCD                                                          10/12/2006 09:00:05 PAGE     5

0180 F6              243               MOV  @R0,A         ;处理完一位
0181 0B              244               INC  R3
0182 BB08E0          245               CJNE  R3,#8,LL     ;需处理完8位
0185 7B00            246               MOV  R3,#0
0187 08              247               INC  R0
0188 B824DA          248               CJNE  R0,#24H,LL   ;收集到4字节了
018B 800B            249               JMP   IR_SHOW
018D 0A              250      N1:      INC  R2
018E BA1EE4          251               CJNE  R2,#30,L1    ;0.14ms 计数过长则时间到自动离开
                     252     
0191 D0D0            253     IR_OUT:   POP  PSW
0193 D0E0            254               POP  ACC
0195 D2AF            255               SETB  EA
0197 32              256               RETI
                     257     
                     258     ;------------------------------------------------------------------
0198                 259     IR_SHOW:
0198 E522            260               MOV A,22H
019A F4              261               CPL A                ;将22H取反后和23H比较
019B B52304          262               CJNE A,23H,IR_SHOW1  ;如果不等表示接收数据发生错误,放弃。
019E 31A4            263               CALL   CONV
01A0 5109            264               CALL  BEEP_BL        ;蜂鸣器鸣响表示解码成功
01A2                 265     IR_SHOW1:
01A2 80ED            266               JMP  IR_OUT
                     267     ;===============================================
                     268     ;编码转换为 ASCII 码并显示
                     269     ;===============================================
01A4                 270     CONV:
01A4 752605          271               MOV   X,#5        ;设置显示起始位置
01A7 E522            272               MOV   A,22H
01A9 54F0            273               ANL   A,#0F0H      ;取出高四位二进制数
01AB C4              274               SWAP  A            ;高四位与低四位互换
01AC C0E0            275               PUSH  ACC          ;压入堆栈
01AE C3              276               CLR   C            ;C=0
01AF 940A            277               SUBB  A,#0AH       ;减10
01B1 D0E0            278               POP   ACC          ;弹出堆栈
01B3 4002            279               JC    ASCII0       ;该数小于10,转ASCII0
01B5 2407            280               ADD   A,#07H       ;大于10的数加上37H
01B7 2430            281     ASCII0:   ADD   A,#30H       ;小于10的数加上30H
01B9 8526F0          282               MOV   B,X
01BC 3121            283               CALL  LCDP3
                     284     
01BE E522            285               MOV   A,22H
01C0 540F            286               ANL   A,#0FH        ;取出低四位二进制数
01C2 C0E0            287               PUSH  ACC
01C4 C3              288               CLR   C
01C5 940A            289               SUBB  A,#0AH        ;减10
01C7 D0E0            290               POP   ACC
01C9 4002            291               JC    ASCII1        ;该数小于10,转ASCII0
01CB 2407            292               ADD   A,#07H        ;大于10的数加上37H
01CD 2430            293     ASCII1:   ADD   A,#30H        ;小于10的数加上30H
01CF 0526            294               INC   X
01D1 8526F0          295               MOV   B,X
01D4 3121            296               CALL  LCDP3
                     297     
01D6 752605          298               MOV   X,#5         ;设置显示起始位置
01D9 E523            299               MOV   A,23H        ;反码
01DB 54F0            300               ANL   A,#0F0H      ;取出高四位二进制数
01DD C4              301               SWAP  A            ;高四位与低四位互换
01DE C0E0            302               PUSH  ACC          ;压入堆栈
01E0 C3              303               CLR   C            ;C=0
01E1 940A            304               SUBB  A,#0AH       ;减10
01E3 D0E0            305               POP   ACC          ;弹出堆栈
01E5 4002            306               JC    ASCII2       ;该数小于10,转ASCII0
01E7 2407            307               ADD   A,#07H       ;大于10的数加上37H
01E9 2430            308     ASCII2:   ADD   A,#30H       ;小于10的数加上30H
A51 MACRO ASSEMBLER  IR_12864LCD                                                          10/12/2006 09:00:05 PAGE     6

01EB 8526F0          309               MOV   B,X
01EE 312E            310               CALL  LCDP4
                     311     
01F0 E523            312               MOV   A,23H
01F2 540F            313               ANL   A,#0FH        ;取出低四位二进制数
01F4 C0E0            314               PUSH  ACC
01F6 C3              315               CLR   C
01F7 940A            316               SUBB  A,#0AH        ;减10
01F9 D0E0            317               POP   ACC
01FB 4002            318               JC    ASCII3        ;该数小于10,转ASCII0
01FD 2407            319               ADD   A,#07H        ;大于10的数加上37H
01FF 2430            320     ASCII3:   ADD   A,#30H        ;小于10的数加上30H
0201 0526            321               INC   X
0203 8526F0          322               MOV   B,X
0206 312E            323               CALL  LCDP4
0208 22              324               RET
                     325     ;===================================================
                     326     ;蜂鸣器响一声子程序
                     327     ;===================================================
0209                 328     BEEP_BL:
0209 7E64            329              MOV  R6,#100
020B 5116            330       BL1:   CALL  DEX1
020D B2B7            331              CPL  BEEP
020F DEFA            332              DJNZ  R6,BL1
0211 7D19            333              MOV  R5,#25
0213 511C            334              CALL  DELAY
0215 22              335              RET
0216 7FB4            336      DEX1:   MOV  R7,#180
0218 00              337      DEX2:   NOP
0219 DFFD            338              DJNZ  R7,DEX2
021B 22              339              RET
021C                 340      DELAY:                    ;延时R5×10MS
021C 7E32            341              MOV  R6,#50
021E 7F64            342       D1:    MOV  R7,#100
0220 DFFE            343              DJNZ  R7,$
0222 DEFA            344              DJNZ  R6,D1
0224 DDF6            345              DJNZ  R5,DELAY
0226 22              346              RET
                     347     ;===============================================
                     348     ; DELAY  R5*0.14MS
0227                 349     DEL:
0227 7D01            350               MOV  R5,#1       ;IR解码使用
0229 7E02            351     DEL0:     MOV  R6,#2
022B 7F20            352     DEL1:     MOV  R7,#32
022D DFFE            353     DEL2:     DJNZ  R7,DEL2
022F DEFA            354               DJNZ  R6,DEL1
0231 DDF6            355               DJNZ  R5,DEL0
0233 22              356               RET
                     357     
0234                 358     DELAY1:                    ;延时5MS
0234 7E19            359              MOV  R6,#25
0236 7F64            360       DL2:   MOV  R7,#100
0238 DFFE            361              DJNZ  R7,$
023A DEFA            362              DJNZ  R6,DL2
023C 22              363              RET
                     364     ;================================================
                     365             END
A51 MACRO ASSEMBLER  IR_12864LCD                                                          10/12/2006 09:00:05 PAGE     7

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
ASCII0 . . . . . .  C ADDR   01B7H   A   
ASCII1 . . . . . .  C ADDR   01CDH   A   
ASCII2 . . . . . .  C ADDR   01E9H   A   
ASCII3 . . . . . .  C ADDR   01FFH   A   
B. . . . . . . . .  D ADDR   00F0H   A   
BEEP . . . . . . .  B ADDR   00B0H.7 A   
BEEP_BL. . . . . .  C ADDR   0209H   A   
BL1. . . . . . . .  C ADDR   020BH   A   
CL1. . . . . . . .  C ADDR   0099H   A   
CLR_LINE . . . . .  C ADDR   0097H   A   
CONV . . . . . . .  C ADDR   01A4H   A   
D1 . . . . . . . .  C ADDR   021EH   A   
DEL. . . . . . . .  C ADDR   0227H   A   
DEL0 . . . . . . .  C ADDR   0229H   A   
DEL1 . . . . . . .  C ADDR   022BH   A   
DEL2 . . . . . . .  C ADDR   022DH   A   
DELAY. . . . . . .  C ADDR   021CH   A   
DELAY0 . . . . . .  C ADDR   011CH   A   
DELAY1 . . . . . .  C ADDR   0234H   A   
DEX1 . . . . . . .  C ADDR   0216H   A   
DEX2 . . . . . . .  C ADDR   0218H   A   
DL2. . . . . . . .  C ADDR   0236H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
EN . . . . . . . .  B ADDR   00A0H.2 A   
FILL . . . . . . .  C ADDR   008BH   A   
I1 . . . . . . . .  C ADDR   0149H   A   
I2 . . . . . . . .  C ADDR   0153H   A   
I20. . . . . . . .  C ADDR   0155H   A   
I21. . . . . . . .  C ADDR   015CH   A   
I3 . . . . . . . .  C ADDR   0163H   A   
I4 . . . . . . . .  C ADDR   016CH   A   
I5 . . . . . . . .  C ADDR   0173H   A   
IE . . . . . . . .  D ADDR   00A8H   A   
IRCOM. . . . . . .  N NUMB   0020H   A   
IRIN . . . . . . .  B ADDR   00B0H.2 A   
IR_IN. . . . . . .  C ADDR   013BH   A   
IR_OUT . . . . . .  C ADDR   0191H   A   
IR_SHOW. . . . . .  C ADDR   0198H   A   
IR_SHOW1 . . . . .  C ADDR   01A2H   A   
L1 . . . . . . . .  C ADDR   0175H   A   
LC1. . . . . . . .  C ADDR   0091H   A   
LCDP3. . . . . . .  C ADDR   0121H   A   
LCDP4. . . . . . .  C ADDR   012EH   A   
LCD_SHOW . . . . .  C ADDR   0051H   A   
LINE1. . . . . . .  C ADDR   0054H   A   
LINE2. . . . . . .  C ADDR   0060H   A   
LINE3. . . . . . .  C ADDR   006FH   A   
LINE4. . . . . . .  C ADDR   007EH   A   
LINE5. . . . . . .  C ADDR   0090H   A   
LL . . . . . . . .  C ADDR   0165H   A   
LOOP0. . . . . . .  C ADDR   000CH   A   
LOOP1. . . . . . .  C ADDR   0028H   A   
LOOP2. . . . . . .  C ADDR   002FH   A   
LOOP3. . . . . . .  C ADDR   0034H   A   
MAIN . . . . . . .  C ADDR   0005H   A   
MENU1. . . . . . .  C ADDR   00A0H   A   
MENU1A . . . . . .  C ADDR   00A8H   A   
MENU2. . . . . . .  C ADDR   00B9H   A   
MENU2A . . . . . .  C ADDR   00C1H   A   
A51 MACRO ASSEMBLER  IR_12864LCD                                                          10/12/2006 09:00:05 PAGE     8

MENU3. . . . . . .  C ADDR   00D2H   A   
MENU3A . . . . . .  C ADDR   00DAH   A   
MENU4. . . . . . .  C ADDR   00EAH   A   
MENU4A . . . . . .  C ADDR   00F2H   A   
N1 . . . . . . . .  C ADDR   018DH   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PSB. . . . . . . .  B ADDR   00A0H.3 A   
PSW. . . . . . . .  D ADDR   00D0H   A   
RELAY. . . . . . .  B ADDR   0090H.3 A   
RS . . . . . . . .  B ADDR   00A0H.0 A   
RST. . . . . . . .  B ADDR   00A0H.5 A   
RW . . . . . . . .  B ADDR   00A0H.1 A   
SET_LCD. . . . . .  C ADDR   0036H   A   
SP . . . . . . . .  D ADDR   0081H   A   
TCON . . . . . . .  D ADDR   0088H   A   
WCOM . . . . . . .  C ADDR   0102H   A   
WDATA. . . . . . .  C ADDR   010FH   A   
X. . . . . . . . .  N NUMB   0026H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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