电路设计,软件开发,专业项目团队承接电子产品开发!


ISPRO下载型编程器
火爆销售中

RS232/TTL转换器
全IC串口窃电

RS232/TTL转换线
全IC串口窃电

ByteBlasterMV Cable
CPLD/FPGA并口下载线

ByteBlaster II Cable ISPRO下载型编程器
支持S51/AVR/PIC
超级51开发板套件
前卫实用超值

PC/MCU/CPLD
三合一学习套件

全新万年历方案
AVR单片机开发板
 

Min51单片机仿真机
迷你型

ARM7开发板
仅售260元!
 

RS-232/RS-485双向接口电平转换器  

51单片机升级STM32
火爆销售中
MPLAB-ICD2
火爆销售中
LED51开发板
玩具又名图文显示棒

面板模块/开发板
经济危机明智决择

       

GSM MODEM GSM猫

SMS短信模块 工业级/全自动
火爆销售中

大功率数传电台

高速数传电台

您当前位置:电子技术资料 -> 外围驱动 -> EEPROM ->

祝您阅读愉快!

ISPRO下载型编程器

RS232 TO TTL转换器
↑↑本文相关产品介绍↑↑

AT24C16读写汇编程序


类别:技术文章
来源:未知
作者:未知
关键字:AT24C16
加入日期:2010-8-3

AT24C16读写汇编程序
;//中国电子网http://www.ec66.com
;注意时序,时间要求
SDA EQU P1.1
SCL EQU P1.3
ORG 0
LJMP START1
START: MOV R0,#40H
MOV A,#46H
FF: MOV @R0,A
INC R0
DEC A
JNZ FF
MOV DPH,#2
MOV DPL,#1
MOV R2,#16
MOV R0,#40H
LCALL WR16
DDD: SJMP DDD

START1: MOV DPH,#2
MOV DPL,#1
MOV R2,#16
MOV R0,#41H
LCALL RD16
SJMP DDD
;----------------------------------------------------------
;WR16子程序:写多字节到24C16
;入口参数:DPH:页地址,DPL:单元地址,R2:写入个数,R0:写入数据起址
;----------------------------------------------------------
WR16: CLR SCL
SETB SDA
SETB SCL
CLR SDA ;启动,注意时间要求
WR16A: MOV A,DPH
RL A
ORL A,#0A0H
LCALL SDBYTE ;送写命令
CLR SCL
SETB SDA
SETB SCL
JB SDA,WR16A ;是否响应
WR16B: MOV A,DPL
LCALL SDBYTE ;送单元地址
CLR SCL
SETB SDA
SETB SCL
JB SDA,WR16B ;是否响应
WR16C: MOV A,@R0
LCALL SDBYTE
CLR SCL
SETB SDA
SETB SCL
JB SDA,WR16C
INC R0
DJNZ R2,WR16C ;页写入
CLR SCL
CLR SDA
SETB SCL
SETB SDA ;停止
RET
;----------------------------------------------------------
;RD16子程序:从24C16读多字节
;入口参数:DPH:页地址,DPL:单元地址,R2:读个数,R0:暂存数据起址
;----------------------------------------------------------
RD16: CLR SCL
SETB SDA
SETB SCL
CLR SDA ;开始
RD16A: MOV A,DPH
RL A
ORL A,#0A0H
LCALL SDBYTE ;送写命令
CLR SCL
SETB SDA
SETB SCL
JB SDA,RD16A ;响应
RD16B: MOV A,DPL
LCALL SDBYTE
CLR SCL
SETB SDA
SETB SCL
JB SDA,RD16B
CLR SCL
SETB SDA
SETB SCL
CLR SDA
RD16C: MOV A,DPH
RL A
ORL A,#0A1H
LCALL SDBYTE
CLR SCL
SETB SDA
SETB SCL
JB SDA,RD16C
RC1: CLR SCL
SETB SDA ;读引脚
LCALL RCBYTE
MOV @R0,A
INC R0
CLR SCL ;----
CLR SDA
SETB SCL ;应答
DJNZ R2,RC1
CLR SCL
SETB SDA
SETB SCL ;非应答
CLR SCL
CLR SDA
SETB SCL
SETB SDA ;停止
RET
;----------------------------------------------------------
;SDBYTE子程序:送一个字节到SDA
;入口参数:要传送的数A
;局部参数:R7
;----------------------------------------------------------
SDBYTE: MOV R7,#8 ;R7控制循环次数
SL1: CLR SCL ;置低SCL
RLC A
MOV SDA,C
SETB SCL ;给SCL一个上升沿
DJNZ R7,SL1
RET
;----------------------------------------------------------
;RCBYTE子程序:从SO接收一个字节
;出口参数:接收到的字节A
;局部参数:R7
;----------------------------------------------------------
RCBYTE: MOV R7,#8 ;R7控制循环次数
RL1: CLR SCL
SETB SCL
MOV C,SDA ;读引脚
RLC A
DJNZ R7,RL1 ;先接收低位
RET

END

您可能还会关注的相关技术资料:
暂无

中国电子网
www.EC66.com
QQ:34740080 EMAIL:iloveaoe@163.com
最佳浏览:1024*768
Copyright (C) 2001-2010 EC66.COM All Rights Reserved
Aoe/帝国 制作维护
粤ICP备18061901号