📄 7290jt.lst
字号:
A51 MACRO ASSEMBLER 7290JT 07/20/2004 09:23:22 PAGE 1
MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN 7290jt.OBJ
ASSEMBLER INVOKED BY: e:\Keil\C51\BIN\A51.EXE 7290jt.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0097 1 SDA BIT P1.7 ;I2C总线定义
0096 2 SCL BIT P1.6
0030 3 MTD EQU 30H ;发送数据缓冲器
0040 4 MRD EQU 40H ;接收数据缓冲区
5
6 ;定义器件地址,变量
0070 7 ZLG7290 EQU 70H ;ZLG7290的器件地址
0010 8 ACK BIT 10H ;应答标志位
0011 9 KEYON BIT 11H ;有键按下的标志位
0012 10 K1_ON BIT 12H ;已经按下过k1的标志位
0050 11 SLA DATA 50H ;器件的从地址
0051 12 SUBA DATA 51H ;器件的子地址
0052 13 NUMBYTE DATA 52H ;读/写的字节数变量
0053 14 BLINK DATA 53H ;控制闪烁的变量
0054 15 NUM DATA 54H ;指向DISP_BUF的值的变量
0060 16 DISP_BUF EQU 60H ;显示缓冲区
17
18
19
8000 20 ORG 8000H
8000 2100 21 AJMP MAIN
8003 22 ORG 8003H
8003 21B3 23 AJMP KEYINT0
8100 24 ORG 8100H
8100 7CF0 25 MAIN: MOV R4,#0F0H ;延时,等待芯片复位
8102 DCFE 26 DJNZ R4,$
8104 755301 27 MOV BLINK,#01H ;给闪烁控制变量赋初值
8107 755400 28 MOV NUM,#00H ;给要指向的变量赋初值
810A C211 29 CLR KEYON ;有键按下的标志位清零
810C C212 30 CLR K1_ON ;按下过k1的标志位清零
810E D288 31 SETB IT0 ;设置外部中断为边沿触发方式
8110 D2A8 32 SETB EX0 ;开放外部中断0
8112 D2AF 33 SETB EA ;开放总中断
34
35
36 ;给显示缓冲区赋值0~8
8114 7860 37 MOV R0,#DISP_BUF ;取显示缓冲区地址
8116 7400 38 MOV A,#00H ;赋初值
8118 7908 39 MOV R1,#08H ;循环8次
811A F6 40 WRDISP_BUF: MOV @R0,A ;将值送入显示缓冲区
811B 08 41 INC R0 ;地址加1
811C 04 42 INC A ;数值加1
811D D9FB 43 DJNZ R1,WRDISP_BUF ;循环8次了吗?
44
45
46 ;在LED上显示数字0~8,
47 ;入口参数:R6:复合命令的第一个字节,R7:复合命令的第二个字节。R2:要显示的LED数
48
811F 7E60 49 MOV R6,#60H ;复合命令第一个字节的初值,是按位下载数据并
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -