📄 i2clab.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 + -