投訴(sù)熱(rè)線:13148701893
聯系人:鄧小姐
傳真:0755-27315661
0760-85884496
座機:0755-29769890-0
0760-85884486
辦(bàn)公地址:深圳市寶(bǎo)安區福永塘尾富華工業區11棟3樓
工廠(chǎng)地址:廣東(dōng)省中山市三鄉鎮萬裏路1号平鋪工業區B棟三樓
[LCD液晶屏]段碼(mǎ)LCD液晶屏參(cān)考程序介紹
來源: 發布時間:2021-05-20 點擊量:5005
段碼LCD液晶屏參考程序介紹?是不是有很多人不明白是什麽意思?然後也不知從而下手,有時還會盲目去接觸,然後導緻沒必要的麻煩出現,不過任何問題都不用擔心,接下來就由我給各位介紹一下段碼LCD液晶屏參考程序介紹,讓您能夠更加瞭解關於這方面的内容,相信您看完之後會有收獲的!
段碼(mǎ)液晶參(cān)考程序
程序清單
文件名:CAT888.asm
項目: IC卡水表LCD顯(xiǎn)示模塊(kuài)演示程序(1.1版)
描述: 啓動(dòng)程序即進入正常顯示狀态(循環顯示一系列數字0~F),並(bìng)通過KEY按鍵進入全顯示狀态
(測(cè)功耗)、掉電(diàn)狀态(測(cè)功耗)及關斷LCM電(diàn)源(GND端),依此循環。
最後(hòu)更新日期:2017/12/04
;特殊功能寄存器SFR和位地址定義(yì)
AUXR1 DATA 0A2H ;輔(fǔ)助功能寄存器,不可位尋(xún)址
DIVM DATA 95H ;MCU時(shí)鍾除數(shù)控制寄存器
P0M1 DATA 84H ;0口工作模式選(xuǎn)擇(zé)寄存器1
P0M2 DATA 85H ;0口工作模式選(xuǎn)擇(zé)寄存器1
P1M1 DATA 91H
P1M2 DATA 92H
PT0AD DATA 0F6H ;0口數(shù)字輸(shū)入功能禁止寄存器
LED1 BIT P0.0 ;狀态燈(dēng)定義(yì)
LED2 BIT P1.7 ;正常顯示狀态時(shí)LED1點(diǎn)亮,全顯示狀态時(shí)
LED3 BIT P1.6 ;LED2點(diǎn)亮,掉電(diàn)狀态時LED3點(diǎn)亮,關斷LCM電(diàn)
LED4 BIT P1.4 ;源狀态時(shí)LED4點(diǎn)亮。
LCMC BIT P0.7 ;LCM的GND控制輸出端,實(shí)現LCM的電(diàn)源控制
KEY BIT P1.1 ;KEY的IO定義(yì)
keyin BIT 10H ;定義有鍵(jiàn)盤(pán)輸出标志位
定義顯示數據計(jì)數變(biàn)量
DCONT DATA 50H ;用於(yú)顯示位的計(jì)數
狀态标志位定義
FLAGS1 DATA 2EH ;狀(zhuàng)态标志寄存器1
EMI BIT FLAGS1.0;電(diàn)磁幹(gàn)擾标志
PASS BIT FLAGS1.2;水閥(fá)打開/關閉(bì)标志位
OUT BIT FLAGS1.3;IC卡退出标志位(退卡後(hòu)M3才顯(xiǎn)示)
SALEWATR BIT FLAGS1.4;剩餘金額(é)不足标志位(顯示'請購(gòu)水')
POWERDOWN BIT FLAGS1.5;電(diàn)池電(diàn)壓(yā)不足标志位
CUR BIT FLAGS1.6;本次購(gòu)水金額(é)/剩餘金額(é)标志位
XPLAN BIT FLAGS1.7;超計(jì)劃(huà)标志位
程序開始
ORG 0000H
AJMP RESET
ORG 0080H
RESET
安全設置
MOV DIVM,#1 ;CPU工作頻(pín)率降至正常時(shí)的1/4
MOV SP,#59H ;設(shè)堆棧(zhàn)指針
MOV TMOD,#01H ;使能定時(shí)器0
顯示數據初化
MOV DCONT,#0
MOV FLAGS1,#00H
MAIN:
LCD工作方式設(shè)定
CLR LCMC ;打開(kāi)LCM電(diàn)源
MOV P1M1,#00H ;将P1.7,P1.6,P1.4置爲(wèi)上拉輸(shū)出
MOV P1M2,#0D0H
MOV P0M1,#00H ;将P0.7置爲(wèi)上拉輸(shū)出
MOV P0M2,#01H
ACALL INTI1621
MOV LCDCOMMAND,#Tone4k ;設(shè)置音頻(pín)輸出頻(pín)率爲4KHZ
ACALL Send1621Com
進(jìn)入正常顯(xiǎn)示狀态
正常顯示情況下,不發(fā)送數據(jù)時,把SPI口均置爲高
SETB LED1 ;點(diǎn)亮LED1
CLR LED2
CLR LED3
CLR LED4
ACALL RUNOK
進入全顯示狀态
LCD各段均顯示,然後(hòu)SPI口設(shè)爲高阻态
CLR LED1
SETB LED2
ACALL RUNALL
進入掉電狀态
掉電(diàn)狀态是把HT1621設(shè)置爲掉電(diàn)方式,以降低功耗
CLR LED2
SETB LED3
ACALL RUNDOWN
進入關斷(duàn)電(diàn)源狀态
關斷(duàn)HT1621電(diàn)源,以降低功耗
CLR LED3
SETB LED4
ACALL RUNNOP
SJMP MAIN
;RUNOK
從(cóng)0到f循環(huán)顯示LCD數位(數字右移)
顯示1秒後(hòu),所有數字均加1(即緩沖(chōng)區加11H)
RUNOK: ;打開(kāi)各标志符号
SETB EMI ;電(diàn)磁幹(gàn)擾标志,顯示
SETB PASS ;水閥(fá)打開/關閉(bì)标志位,顯示開
SETB OUT ;IC卡退出标志位(退卡後(hòu)M3才顯(xiǎn)示),顯(xiǎn)示退卡
SETB SALEWATR ;顯示'請(qǐng)購(gòu)水'
SETB POWERDOWN ;電(diàn)池電(diàn)壓不足标志位,顯(xiǎn)示
SETB CUR ;本次購(gòu)水金額(é)/剩餘金額(é)标志位,顯示本次金額(é)
SETB XPLAN ;超計(jì)劃(huà)标志位,顯示
CLR keyin ;清除keyin标志位
ACALL LOADDAT ;裝載數(shù)據(jù)
CLR C
MOV A,#9
SUBB A,DCONT ;判斷(duàn)DCONT是否大於(yú)9,大於(yú)9則打開蜂鳴器
JNC RUNOK_L1
MOV LCDCOMMAND,#ToneOn
ACALL Send1621Com
RUNOK_L1:
ACALL BrushLcd
ACALL DELAY_1S
MOV LCDCOMMAND,#ToneOff ;關(guān)閉(bì)蜂鳴器
ACALL Send1621Com
ACALL DELAY_1S ;延時並(bìng)接收按鍵(jiàn)
ACALL DELAY_1S
ACALL DELAY_1S
INC DCONT ;計(jì)數(shù)器加1
CLR C
MOV A,#0FH ;若DCONT的值大於(yú)0FH,則複(fù)位爲0
SUBB A,DCONT
JNC RUNOK_L2
MOV DCONT,#0
ACALL INTI1621 ;重新設(shè)置1621
MOV LCDCOMMAND,#Tone4k ;設(shè)置音頻(pín)輸出頻(pín)率爲4KHZ
ACALL Send1621Com
RUNOK_L2:
JNB keyin,RUNOK ;判斷(duàn)是否有按鍵(jiàn),有則退出正常顯示方式
RET
數據裝載程序
将計數數據進行字模轉換後(hòu)放入顯示緩沖(chōng)區,包括狀态字段。
LOADDAT:
MOV R0,#DISBUFFER ;指定顯示地址爲(wèi)SEG0開(kāi)始
MOV R1,DCONT
MOV R7,#10 ;寫入12個(gè)數據(jù)
LOAD_L1: ;将數據填充顯示緩(huǎn)沖(chōng)區
MOV A,R1
MOV DPTR,#LCDData
MOVC A,@A+DPTR ;字模轉(zhuǎn)換(huàn)
MOV @R0,A
INC R0 ;緩沖(chōng)區的下一個(gè)地址
DJNZ R7,LOAD_L1
JNB EMI,HOLD0 ;EMI=1時(shí),
ORL DISBUFFER,#10H ;顯示電(diàn)磁幹(gàn)擾信号
HOLD0:
JNB PASS,HOLD1
ORL DISBUFFER+1,#10H ;PASS=1時(shí),顯示'開(kāi)'
SJMP HOLD2
HOLD1:
ORL DISBUFFER+2,#10H ;否則顯(xiǎn)示'關(guān)'
HOLD2:
JNB OUT,HOLD3 ;OUT=1時(shí)
ORL DISBUFFER+3,#10H ;顯(xiǎn)示'退卡'
SJMP HOLD4
HOLD3:
ORL DISBUFFER+6,#10H ;否則(zé)顯(xiǎn)示'M3'
HOLD4:
JNB SALEWATR,HOLD5
ORL DISBUFFER+4,#10H ;顯示'請(qǐng)購(gòu)水'
HOLD5:
JNB XPLAN,HOLD6
ORL DISBUFFER+5,#10H ;'超計(jì)劃(huà)'
HOLD6:
JNB POWERDOWN,HOLD7
ORL DISBUFFER+8,#10H ;電(diàn)池缺電(diàn)符号
HOLD7:
ORL DISBUFFER+9,#10H ;單(dān)位'元'
JNB CUR,HOLD8
MOV DISBUFFER+10,#05H ;'本次金額(é)'
RET
HOLD8:
MOV DISBUFFER+10,#03H ;'剩餘(yú)金額(é)'
RET
;RUNALL
;全顯示輸(shū)出,把SPI接口置爲高阻态,以便測(cè)量LCM功耗
RUNALL:
MOV R7,#12
MOV R0,#DISBUFFER
RUNALL_L1:
MOV @R0,#0FFH ;裝入數(shù)據(jù)0FFH
INC R0
DJNZ R7,RUNALL_L1
ACALL BrushLcd ;刷新LCD顯(xiǎn)示
ORL P0M1,#2AH ;設(shè)置IO口爲(wèi)高阻态
ANL P0M2,#0D5H
MOV PT0AD,#2AH
RUNALL_L2: ;等待按鍵(jiàn)
JB KEY,$
MOV R7,#0FFH
DJNZ R7,$
JB KEY,RUNALL_L2
JNB KEY,$
ANL P0M1,#0D5H ;恢複(fù)IO口
MOV PT0AD,#00H
RET
RUNDOWN
掉電(diàn)方式,把SPI接口置爲高阻态,以便測(cè)量LCM功耗
RUNDOWN:
ACALL HT1621DOWN ;進(jìn)入掉電(diàn)狀态
ORL P0M1,#2AH ;IO口置爲(wèi)高阻态
ANL P0M2,#0D5H
MOV PT0AD,#2AH
RUNDOWN_L1:
JB KEY,$ ;等待按鍵(jiàn)
MOV R7,#0FFH ;去抖動(dòng)
DJNZ R7,$
JB KEY,RUNDOWN_L1
JNB KEY,$ ;等待按鍵(jiàn)放放開(kāi)
RET
RUNNOP
關斷(duàn)LCD電(diàn)源,把SPI接口置爲高阻态。
RUNNOP:
SETB LCMC ;關斷(duàn)LCM電(diàn)源
RUNNOP_L1: ;等待按鍵(jiàn)操作
JB KEY,$
MOV R7,#0FFH
DJNZ R7,$
JB KEY,RUNNOP_L1
JNB KEY,$
ANL P0M1,#0D5H ;恢複(fù)IO口設(shè)置
MOV PT0AD,#00H
CLR LCMC ;打開(kāi)LCM電(diàn)源
RET
延時1S子程序
在延時過(guò)程序可以判斷(duàn)有無按鍵,有按鍵時置位keyin位,無按
鍵(jiàn)時不對(duì)keyin操作。
DELAY_1S:
SETB TR0 ;啓(qǐ)動(dòng)定時器
MOV R0,#2
BACK:
MOV TL0,#0B0H ;置初值
MOV TH0,#3CH
DL:
JB KEY,DL_1
MOV R7,#0FFH ;有按鍵,進行去抖動(dòng)處(chù)理
DJNZ R7,$
JB KEY,DL_1
SETB keyin ;是按鍵(jiàn),置位keyin
DL_1:
JNB TF0,DL
CLR TF0
DJNZ R0,BACK ;等待定時(shí)時(shí)間(jiān)到
JNB KEY,$ ;等待按鍵(jiàn)放開(kāi)
RET
包含1621操作軟(ruǎn)件包
$INCLUDE(LCD1621.INC) ;包含頭文件,頭文件内已定義SPI,顯示緩沖(chōng)區,及各操作變(biàn)量,ZY886A型LCD數字顯示表等
以上爲各位介紹瞭段碼LCD液晶屏參考程序介紹,如果您感興趣和想要瞭解這方面的話,可以咨詢我們官網,專業人員會立即與您溝通,爲您解答!
相關産品
熱點資訊
- 廣州lcd液晶模組生産廠家2021-08-23
- 佛山lcd液晶顯示屏加工2021-08-23
- 上海12864中文字庫液晶價格2021-08-22
- 湖南LCM中文字庫液晶批發2021-08-22
- 湖北LCD液晶屏加工價格2021-08-21
- 惠州LCD液晶屏加工生産廠家2021-08-21
- 深圳lcd液晶顯示屏加工2021-08-20
- 杭州lcd液晶模組價格2021-08-20





