您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 78e51_HT1621_LCD显示程序 -
本文所属标签:
为本文创立个标签吧:

78e51_HT1621_LCD显示程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
义隆78e51_HT1621_LCD显示程序;**************************];MCU:W78E51(MCS-51 系列单片机)CSBITP0.0WRIBITP0.2DATA_BIT BITP0.1;30H~32H are used for write cycle flag;40H~43H are used for delay

义隆78e51_HT1621_LCD显示程序

本文引用地址: http://www.21ic.com/app/mcu/201806/764827.htm

;**************************]
;MCU:W78E51(MCS-51 系列单片机)
CSBITP0.0
WRIBITP0.2
DATA_BIT BITP0.1

;30H~32H are used for write cycle flag

;40H~43H are used for delay sub-program


ORG0000H
START:
INIT:
CLRCS
MOV A,#10000000B;select command writing
LCALLMODE_SELECT ;sub_program for command mode or data mode selection
MOV A,#01H;system oscillator on
LCALLWCOM
MOV A,#03H;display on
LCALLWCOM
MOV A,#29H;set bias=1/3; duty=1/4
LCALLWCOM
SETBCS
MAIN:
lcallkenwood
lcallwaitkey
LJMPSTART

clear:
setbcs ;these two rows are important
clrcs
MOV a,#0a0h
lcallmode_select
MOV a,#00h
lcalladdress
MOV r0,#017
clear1:
MOV a,#00h
lcallwdata
djnzr0,clear1
ret
kenwood:
setbcs
clrcs
MOV a,#0a0h
lcallmode_select
MOV a,#00h
lcalladdress
MOV a,#040h
lcallwdata
kenwood_1:
setbcs
clrcs
MOV a,#0a0h
lcallmode_select
MOV a,#0
lcalladdress
MOV r1,#32
MOV dptr,#data_kenwood
kenwood_2:
MOV a,#0
MOV cA,@a+dptr
lcallwdata
inc dptr
djnzr1,kenwood_2
ret

MODE_SELECT:
MOV 33H,#03H
MODE_SELECT1:
CLRWRI
RLCA
MOV DATA_BIT,C
LCALLDELAY_1MS
SETBWRI
DJNZ33H,MODE_SELECT1
RET
WCOM: ;write command to ht1621
MOV 30H,#8
WCOM2:

CLRWRI
RLCA
MOV DATA_BIT,C
LCALLDELAY_1MS
SETBWRI
DJNZ30H,WCOM2

CLRWRI
;CLRDATA_BIT
LCALLDELAY_1MS
SETBWRI
RET

ADDRESS:;write address to ht1621
RLCA
RLCA
MOV 31H,#6
ADD1:
CLRWRI
RLCA
MOV DATA_BIT,C
LCALLDELAY_1MS
SETBWRI
DJNZ31H,ADD1
RET
WDATA: ;write data to ht1621
MOV 32H,#4
WDATA1:
CLRWRI
RLCA
MOV DATA_BIT,C
LCALLDELAY_1MS
SETBWRI
DJNZ32H,WDATA1
RET


WAITKEY:SETB P2.0;wait a key to next screen
MOV 43H,#80
WAITKEY1:
LCALL DELAY ;IN ORDER TO ACCEPT SELECT STATUS
DJNZ 43H,WAITKEY1
STATUS: MOV C,P2.0
JC STATUS
RET

WAIT: MOV 42,#2FH
WAIT0: LCALL DELAY
DJNZ 42,WAIT0
RET

;DELAY SUBPROGRAM

DELAY: MOV 40H,#032H ;10.05ms
DELAY1: MOV 41H,#030H
DELAY2: DJNZ 41H,DELAY2 ;192us
DJNZ 40H,DELAY1
RET
DELAY_1MS:
MOV 44H,#005H
DELAY_1MS1:
MOV 45H,#030H
DELAY_1MS2:
DJNZ45H,DELAY_1MS2
DJNZ44H,DELAY_1MS1
RET

data_kenwood:

db070h,0f0h,0f0h,0f0h,0f0h,0f0h,
db 060h,000h
db 0f0h
db 050h,0b0h,0f0h,0f0h
db 000h,000h,000h,000h,0F0h ;seg9,seg10,seg11
db0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h
END




              查看评论 回复



 

"78e51_HT1621_LCD显示程序 -"的相关文章

网站地图

围观()