
在就是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 STRATORG 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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)