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

📄 2008_10_09.lst

📁 读51按键
💻 LST
字号:
A51 MACRO ASSEMBLER  2008_10_09                                                           11/12/2008 21:05:12 PAGE     1


MACRO ASSEMBLER A51 V1.11
OBJECT MODULE PLACED IN 2008_10_09.OBJ
ASSEMBLER INVOKED BY: C:\MANLEY\PMEDWIN\A51.EXE 2008_10_09.ASM DB

LOC  OBJ            LINE     SOURCE

                       1     ;******************************************************************
                       2     ;模块名:       通信宝开发板    硬件型号:      STC89C52
                       3     ;创建人:       张轩伟              日期:      2008_10_09
                       4     ;修改人:       张轩伟              日期:      2008_10_09
                       5     ;功能描述:     读开发板上P1.0~p1.3键值,并返回到PC机上串口调试助手
                       6     ;其他说明:     暂无
                       7     ;版本:         1.0
                       8     ;******************************************************************
0000                   9             ORG 0000H       
0000 0130             10             AJMP MAIN               ;主程序入口
0023                  11             ORG 0023H
0023 01A0             12             AJMP RS232              ;串行中断程序入口
0030                  13             ORG 0030H       
0030 758920           14     MAIN:   MOV TMOD,#20H           ;初始化定时器1为方式2
0033 758700           15             MOV PCON,#00H           ;SMOD=0,波特率不倍增
0036 759850           16             MOV SCON,#50H           ;串行口方式一,允许接收
0039 758DFA           17             MOV TH1,#0FAH           ;波特率:4800
003C 758BFA           18             MOV TL1,#0FAH   
003F D28E             19             SETB TR1                ;启动定时器1
0041 D2AF             20             SETB EA                 ;开启总中断
0043 D2AC             21             SETB ES                 ;开启串行中断
0045 7590FF           22             MOV P1,#0FFH            ;初始化P1口
0048 E590             23     KEY:    MOV A,P1                ;读P1口
004A 540F             24             ANL A,#0FH              ;屏蔽高四位
004C B40F03           25             CJNE A,#0FH,KEY1        ;判断有无按键按下
004F 020048           26             LJMP KEY                
0052 120097           27     KEY1:   LCALL DELAY             ;10MS延时,消抖与确认按键
0055 E590             28             MOV A,P1                ;读P1口
0057 540F             29             ANL A,#0FH              ;屏蔽高四位
0059 B40F03           30             CJNE A,#0FH,KEY2        ;判断有无按键   
005C 020048           31             LJMP KEY                
005F B40E06           32     KEY2:   CJNE A,#0EH,KEY3        ;判断P1.0有无键按下
0062 75997A           33             MOV SBUF,#122           ;发送ASC||字符"z"至PC
0065 020083           34             LJMP KEY9               
0068 B40D06           35     KEY3:   CJNE A,#0DH,KEY4        ;判断P1.1有无键按下
006B 759978           36             MOV SBUF,#120           ;发送ASC||字符"x"至PC   
006E 020083           37             LJMP KEY9               
0071 B40B06           38     KEY4:   CJNE A,#0BH,KEY5        ;判断P1.2有无键按下
0074 759977           39             MOV SBUF,#119           ;发送ASC||字符"w"至PC           
0077 020083           40             LJMP KEY9               
007A B40706           41     KEY5:   CJNE A,#07H,KEY9        ;判断P1.3有无键按下
007D 759976           42             MOV SBUF,#118           ;发送ASC||字符"v"至PC
0080 020083           43             LJMP KEY9
0083 E590             44     KEY9:   MOV A,P1                ;读P1口
0085 540F             45             ANL A,#0FH              ;屏蔽高四位
0087 B40FF9           46             CJNE A,#0FH,KEY9        ;判断按键是否断开
008A 120097           47             LCALL DELAY             ;10ms延时
008D E590             48             MOV A,P1                ;读P1口
008F 540F             49             ANL A,#0FH              ;屏蔽高四位
0091 B40FEF           50             CJNE A,#0FH,KEY9        ;判断按键是否断开
0094 020048           51             LJMP KEY                
0097 7E14             52     DELAY:  MOV R6,#014H            ;10MS延时
0099 7FFF             53     DELY1:  MOV R7,#0FFH            
009B DFFE             54             DJNZ R7,$               
009D DEFA             55             DJNZ R6,DELY1           
009F 22               56             RET                     
                      57     ;串行服务中断子程序             
00A0 309808           58     RS232:  JNB RI,RSI              ;判断是否接收标志
A51 MACRO ASSEMBLER  2008_10_09                                                           11/12/2008 21:05:12 PAGE     2

00A3 C298             59             CLR RI                  ;清接收中断标志RI
00A5 859940           60             MOV 40H,SBUF            ;将接受命令存至40H
00A8 8540A0           61             MOV P2,40H
00AB 309902           62     RSI:    JNB TI,RSI2             ;判断是否发送标志
00AE C299             63             CLR TI                  ;清发送中断标志TI
00B0 32               64     RSI2:   RETI                    ;中断返回
                      65             END
A51 MACRO ASSEMBLER  2008_10_09                                                           11/12/2008 21:05:12 PAGE     3

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


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

DELAY. . . . . . .  C ADDR   0097H   A   
DELY1. . . . . . .  C ADDR   0099H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ES . . . . . . . .  B ADDR   00A8H.4 A   
KEY. . . . . . . .  C ADDR   0048H   A   
KEY1 . . . . . . .  C ADDR   0052H   A   
KEY2 . . . . . . .  C ADDR   005FH   A   
KEY3 . . . . . . .  C ADDR   0068H   A   
KEY4 . . . . . . .  C ADDR   0071H   A   
KEY5 . . . . . . .  C ADDR   007AH   A   
KEY9 . . . . . . .  C ADDR   0083H   A   
MAIN . . . . . . .  C ADDR   0030H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
PCON . . . . . . .  D ADDR   0087H   A   
RI . . . . . . . .  B ADDR   0098H.0 A   
RS232. . . . . . .  C ADDR   00A0H   A   
RSI. . . . . . . .  C ADDR   00ABH   A   
RSI2 . . . . . . .  C ADDR   00B0H   A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR1. . . . . . . .  B ADDR   0088H.6 A   


REGISTER BANK(S) USED: 0 


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

⌨️ 快捷键说明

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