欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
lcd1602液晶全屏移動(dòng)匯編程序
[打印本頁(yè)]
作者:
daniu
時(shí)間:
2014-12-27 18:07
標(biāo)題:
lcd1602液晶全屏移動(dòng)匯編程序
;=================================================================
;程序編寫(xiě)人:蘭建文
;編寫(xiě)地點(diǎn):51hei培訓(xùn)機(jī)構(gòu)
;時(shí)間:6月2日下午星期二
;功能:本程序?qū)崿F(xiàn)液晶的信息功能
;=======================開(kāi)始初始化================================
EN BIT P2.5 ;時(shí)鐘信號(hào)
RS BIT P3.4 ;決定要傳送的是命令還是數(shù)據(jù)
RW BIT P3.5 ;決定要讀還是寫(xiě),一般寫(xiě)的時(shí)候多
SJ EQU P0 ;數(shù)據(jù)線
SHUZI EQU 30H
;========================系統(tǒng)程序==================================
ORG 0000H
JMP START
ORG 30H
START:MOV R0,#32
CALL CHUSHIHUA ;LCD初始化
MAIN:
CALL XIANSHI ;顯示
JMP MAIN
;======================初始化子程序===============================
;輸入:無(wú)
;輸出:無(wú)
;實(shí)現(xiàn)的功能:初始化LCD
;=================================================================
CHUSHIHUA:MOV SJ,#38H
ACALL ENABLE ;寫(xiě)指令08H,設(shè)定LCD為16*2顯示,5*6點(diǎn)陣,8位數(shù)據(jù)接口
MOV SJ,#08H
ACALL ENABLE ;寫(xiě)指令08H
MOV SJ,#01H
ACALL ENABLE ;寫(xiě)指令01H,顯示清屏
MOV SJ,#06H
ACALL ENABLE ;寫(xiě)指令06H,顯示光標(biāo)自動(dòng)右移,整屏不移動(dòng)
MOV SJ,#0CH
ACALL ENABLE ;寫(xiě)指令0CH,開(kāi)顯示,不顯示光標(biāo)
RET
;========================顯示子程序===============================
;輸入:
;輸出:"P0口"
;實(shí)現(xiàn)的功能:把數(shù)輸出到P0口顯示
;=================================================================
XIANSHI:
MOV SJ,#18H
CALL ENABLE
MOV SJ,#80H ;第一行顯示第一個(gè)字符的位置
CALL ENABLE ;調(diào)用寫(xiě)指令
MOV DPTR,#TAB0;第一行表頭位置
CALL WRITE1 ;調(diào)用第一行寫(xiě)子程序
CALL DELAY1
MOV SJ,#0C0H ;第二行位置
CALL ENABLE ;調(diào)用寫(xiě)指令
MOV DPTR,#TAB1;第二行表頭位置
CALL WRITE1 ;調(diào)用第二行寫(xiě)子程序
CALL DELAY1
DJNZ R0,L
MOV R0,#32
MOV R1,#10
LL:CALL DELAY
DJNZ R1,LL
L:RET
;======================寫(xiě)命令時(shí)序程序=============================
;輸入:
;輸出:"P0口"
;實(shí)現(xiàn)的功能:寫(xiě)時(shí)序
;=================================================================
ENABLE:CLR RS
CLR RW
SETB EN
CALL DELAY
CLR EN
RET
;==========================寫(xiě)入子程序=============================
;輸入:
;輸出:"P0口"
;實(shí)現(xiàn)的功能:寫(xiě)時(shí)序
;=================================================================
WRITE1:MOV SHUZI,#00H ;將30H清0
L1:MOV A,SHUZI ;把30H的值送到ACC
MOVC A,@A+DPTR ;查表取將顯示的數(shù)據(jù)并把要顯示的數(shù)送入ACC
CALL WRITE2 ;調(diào)用寫(xiě)程序?qū)懭雴蝹(gè)字節(jié)
INC SHUZI ;將工作寄存器指針加一
MOV A,SHUZI ;把30H的內(nèi)容送到ACC
CJNE A,#10H,L1 ;ACC的值加到16后就返回到L1處
RET
;=======================寫(xiě)數(shù)據(jù)時(shí)序子程序==========================
;輸入:
;輸出:
;實(shí)現(xiàn)的功能:寫(xiě)數(shù)據(jù)
;=================================================================
WRITE2:MOV SJ,A ;寫(xiě)單個(gè)字符
SETB RS ;寫(xiě)數(shù)據(jù)到顯示端口
CLR RW ;寫(xiě)數(shù)據(jù)時(shí)序
SETB EN
CALL DELAY
CLR EN
RET
;============================延時(shí)子程序============================
;輸入;無(wú)
;輸出: 無(wú)
;實(shí)現(xiàn)的功能:延時(shí)5MS
;==================================================================
DELAY:
MOV R6,#4
L7:MOV R5,#100
DJNZ R5,$
DJNZ R6,L7
RET
DELAY1:MOV R7,#10
L9:MOV R3,#25
L8:MOV R4,#100
DJNZ R4,$
DJNZ R3,L8
DJNZ R7,L9
RET
;==============================表的制作============================
TAB0:DB "WWW#SsONEEDU#COMWWW#STsNEEDU#COM"
TAB1:DB "MCU-20-L-JIANWENMCU-20-L-JIANWEN"
;=========================程序結(jié)束=================================
END
復(fù)制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1