我用SH69P55,用的4COM,20SEG,但是发现显示的时候LCD显示的东西会闪烁。 我的代码如下: LIST P=69P55 ROMSIZE=8192
INCLUDE "SH69P55.H" INCLUDE "CONSTANT.H" ;************************************************ ; BANK0; $00H, SYSTEM REGISTER ;************************************************ LCDCON EQU 29H ;LCD CONTROL LCDSEG EQU 2EH ;LCD SEGMENT
;*********************************************** ;BANK6; $300-37FH; SYSTEM REGISTER ;*********************************************** SEG1 EQU 300H ;SEG1 SEG2 EQU 301H ;SEG2 SEG3 EQU 302H ;SEG3 SEG4 EQU 303H ;SEG4 SEG5 EQU 304H ;SEG5 SEG6 EQU 305H ;SEG6 SEG7 EQU 306H ;SEG7 SEG8 EQU 307H ;SEG8 SEG9 EQU 308H ;SEG9 SEG10 EQU 309H ;SEG10 SEG11 EQU 30AH ;SEG11 SEG12 EQU 30BH ;SEG12 SEG13 EQU 30CH ;SEG13 SEG14 EQU 30DH ;SEG14 SEG15 EQU 30EH ;SEG15 SEG16 EQU 30FH ;SEG16 SEG17 EQU 310H ;SEG17 SEG18 EQU 311H ;SEG18 SEG19 EQU 312H ;SEG19 SEG20 EQU 313H ;SEG20
;*********************************************** ;BANK7; $380H; SYSTEM REGISTER ;*********************************************** LPS EQU 03C1H ;LCD FRAME
;************************************************ ;程序 ;************************************************ ORG 0000H JMP MAIN ORG 0001H RTNI ;************************************************ ;主程序 ;************************************************ MAIN: CALL INIT_LCD CALL TEST JMP MAIN1 RTNI ;******************************************* ;初始化LCD寄存器 ;;上电时,先对驱动LCD 的寄存器进行清零,以免打开LCD 时出现乱点 ;******************************************* INIT_LCD: LDI LCDCON,0100B ;设置PORTD.3-0 作为COM1-4, 1/4 占空比 LDI TEMP, 01H STA LPS, BANK7 ;LCD FRAME=97.5HZ LDI LCDSEG,1111B ;SET seg1-20,设置10K电阻 ORIM LCDCON,1000B ;打开LCD RTNI ;******************************************* ;TEST PROGRAM ;******************************************* TEST: LDI TEMP,0011B ;显示D2,D3 STA SEG19,BANK6 ORIM LCDCON,1000B ;打开LCD JMP TEST RTNI END
谢谢各位兄弟指教 |