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

📄 i2clab.asm

📁 将利用I2C总线对24C01进行数据块读写
💻 ASM
字号:
;************************************************
;* 将利用I2C总线对24C01进行数据块读写      *
;************************************************
	include <p16f877.inc>

; 定义 LCD数据& 控制I/O口 
LCD_DATA	equ	PORTB
LCD_CNTL1	equ	PORTB
LCD_CNTL2	equ	PORTA

; 定义 LCD控制相应的I/O引脚 
RS		equ	1
E		equ	5

; LCD 模块命令代码
DISP_ON		EQU	0x00C	; 开显示
DISP_ON_C	EQU	0x00E	; 开显示, 开指针
DISP_ON_B	EQU	0x00F	; 开显示, 开指针,开闪烁
DISP_OFF	EQU	0x008	; 关显示
CLR_DISP	EQU	0x001	; 清显示的操作数
ENTRY_INC	EQU	0x006	; 操作数,由左向右显示
ENTRY_INC_S	EQU	0x007	; 操作数,显示和读取均向右
ENTRY_DEC	EQU	0x004	; 操作数,由右向左显示
ENTRY_DEC_S	EQU	0x005	; 操作数,显示和读取均向左
DD_RAM_ADDR	EQU	0x080	; 初始化第一行显示的操作数
DD_RAM_UL	EQU	0x0c0	; 初始化第二行显示的操作数
;
;**************************************
; 请设置显示相关寄存器                *
;**************************************
Byte	RES	1
Count	RES	1
Count1	RES	1
Count2	RES	1
LCD_DATA1	RES	1
;*********************************
;提示:您需要定义下列寄存器及数据
;**********************************
DtAddr	res	1	;存放要写入24C01数据的寄存器地址
DtLeng	res	1	;数据剩余个数
BgAddr	res	1	;24C01数据块的存放地址
;*************************************
DtAdd	EQU	0XXH	;数据块在MCU的起始地址
BgAdd	EQU	0XXH	;24C01数据存放起始地址
DtL	EQU	0XXH	;数据块长度
;*************************************
	ORG	0
	GOTO	Start
Start
	movlw	DtAdd
	movwf	DtAddr
	movlw	BgAdd
	movwf	BgAddr
	movlw	DtL
	movwf	DtLeng	;初始化数据块参数
;***********************************************
;* 提示:将code0替换成你的程序,将DtL个数据(不多 *
;*      于16个数),依次存入以DtAdd为起始地址的  *
;*      寄存器阵列中                           *
;***********************************************
	code0
	call	InitLCD
	call	L1homeLCD
;***********************************************
;* 提示:替换code1,将数据显示在LCD上第一行      *
;***********************************************
	code1
;***********************************************
;* 提示:替换code2,完成                         *
;*   - 设置SSPCON,设置为主控模式,并开I2C模式   *
;***********************************************
	code2
;***********************************************
;* 提示:以下请参照24LCXX.ASM或24CXX.ASM,写一个 *
;*   程序,将数据由I2C总线向片外存储器写入      *
;***********************************************
Write
	code3
;***********************************************
;* 提示:在Read子程序里要完成对已写入的数据的读 *
;*   出,同时,要将读出的数据显示在LCD的第二行上 *
;*   以便于比较                                *
;***********************************************
	call	InitLCD
	call	L2homeLCD	
Read
	code4
	end
;****************************************************
;Written by : Yamato Tel:0591-3375855-721           *
;****************************************************
                              

	











⌨️ 快捷键说明

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