?? i2clab.asm
字號(hào):
;************************************************
;* 將利用I2C總線對(duì)24C01進(jìn)行數(shù)據(jù)塊讀寫 *
;************************************************
include <p16f877.inc>
; 定義 LCD數(shù)據(jù)& 控制I/O口
LCD_DATA equ PORTB
LCD_CNTL1 equ PORTB
LCD_CNTL2 equ PORTA
; 定義 LCD控制相應(yīng)的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 ; 關(guān)顯示
CLR_DISP EQU 0x001 ; 清顯示的操作數(shù)
ENTRY_INC EQU 0x006 ; 操作數(shù),由左向右顯示
ENTRY_INC_S EQU 0x007 ; 操作數(shù),顯示和讀取均向右
ENTRY_DEC EQU 0x004 ; 操作數(shù),由右向左顯示
ENTRY_DEC_S EQU 0x005 ; 操作數(shù),顯示和讀取均向左
DD_RAM_ADDR EQU 0x080 ; 初始化第一行顯示的操作數(shù)
DD_RAM_UL EQU 0x0c0 ; 初始化第二行顯示的操作數(shù)
;
;**************************************
; 請(qǐng)?jiān)O(shè)置顯示相關(guān)寄存器 *
;**************************************
Byte RES 1
Count RES 1
Count1 RES 1
Count2 RES 1
LCD_DATA1 RES 1
;*********************************
;提示:您需要定義下列寄存器及數(shù)據(jù)
;**********************************
DtAddr res 1 ;存放要寫入24C01數(shù)據(jù)的寄存器地址
DtLeng res 1 ;數(shù)據(jù)剩余個(gè)數(shù)
BgAddr res 1 ;24C01數(shù)據(jù)塊的存放地址
;*************************************
DtAdd EQU 0XXH ;數(shù)據(jù)塊在MCU的起始地址
BgAdd EQU 0XXH ;24C01數(shù)據(jù)存放起始地址
DtL EQU 0XXH ;數(shù)據(jù)塊長度
;*************************************
ORG 0
GOTO Start
Start
movlw DtAdd
movwf DtAddr
movlw BgAdd
movwf BgAddr
movlw DtL
movwf DtLeng ;初始化數(shù)據(jù)塊參數(shù)
;***********************************************
;* 提示:將code0替換成你的程序,將DtL個(gè)數(shù)據(jù)(不多 *
;* 于16個(gè)數(shù)),依次存入以DtAdd為起始地址的 *
;* 寄存器陣列中 *
;***********************************************
code0
call InitLCD
call L1homeLCD
;***********************************************
;* 提示:替換code1,將數(shù)據(jù)顯示在LCD上第一行 *
;***********************************************
code1
;***********************************************
;* 提示:替換code2,完成 *
;* - 設(shè)置SSPCON,設(shè)置為主控模式,并開I2C模式 *
;***********************************************
code2
;***********************************************
;* 提示:以下請(qǐng)參照24LCXX.ASM或24CXX.ASM,寫一個(gè) *
;* 程序,將數(shù)據(jù)由I2C總線向片外存儲(chǔ)器寫入 *
;***********************************************
Write
code3
;***********************************************
;* 提示:在Read子程序里要完成對(duì)已寫入的數(shù)據(jù)的讀 *
;* 出,同時(shí),要將讀出的數(shù)據(jù)顯示在LCD的第二行上 *
;* 以便于比較 *
;***********************************************
call InitLCD
call L2homeLCD
Read
code4
end
;****************************************************
;Written by : Yamato Tel:0591-3375855-721 *
;****************************************************
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -