深圳市佳显电子技术有限公司

10年专注LCD、LCM中文字库液晶研发生产

全国咨询服务热线: 0760-85884496

联系方式
LCM中文字库液晶联系我们

投诉热线:13148701893 

联系人:邓小姐

传真:0755-27315661
         0760-85884496

座机:0755-29769890-0
         0760-85884486

邮箱:jxdlx107@goodview-lcd.com

办公地址:深圳市宝安区福永塘尾富华工业区11栋3楼
工厂地址:广东省中山市三乡镇万里路1号平铺工业区B栋三楼







[LCD液晶屏]段码LCD液晶屏参考程序介绍

来源:   发布时间:2021-05-20   点击量:2658

段码LCD液晶屏参考程序介绍?是不是有很多人不明白是什么意思?然后也不知从而下手,有时还会盲目去接触,然后导致没必要的麻烦出现,不过任何问题都不用担心,接下来就由我给各位介绍一下段码LCD液晶屏参考程序介绍,让您能够更加了解关于这方面的内容,相信您看完之后会有收获的!

段码液晶参考程序

程序清单

文件名:CAT888.asm

项目: IC卡水表LCD显示模块演示程序(1.1版)

描述: 启动程序即进入正常显示状态(循环显示一系列数字0~F),并通过KEY按键进入全显示状态

(测功耗)、掉电状态(测功耗)及关断LCM电源(GND端),依此循环。

最后更新日期:2017/12/04

;特殊功能寄存器SFR和位地址定义

AUXR1 DATA 0A2H ;辅助功能寄存器,不可位寻址

DIVM DATA 95H ;MCU时钟除数控制寄存器

P0M1 DATA 84H ;0口工作模式选择寄存器1

P0M2 DATA 85H ;0口工作模式选择寄存器1

P1M1 DATA 91H

P1M2 DATA 92H

PT0AD DATA 0F6H ;0口数字输入功能禁止寄存器

LED1 BIT P0.0 ;状态灯定义

LED2 BIT P1.7 ;正常显示状态时LED1点亮,全显示状态时

LED3 BIT P1.6 ;LED2点亮,掉电状态时LED3点亮,关断LCM电

LED4 BIT P1.4 ;源状态时LED4点亮。

LCMC BIT P0.7 ;LCM的GND控制输出端,实现LCM的电源控制

KEY BIT P1.1 ;KEY的IO定义

keyin BIT 10H ;定义有键盘输出标志位

定义显示数据计数变量

DCONT DATA 50H ;用于显示位的计数

状态标志位定义

FLAGS1 DATA 2EH ;状态标志寄存器1

EMI BIT FLAGS1.0;电磁干扰标志

PASS BIT FLAGS1.2;水阀打开/关闭标志位

OUT BIT FLAGS1.3;IC卡退出标志位(退卡后M3才显示)

SALEWATR BIT FLAGS1.4;剩余金额不足标志位(显示'请购水')

POWERDOWN BIT FLAGS1.5;电池电压不足标志位

CUR BIT FLAGS1.6;本次购水金额/剩余金额标志位

XPLAN BIT FLAGS1.7;超计划标志位

程序开始

ORG 0000H

AJMP RESET

ORG 0080H

RESET

安全设置

MOV DIVM,#1 ;CPU工作频率降至正常时的1/4

MOV SP,#59H ;设堆栈指针

MOV TMOD,#01H ;使能定时器0

显示数据初化

MOV DCONT,#0

MOV FLAGS1,#00H

MAIN:

LCD工作方式设定

CLR LCMC ;打开LCM电源

MOV P1M1,#00H ;将P1.7,P1.6,P1.4置为上拉输出

MOV P1M2,#0D0H

MOV P0M1,#00H ;将P0.7置为上拉输出

MOV P0M2,#01H

ACALL INTI1621

MOV LCDCOMMAND,#Tone4k ;设置音频输出频率为4KHZ

ACALL Send1621Com

进入正常显示状态

正常显示情况下,不发送数据时,把SPI口均置为高

SETB LED1 ;点亮LED1

CLR LED2

CLR LED3

CLR LED4

ACALL RUNOK

进入全显示状态

LCD各段均显示,然后SPI口设为高阻态

CLR LED1

SETB LED2

ACALL RUNALL

进入掉电状态

掉电状态是把HT1621设置为掉电方式,以降低功耗

CLR LED2

SETB LED3

ACALL RUNDOWN

进入关断电源状态

关断HT1621电源,以降低功耗

CLR LED3

SETB LED4

ACALL RUNNOP

SJMP MAIN

;RUNOK

从0到f循环显示LCD数位(数字右移)

显示1秒后,所有数字均加1(即缓冲区加11H)

RUNOK: ;打开各标志符号

SETB EMI ;电磁干扰标志,显示

SETB PASS ;水阀打开/关闭标志位,显示开

SETB OUT ;IC卡退出标志位(退卡后M3才显示),显示退卡

SETB SALEWATR ;显示'请购水'

SETB POWERDOWN ;电池电压不足标志位,显示

SETB CUR ;本次购水金额/剩余金额标志位,显示本次金额

SETB XPLAN ;超计划标志位,显示

CLR keyin ;清除keyin标志位

ACALL LOADDAT ;装载数据

CLR C

MOV A,#9

SUBB A,DCONT ;判断DCONT是否大于9,大于9则打开蜂鸣器

JNC RUNOK_L1

MOV LCDCOMMAND,#ToneOn

ACALL Send1621Com

RUNOK_L1:

ACALL BrushLcd

ACALL DELAY_1S

MOV LCDCOMMAND,#ToneOff ;关闭蜂鸣器

ACALL Send1621Com

ACALL DELAY_1S ;延时并接收按键

ACALL DELAY_1S

ACALL DELAY_1S

INC DCONT ;计数器加1

CLR C

MOV A,#0FH ;若DCONT的值大于0FH,则复位为0

SUBB A,DCONT

JNC RUNOK_L2

MOV DCONT,#0

ACALL INTI1621 ;重新设置1621

MOV LCDCOMMAND,#Tone4k ;设置音频输出频率为4KHZ

ACALL Send1621Com

RUNOK_L2:

JNB keyin,RUNOK ;判断是否有按键,有则退出正常显示方式

RET

数据装载程序

将计数数据进行字模转换后放入显示缓冲区,包括状态字段。

LOADDAT:

MOV R0,#DISBUFFER ;指定显示地址为SEG0开始

MOV R1,DCONT

MOV R7,#10 ;写入12个数据

LOAD_L1: ;将数据填充显示缓冲区

MOV A,R1

MOV DPTR,#LCDData

MOVC A,@A+DPTR ;字模转换

MOV @R0,A

INC R0 ;缓冲区的下一个地址

DJNZ R7,LOAD_L1

JNB EMI,HOLD0 ;EMI=1时,

ORL DISBUFFER,#10H ;显示电磁干扰信号

HOLD0:

JNB PASS,HOLD1

ORL DISBUFFER+1,#10H ;PASS=1时,显示'开'

SJMP HOLD2

HOLD1:

ORL DISBUFFER+2,#10H ;否则显示'关'

HOLD2:

JNB OUT,HOLD3 ;OUT=1时

ORL DISBUFFER+3,#10H ;显示'退卡'

SJMP HOLD4

HOLD3:

ORL DISBUFFER+6,#10H ;否则显示'M3'

HOLD4:

JNB SALEWATR,HOLD5

ORL DISBUFFER+4,#10H ;显示'请购水'

HOLD5:

JNB XPLAN,HOLD6

ORL DISBUFFER+5,#10H ;'超计划'

HOLD6:

JNB POWERDOWN,HOLD7

ORL DISBUFFER+8,#10H ;电池缺电符号

HOLD7:

ORL DISBUFFER+9,#10H ;单位'元'

JNB CUR,HOLD8

MOV DISBUFFER+10,#05H ;'本次金额'

RET

HOLD8:

MOV DISBUFFER+10,#03H ;'剩余金额'

RET

;RUNALL

;全显示输出,把SPI接口置为高阻态,以便测量LCM功耗

RUNALL:

MOV R7,#12

MOV R0,#DISBUFFER

RUNALL_L1:

MOV @R0,#0FFH ;装入数据0FFH

INC R0

DJNZ R7,RUNALL_L1

ACALL BrushLcd ;刷新LCD显示

ORL P0M1,#2AH ;设置IO口为高阻态

ANL P0M2,#0D5H

MOV PT0AD,#2AH

RUNALL_L2: ;等待按键

JB KEY,$

MOV R7,#0FFH

DJNZ R7,$

JB KEY,RUNALL_L2

JNB KEY,$

ANL P0M1,#0D5H ;恢复IO口

MOV PT0AD,#00H

RET

RUNDOWN

掉电方式,把SPI接口置为高阻态,以便测量LCM功耗

RUNDOWN:

ACALL HT1621DOWN ;进入掉电状态

ORL P0M1,#2AH ;IO口置为高阻态

ANL P0M2,#0D5H

MOV PT0AD,#2AH

RUNDOWN_L1:

JB KEY,$ ;等待按键

MOV R7,#0FFH ;去抖动

DJNZ R7,$

JB KEY,RUNDOWN_L1

JNB KEY,$ ;等待按键放放开

RET

RUNNOP

关断LCD电源,把SPI接口置为高阻态。

RUNNOP:

SETB LCMC ;关断LCM电源

RUNNOP_L1: ;等待按键操作

JB KEY,$

MOV R7,#0FFH

DJNZ R7,$

JB KEY,RUNNOP_L1

JNB KEY,$

ANL P0M1,#0D5H ;恢复IO口设置

MOV PT0AD,#00H

CLR LCMC ;打开LCM电源

RET

延时1S子程序

在延时过程序可以判断有无按键,有按键时置位keyin位,无按

键时不对keyin操作。

DELAY_1S:

SETB TR0 ;启动定时器

MOV R0,#2

BACK:

MOV TL0,#0B0H ;置初值

MOV TH0,#3CH

DL:

JB KEY,DL_1

MOV R7,#0FFH ;有按键,进行去抖动处理

DJNZ R7,$

JB KEY,DL_1

SETB keyin ;是按键,置位keyin

DL_1:

JNB TF0,DL

CLR TF0

DJNZ R0,BACK ;等待定时时间到

JNB KEY,$ ;等待按键放开

RET

包含1621操作软件包

$INCLUDE(LCD1621.INC) ;包含头文件,头文件内已定义SPI,显示缓冲区,及各操作变量,ZY886A型LCD数字显示表等

以上为各位介绍了段码LCD液晶屏参考程序介绍,如果您感兴趣和想要了解这方面的话,可以咨询我们官网,专业人员会立即与您沟通,为您解答!

热门标签:

传真:  0755-27315661    0760-85884496
座机:  0755-29769890-0  0760-85884486

邮箱:jxdlx107@goodview-lcd.com

办公地址:深圳市宝安区福永塘尾富华工业区11栋3楼

工厂地址:广东省中山市三乡镇万里路1号平铺工业区B栋三楼

Copyrights©2017 深圳市佳显电子技术有限公司 All Rights Reserved
备案号: 粤ICP备17051216号

阿里巴巴二维码

阿里巴巴二维码

网站二维码

网站二维码