怎样用HT1621驱动控制点亮定做的LCD液晶屏?

怎样用HT1621驱动控制点亮定做的LCD液晶屏?,第1张

楼主首先需要将LCD的 SEG(段电极)和COM(公共电极)与HT1621的SEG与COM 对应相连。

在就是HT1621会有几个接口是与单片机的I/0口相连 像/CS(片选)/WR(写 *** 作) / RD(读 *** 作)/DATA(数据) 通过软件程序对I/O的控制 进而控制HT1621的读写 *** 作 。通过送数的不同达到想要的效果。

清屏就是对1621的RAM写入0,我的是6个8字,起始地址为4,你可设为起始地址为0,多写一些0即可。程序如下:

/*

清整屏,发101(读写命令字)--发起始地址6位(04)---发数据(每4位地址自动加1)

如果每次发8位数据(0),只有低4位有效,

*/

void LCD_clr()

{

LCD_CS_L

Ht1621LCD_WR_Bit(0xa0,3)//(data,位长)写入数据标志101 ,接下去写的为6位地址

Ht1621LCD_WR_Bit(4<<2,6)//(ADDdata,位长)写入地址数据 ,高6位,故<<2

Ht1621LCD_WR_DtBit(0x00,128)//128,可清6个"8."6*8=48*2LCD_CS_H

_NOP()

}

AJMP STRAT

ORG 0003H 中断0入口地址

ACALL DEL

AJMP INTA 跳转到中断0服务程序

ORG 0013H 中断1入口地址

ACALL DEL

AJMP INTB 跳转到中断1服务程序

STRAT:SETB EA

SETB EX0

SETB EX1

SETB IT0

SETB IT1

*****************************************

A8:MOV R6,#0 24进制计数器

MOV R5,#0

MOV 25H,#3FH 时十位

A7:MOV R4,#0

MOV 24H,#3FH 时个位

A6:MOV R3,#0

MOV 23H,#3FH 分十位

A5:MOV R2,#0

MOV 22H,#3FH 分个位

A4:MOV R1 ,#0

MOV 21H,#3FH; 秒十位

SETB 21H.0

SETB 21H.1

SETB 21H.2

SETB 21H.3

SETB 21H.4

SETB 21H.5

CLR 21H.6

CLR 21H.7

A3:MOV R0,#0

MOV 20H,#3FH 秒个位

**********************************************

A2:MOV A,R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV 20H,A

MOV A,R1

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV 21H,A

MOV A,R2

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV 22H,A

MOV A,R3

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV 23H,A

MOV A,R4

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV 24H,A

MOV A,R5

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV 25H,A

**********************************

MOV 31H,#21

B1:MOV 30H ,#0F0H

A1:MOV P0,20H 点亮秒个位数码管

CLR P1.3

ACALL DEL

SETB P1.3

MOV P0,21H 点亮秒十位数码管

CLR P1.2

ACALL DEL

SETB P1.2

MOV P0,22H 点亮分个位数码管

CLR P1.1

ACALL DEL

SETB P1.1

MOV P0,23H 点亮分十位数码管

CLR P1.0

ACALL DEL

SETB P1.0

MOV P0,24H 点亮时个位数码管

CLR P2.7

ACALL DEL

SETB P2.7

MOV P0,25H 点亮时十位数码管

CLR P2.6

ACALL DEL

SETB P2.6

DJNZ 30H,A1

DJNZ 31H,B1

************************************

INC R0

CJNE R0,#10,A2

INC R1

CJNE R1,#6,A3

INC R2

****************************

SETB P1.4 1分钟后关定时

CJNE R2,#0,A11分个位定时

CJNE R3,#0,A11分十位定时

CJNE R6,#19,A11时位定时

CLR P1.4 开定时

****************************

A11:CJNE R2,#10,A44

INC R3

A12:CJNE R3,#6,A55

INC R6

CJNE R6,#24,A9

AJMP A8

A9:INC R4

CJNE R4,#10,A66

INC R5

CJNE R5,#3,A77

AJMP A8

A44:AJMP A4

A55:AJMP A5

A66:AJMP A6

A77:AJMP A7

**************************************

DEL:MOV R7,#0AH 延时子程序

AA:DJNZ R7,AA

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

INTA: INC R2 中断0服务程序

CJNE R2, #10,B2

MOV R2,#0

INC R3

CJNE R3,#6,B2

MOV R3,#0

B2:RETI

INTB:INC R6 中断1服务程序

CJNE R6,#24,B4

MOV R6,#0

MOV R4,#0

MOV R5,#0

AJMP B3

B4:INC R4

CJNE R4, #10,B3

MOV R4,#0

INC R5

CJNE R5,#3,B3

MOV R5,#0

B3:RETI

END


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12125119.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存