合泰單片機(jī)筆段式LCD顯示程序+電路圖
ADDMA,TBLP;
TABRDSEG45;查表并存數(shù)據(jù)到SEG45
MOVA,LOWQ1;
MOVTBLP,A
MOVA,HIGHQ1;
MOVTBHP,A;
MOVA,LCD4;
ADDMA,TBLP;
TABRDSEG67;查表并存數(shù)據(jù)到SEG67
MOVA,LOWQ1;
MOVTBLP,A;
MOVA,HIGHQ1;
MOVTBHP,A;
MOVA,LCD5;
ADDMA,TBLP;
TABRDSEG8;查表并存數(shù)據(jù)到SEG8本文引用地址:http://2s4d.com/article/201612/324336.htm
CLRCOM0EN;設(shè)置管腳為PC.0
CLRCOM0;輸出低電平
CALLRR0;調(diào)用seg管腳數(shù)據(jù)處理程序
MOVA,SEG_0;
MOVSEG,A;將處理后的數(shù)據(jù)從seg連接口輸出
CLRSEG9
CALLM001;延時(shí)
SETCOM0;輸出高電平
CPLSEG_0;將管腳數(shù)據(jù)取反
MOVA,SEG_0;
MOVSEG,A;數(shù)據(jù)從seg腳輸出
SETSEG9
CALLM001;延時(shí)
SETCOM0EN;設(shè)置管腳為com0口輸出VDD/2電壓
CALLM001;延時(shí)
clrCOM1EN;設(shè)置管腳為PC.1
clrcom1 ;輸出低電平
CALLRR0;調(diào)用seg管腳數(shù)據(jù)處理程序
MOVA,SEG_0;
MOVSEG,A;將處理后的數(shù)據(jù)從seg連接口輸出
CLRSEG9
CALLM001;延時(shí)
SETCOM1 ;輸出高電平
CPLSEG_0;將管腳數(shù)據(jù)取反
MOVA,SEG_0;
MOVSEG,A;數(shù)據(jù)從seg腳輸出
SETSEG9
CALLM001;延時(shí)
SETCOM1EN;設(shè)置管腳為com1口輸出VDD/2電壓
CALLM001;延時(shí)
clrCOM2EN;設(shè)置管腳為PC.6
clrcom2 ;輸出低電平
CALLRR0;調(diào)用seg管腳數(shù)據(jù)處理程序
MOVA,SEG_0;
MOVSEG,A;將處理后的數(shù)據(jù)從seg連接口輸出
CLRSEG9
CALLM001;延時(shí)
SETCOM2;輸出高電平
CPLSEG_0;將管腳數(shù)據(jù)取反
MOVA,SEG_0;
MOVSEG,A;數(shù)據(jù)從seg腳輸出
SETSEG9
CALLM001;延時(shí)
SETCOM2EN;設(shè)置管腳為com2口輸出VDD/2電壓
CALLM001;延時(shí)
clrCOM3EN;設(shè)置管腳為PC.7
clrcom3 ;輸出低電平
CALLRR0;調(diào)用seg管腳數(shù)據(jù)處理程序
MOVA,SEG_0;
MOVSEG,A;將處理后的數(shù)據(jù)從seg連接口輸出
CLRSEG9
CALLM001;延時(shí)
SETCOM3 ;輸出高電平
CPLSEG_0;將管腳數(shù)據(jù)取反
MOVA,SEG_0;
MOVSEG,A;將處理后的數(shù)據(jù)從seg連接口輸出
SETSEG9
CALLM001;
SETCOM3EN;設(shè)置管腳為com3口輸出VDD/2電壓
CALLM001;延時(shí)
JMPA2
;*********************************************************
;********seg數(shù)據(jù)處理子程序********************************
;*********************************************************
;SEG01中為第一位要顯示的編碼SEG0與SEG1控制
;SEG23--SEG8分別控制對(duì)應(yīng)的編碼
;當(dāng)掃描COM0時(shí)SEG(0-7)輸出第0位與第1位
;當(dāng)掃描COM1時(shí)SEG(0-7)輸出第2位與第3位
;當(dāng)掃描COM2時(shí)SEG(0-7)輸出第4位與第5位
;當(dāng)掃描COM3時(shí)SEG(0-7)輸出第6位與第7位
;**********************************************************
RR0:
RRCSEG01;將SEG01第0位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;
RRCSEG01;將SEG01第1位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;
RRCSEG23;將SEG23第0位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;
RRCSEG23;將SEG23第1位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;
RRCSEG45;將SEG45第0位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;
RRCSEG45;將SEG45第1位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;
RRCSEG67;將SEG67第0位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;
RRCSEG67;將SEG67第1位通過帶進(jìn)位C移到seg_0寄存器
RRCSEG_0;移完時(shí)SEG_0寄存器則是掃描COM時(shí)所需seg口
RET;輸出狀態(tài)
;*********************************************************
;延時(shí)子程序
;*********************************************************
M001:
MOVA,4
MOV[8AH],A
M002:
MOVA,250
MOV[8BH],A
SDZ[8BH]
JMP$-1
SDZ[8AH]
JMPM002
RET
END
評(píng)論