久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
LCD1602 滾動顯示(asm匯編程序)
[打印本頁]
作者:
huxiao
時間:
2015-1-24 16:12
標題:
LCD1602 滾動顯示(asm匯編程序)
;* 描述: LCD1602 滾動顯示 *
;* 顯示方式: *
;* 1、從左到右逐字顯示,閃動二次,清屏。 *
;* 2、再從右到左逐字顯示,閃動二次,清屏。 *
;* 3、周期性地重復上述顯示方式。 *
;*******************************************************************
LCD_RS EQU P2.0
LCD_RW EQU P2.1
LCD_EN EQU P2.2
;*******************************************************************
ORG 0000H
AJMP MAIN
ORG 0030H
;*******************************************************************
MAIN:
MOV SP,#60H
MOV R4,#02H ;設置閃爍次數
ACALL LCD_INIT
MAIN1:
ACALL LCDSET1
MOV DPTR,#CHAR1
ACALL WRITE1 ;
MOV A,#0C0H ;顯示第二行左邊第一位位置
ACALL LCD_CMD
MOV DPTR,#CHAR2 ;顯示
ACALL WRITE1
ACALL DELAY4 ;延時
ACALL DELAY4
ACALL SHAN ;閃爍兩次
ACALL LCDSET2
MOV DPTR,#CHAR3 ;
ACALL WRITE1
MOV A,#0C0H ;顯示第二行右邊第一位位置
ACALL LCD_CMD
MOV DPTR,#CHAR4 ;顯示
ACALL WRITE1
ACALL DELAY4 ;延時
ACALL DELAY4
ACALL SHAN ;閃爍兩次
ACALL MAIN1
;***************************************************************
;LCD初始化設定子程序
;***************************************************************
LCD_INIT:
ACALL DELAY5MS ;延時15MS
ACALL DELAY5MS ;等待LCD 電源穩定
ACALL DELAY5MS
MOV A,#38H ;16*2 顯示,5*7 點陣,8 位數據
ACALL LCD_CMD_NC ;不進行LCD 忙檢測
ACALL DELAY5MS
MOV A,#38H ;16*2 顯示,5*7 點陣,8 位數據
ACALL LCD_CMD_NC ;不進行LCD 忙檢測
ACALL DELAY5MS
MOV A,#38H ;16*2 顯示,5*7 點陣,8 位數據
ACALL LCD_CMD_NC ;不進行LCD 忙檢測
ACALL DELAY5MS
MOV A,#08H ;顯示關
ACALL LCD_CMD ;進行LCD 忙檢測
MOV A,#01H ;清除屏幕
ACALL LCD_CMD ;進行LCD忙檢測
MOV A,#06H ;移動光標
ACALL LCD_CMD ;進行LCD 忙檢測
MOV A,#0CH ;顯示開,關光標
ACALL LCD_CMD ;進行LCD 忙檢測
RET
;***************************************************************
;顯示位置與移動光標設定
;***************************************************************
LCDSET1:
MOV A,#01H ;清除屏幕
ACALL LCD_CMD
ACALL DELAY5MS
MOV A,#06H ;移動光標(光標加1)
ACALL LCD_CMD
ACALL DELAY5MS
MOV A,#80H ;顯示第一行左邊第一位位置
ACALL LCD_CMD
ACALL DELAY5MS
RET
LCDSET2:
MOV A,#01H ;清除屏幕
ACALL LCD_CMD
ACALL DELAY5MS
MOV A,#06H ;移動光標(光標減1)
ACALL LCD_CMD
ACALL DELAY5MS
MOV A,#80H ;顯示第一行右邊第一位位置
ACALL LCD_CMD
ACALL DELAY5MS
RET
;***************************************************************
;寫指令數據到LCD
;RS=L,RW=L,D0-D7=指令碼,E=高脈沖
;***************************************************************
LCD_CMD:
ACALL CHECKBUSY
LCD_CMD_NC:
CLR LCD_RS
CLR LCD_RW
MOV P0,A
SETB LCD_EN
NOP
NOP
NOP
NOP
CLR LCD_EN
RET
;***************************************************************
; 發送字符串子程序
;***************************************************************
WRITE1:
MOV R0,#16
WRITE0:
CLR A
MOVC A,@A+DPTR
INC DPTR
ACALL LCD_WDATA
CALL DELAY ;加延時形成滾動效果
DJNZ R0,WRITE0
RET
;***************************************************************
;寫顯示數據到LCD
;RS=H,RW=L,D0-D7=數據,E=高脈沖
;***************************************************************
LCD_WDATA:
ACALL CHECKBUSY
SETB LCD_RS
CLR LCD_RW
MOV P0,A
SETB LCD_EN
NOP
NOP
NOP
NOP
CLR LCD_EN
RET
;***************************************************************
;檢測LCD 控制器忙狀態
;讀數據
;RS=L,RW=H,E=H,輸出:D0-D7=數據
;***************************************************************
CHECKBUSY:
PUSH ACC
MOV P0,#0FFH
CLR LCD_RS
SETB LCD_RW
SETB LCD_EN
BUSYLOOP:
NOP
JB P0.7,BUSYLOOP
CLR LCD_EN
POP ACC
RET
;***************************************************************
;閃爍子程序
;***************************************************************
SHAN:
MOV A,#08H ;關閉顯示
ACALL LCD_CMD
ACALL DELAY4
MOV A,#0CH ;開顯示,關閉光標
ACALL LCD_CMD
ACALL DELAY4
DJNZ R4,SHAN
MOV R4,#02H ;設置閃爍次數
RET
;***************************************************************
;延時120MS 子程序
;發送字符串時使用
;***************************************************************
DELAY:
MOV R7,#240
DL1: MOV R6,#250
DL2: DJNZ R6,DL2
DJNZ R7,DL1
RET
;***************************************************************
;延時800MS 子程序
;閃爍時使用
;***************************************************************
DELAY4:
MOV R0,#40
DL3: MOV R1,#100
DL4: MOV R2,#100
DL5: DJNZ R2,DL5
DJNZ R1,DL4
DJNZ R0,DL3
RET
;***************************************************************
;延時5MS子程序
;LCD初始化使用
;***************************************************************
DELAY5MS:
MOV R1,#10
DL6: MOV R2,#249
DL7: DJNZ R2,DL7
DJNZ R1,DL6
RET
;***************************************************************
;延時1MS子程序
;***************************************************************
DELAY1MS:
MOV R6,#14H ;20
DL8: MOV R7,#19H ;25
DL9: DJNZ R7,DL9
DJNZ R6,DL8
RET
;***************************************************************
CHAR1:
DB "Welcome to Cras-"
CHAR2:
DB " yBoye WorkGroup"
CHAR3:
DB " QQ: 15810380 "
CHAR4:
DB "TEL: 12991316679"
;***************************************************************
END
作者:
十點差三分
時間:
2021-5-17 20:27
哥,這個不對啊,我試了一下,LCD屏全白,不顯示
作者:
47okey
時間:
2021-5-17 21:07
十點差三分 發表于 2021-5-17 20:27
哥,這個不對啊,我試了一下,LCD屏全白,不顯示
對比度電壓調了沒?
作者:
xiaoyuxinke
時間:
2022-3-30 09:50
這個真的可以,我下載到我單片機里面,只是改了下引腳和延時就可以正常顯示
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91色视频在线观看
|
国产精品国产成人国产三级
|
亚洲精品国产电影
|
久久久久无码国产精品一区
|
亚洲精品大片
|
青青草网站在线观看
|
欧美一级黄色网
|
日韩最新网站
|
中文字幕视频在线观看
|
中文字幕一区二区三区精彩视频
|
久久91av
|
国产在线一区二区
|
国产精品免费看
|
日韩三级在线观看
|
亚洲夜射
|
国产高清一区二区三区
|
欧美国产视频
|
精品动漫一区
|
国产一区二区在线视频
|
99视频
|
亚洲天堂中文字幕
|
91佛爷在线观看
|
日本精品一区二区在线观看
|
久久机热
|
久久新
|
国产ts一区
|
男女精品网站
|
成人欧美一区二区三区视频xxx
|
国产96色在线
|
成人精品免费视频
|
亚洲成人久久久
|
免费在线观看av片
|
毛片一级片
|
国产jizz女人多喷水99
|
久久精品日产第一区二区三区
|
国际精品鲁一鲁一区二区小说
|
欧美高清dvd
|
国产精品a一区二区三区网址
|
色婷婷综合久久久中字幕精品久久
|
国产成人精品一区二区三区网站观看
|
免费看黄色国产
|