📄 i2c.lst
字号:
A51 MACRO ASSEMBLER I2C 07/01/2005 22:47:06 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN I2C.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE I2C.a SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2
3
4
5
6
7
8
9 ;extrn data(Driver_Code)
0000 10 org 00h
0000 8003 11 sjmp M_rute
0003 12 org 03h
0003 0105 13 ajmp M_rute
14
0005 15 M_rute:
0005 C0E0 16 PUSH acc
0007 C000 17 push 00h
0009 C001 18 push 01h
000B C002 19 push 02h
000D C003 20 push 03h
000F C004 21 push 04h
0011 C005 22 push 05h
0013 C006 23 push 06h
0015 C007 24 push 07h
0017 C0D0 25 PUSH PSW
26
27
28
29
30
31
32
33
34
35
36
37
38
0019 C293 39 CLR P1.3 ;CLK=0
40
001B 78FF 41 mov r0,#0FFH
001D D8FE 42 DK: DJNZ R0,DK ;延时几ms,使的端口逻辑稳定。
43
001F D2A5 44 SETB P2.5 ;上电
0021 D294 45 setb P1.4 ;DAT=1;
46
0023 120082 47 lcall start_bus
48
0026 74A0 49 mov a,#0a0h ;发送器件地址
0028 120097 50 WR1: lcall SendByte
002B 40FB 51 jc WR1 ;没有应答信号则退出。
52
002D 7402 53 WR3: mov a,#02h ;发送RAM 地址
002F 120097 54 lcall SendByte
0032 40F9 55 jc WR3 ;没有应答信号则退出。
56
0034 120082 57 lcall start_bus ;再次启动I2C总线
58
A51 MACRO ASSEMBLER I2C 07/01/2005 22:47:06 PAGE 2
0037 74A1 59 WR5: mov a,#0a1h ;发送读信号
0039 1197 60 call SendByte
003B 40FA 61 jc WR5 ;没有应答信号则退出。
62 ;--------------------------------------------------------------------------------------
------
63 ;------------------------以下为接收
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -