这几天研究IIC总线,重新按自己的思路写了这个24C02的读写程序,用于在自己的主程序中调用。24C02可用于对数据采集的掉电保存或者系统的设置的读取或保存,对于没有数据保存能力的MCU是有很大作用的。使用两个I/O口模拟IIC总线与24C02做数据通信,很多人总觉得汇编很复杂,其实优化过的汇编是很简洁的,直指硬件的时序操作,也很直观,汇编达人请指正一些不够完善的地方,也欢迎大家讨论~~ [s:227]
分享一下汇编程序如下:
;数据写或读用A作为位载体,R2作为24c02位置字节地址,R3是写入或读出的内容
SDA EQU P2.0;定义24C02的串行数据线
SCL EQU P2.1;定义24C02的串行时钟线
ORG 0000H
AJMP START
ORG 0030H
START:MOV SP,#60H MAIN: 放入需要的主程序
AJMP
You can't use 'macro parameter character #' in math modeYou can't use 'macro parameter character #' in math mode DJNZ R6,WR0
RET
END