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

📄 24c02.lst

📁 此程序为调试通过的程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
                                                                                        页     1
                                                                                        09-11-05
                                                                                        10:10:20
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

            clk       bit  p2.5
            dout      bit  p2.6
            SDA	  BIT	P3.5
            SCL	  BIT	P3.4
            en        bit  p2.7
            KEYBUF    EQU  35H
            KEY       EQU  39H
            DISPBUF   EQU  20H
            FLAG0     EQU  0
            ;***************************************************
                        ORG   000H
0000 2100               AJMP  START
            ;***************************************************
                        ORG   0100H
            START:
0100 787F               MOV   R0,#7FH
0102 E4                 CLR   A
0103 F6     CLRRAM:     MOV   @R0,A
0104 D8FD               DJNZ  R0,CLRRAM
0106 75817D             MOV   SP,#7DH
            ;***************************************************
0109 7580FF             MOV   P0,#0FFH
010C 7590FF             MOV   P1,#0FFH
010F 75A0FF             MOV   P2,#0FFH
0112 75B0FF             MOV   P3,#0FFH
            ;***************************************************
            ;初始化参数
            ;***************************************************
            ;主程序
            ;***************************************************
            WAIT:
            
            ;***************************************************
0115 1201B4         LCALL   KEYINPUT           ;是否有键按下?
0118 E500           MOV     A,FLAG0
011A B401F8         CJNE    A,#1,WAIT
011D E539           MOV     A,KEY
            ;***************************************************
            
011F B40B03            CJNE  A,#0BH, PANDUAN1
0122 02033D            LJMP  DISPMIMA
0125 B40C03 PANDUAN1:  CJNE  A,#0CH, PANDUAN2
0128 020134            LJMP  CLRDISP
012B B40A03 PANDUAN2:  CJNE  A,#0AH, PANDUAN3
012E 02013A            LJMP  SETMIMA
            PANDUAN3:
            
0131 020115            LJMP  WAIT


C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\汇编程序\已调通的程序\LED\24C02.ASM         
 
                                                                                        页     2
                                                                                        09-11-05
                                                                                        10:10:20
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

            ;******************************************************************************
            ;清屏:  LED
            ;******************************************************************************
            CLRDISP:
0134 12031B         LCALL   CLRLED          ;LED显示6个0
0137 020115         LJMP    WAIT
            
            
            ;**********************************************
            ;设置密码
            ;**********************************************
            
            SETMIMA:
013A 12014C            LCALL  TIANC
013D 7BA0              MOV     R3,#0A0H
013F 7C01              MOV     R4,#01H
0141 7920              MOV     R1,#DISPBUF
0143 09                INC     R1            ;密码在DISPBUF+1处
0144 7F06              MOV     R7,#6
0146 120176            LCALL  WR24C02
0149 020115            LJMP   WAIT
            ;**********************************************
            ;填充显示缓冲区556688
            TIANC:
014C 7420           MOV     A,#DISPBUF
014E F8             MOV     R0,A
014F 7400           MOV     A,#0H             ;小数点位/不显示
0151 F6             MOV     @R0,A
0152 08             inc     r0
0153 7408           mov     a,#8H
0155 F6             mov     @r0,a
0156 08             inc     r0
0157 7408           mov     a,#08H
0159 F6             mov     @r0,a
015A 08             inc     r0
015B 7406           mov     a,#06H
015D F6             mov     @r0,a
015E 08             inc     r0
015F 7406           mov     a,#06H
0161 F6             mov     @r0,a
0162 08             inc     r0
0163 7405           mov     a,#05H
0165 F6             mov     @r0,a
0166 08             inc     r0
0167 7405           mov     a,#05H
0169 F6             mov     @r0,a
016A 08             inc     r0
016B 7401           mov     a,#01H		;识别码=01


C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\汇编程序\已调通的程序\LED\24C02.ASM         
 
                                                                                        页     3
                                                                                        09-11-05
                                                                                        10:10:20
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

016D F6             mov     @r0,a
016E 08             inc     r0
016F 7401           mov     a,#01H		;蜂鸣器鸣叫,二次分频
0171 F6             mov     @r0,a
0172 120308         LCALL   DELY10MS
0175 22             RET
            ;*********************************************************
            ;****************************************************************************
            ;写串行E2PROM子程序WR24C02
            ; (R3)=10100000(命令1010+器件3位地址+读/写(1/0)。 器件地址:一个芯片是000)
            ; (R4)=片内字节地址
            ; (R1)=欲写数据存放地址指针
            ; (R7)=连续写字节数n
            ;****************************************************************************
            WR24C02:
0176 75B0FF      MOV    P3,#0FFH
0179 C2B5        CLR    SDA     ; 发开始信号
017B EB          MOV    A,R3    ; 送器件地址
017C 3192        ACALL  SUBS
017E EC          MOV    A,R4    ; 送片内字节地址
017F 3192        ACALL  SUBS
            AGAIN:
0181 E7          MOV     A,@R1
0182 3192        ACALL   SUBS   ;调发送单字节子程序
0184 09          INC     R1
0185 DFFA        DJNZ    R7,AGAIN;连续写n个字节
0187 C2B5        CLR     SDA     ;SDA置0, 准备送停止信号
0189 31AD        ACALL   DELAY2  ;延时以满足传输速率要求
018B D2B4        SETB    SCL     ;发停止信号
018D 31AD        ACALL   DELAY2
018F D2B5        SETB    SDA
0191 22          RET
            SUBS:
0192 7808        MOV     R0,#08H ;发送单字节子程序
            LOOP11:
0194 C2B4        CLR     SCL
0196 33          RLC     A
0197 92B5        MOV     SDA,C
0199 00          NOP
019A D2B4        SETB    SCL
019C 31AD        ACALL   DELAY2
019E D8F4        DJNZ    R0,LOOP11 ;循环8次送8个bit
01A0 C2B4        CLR     SCL
01A2 31AD        ACALL   DELAY2
01A4 D2B4        SETB    SCL
01A6 A2B5   REP: MOV     C,SDA
01A8 40FC        JC      REP        ;判应答到否,未到则等待
01AA C2B4        CLR     SCL


C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\汇编程序\已调通的程序\LED\24C02.ASM         
 
                                                                                        页     4
                                                                                        09-11-05
                                                                                        10:10:20
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

01AC 22          RET
            
            DELAY2:
01AD 00          NOP
01AE 00          NOP
01AF 00          NOP
01B0 00          NOP
01B1 00          NOP
01B2 00          NOP
01B3 22          RET
            
            
             ;*******************************************************************************************
            ;键盘处理子程序
            ;input:   KEYBUF,TAB
            ;OUTPUT:  KEY:键值
            ;出口:FLAG0=1 有按键
            ;            0 无
            ;*******************************************************************************************
            KEYINPUT:
01B4 753502             MOV         KEYBUF,#2
            ;
01B7 7580FF             MOV         P0,#0FFH
01BA C284               CLR         P0.4
01BC E580               MOV         A,P0
01BE 540F               ANL         A,#0FH
01C0 640F               XRL         A,#0FH          ;有键按下吗?
01C2 6047               JZ          NOKEY1
01C4 120311             LCALL       DELY10US
01C7 E580               MOV         A,P0
01C9 540F               ANL         A,#0FH
01CB 640F               XRL         A,#0FH          ;真的有键按下吗?
01CD 603C               JZ          NOKEY1
01CF E580               MOV         A,P0
01D1 540F               ANL         A,#0FH
01D3 B40E06             CJNE        A,#0EH,NK1      ;键码的值是多少?P0.4xP0.0
01D6 753503             MOV         KEYBUF,#3
01D9 0201F8             LJMP        DK1
01DC B40D06 NK1:        CJNE        A,#0DH,NK2      ;键码是P0.4xP0.1 ?
01DF 753502             MOV         KEYBUF,#2
01E2 0201F8             LJMP        DK1
01E5 B40B06 NK2:        CJNE        A,#0BH,NK3      ;键码是P0.4xP0.2 ?
01E8 753501             MOV         KEYBUF,#1
01EB 0201F8             LJMP        DK1
01EE B40706 NK3:        CJNE        A,#07H,NK4      ;键码是P0.4xP0.3 ?
01F1 753500             MOV         KEYBUF,#0
01F4 0201F8             LJMP        DK1
01F7 00     NK4:        NOP


C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\汇编程序\已调通的程序\LED\24C02.ASM         
 
                                                                                        页     5
                                                                                        09-11-05
                                                                                        10:10:20
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

            DK1:
01F8 E535               MOV         A,KEYBUF
01FA 9003ED             MOV         DPTR,#TAB
01FD 93                 MOVC        A,@A+DPTR       ;查表,取键值
01FE F539               MOV         KEY,A
0200 750001             MOV         FLAG0,#1        ;FLAG0=1
            
0203 E580   DK1A:       MOV         A,P0
0205 540F               ANL         A,#0FH
0207 640F               XRL         A,#0FH          ;按键有没有松开?
0209 70F8               JNZ         DK1A
            NOKEY1:
020B 7580FF             MOV         P0,#0FFH
020E C285               CLR         P0.5
0210 E580               MOV         A,P0
0212 540F               ANL         A,#0FH
0214 640F               XRL         A,#0FH
0216 6047               JZ          NOKEY2
0218 120311             LCALL       DELY10US
021B E580               MOV         A,P0
021D 540F               ANL         A,#0FH
021F 640F               XRL         A,#0FH
0221 603C               JZ          NOKEY2
0223 E580               MOV         A,P0
0225 540F               ANL         A,#0FH
0227 B40E06             CJNE        A,#0EH,NK5
022A 753507             MOV         KEYBUF,#7
022D 02024C             LJMP        DK2
0230 B40D06 NK5:        CJNE        A,#0DH,NK6
0233 753506             MOV         KEYBUF,#6
0236 02024C             LJMP        DK2
0239 B40B06 NK6:        CJNE        A,#0BH,NK7
023C 753505             MOV         KEYBUF,#5

⌨️ 快捷键说明

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