?? zzx12864c5_st7565_.txt
字號:
;THIS PROGRAM FOR I/O MODE TO EXAMPLE 12864;st7565 串口程序;制作日期:2004-11-12;change:2004-12-07;RESET TO VCC(YXD-12864T03 8-bit TRI-STATE PARALLEL I/O PORT)RESETPIN BIT P3.4CS1 BIT P3.7DC BIT P3.5SCLK BIT P1.6SID BIT P1.7FILLA EQU 20HFILLB EQU 21HFILLC EQU 22HFILLD EQU 23HFILLE EQU 24HFILLF EQU 25HFILLG EQU 26HFILLH EQU 27HTEMP EQU 28HLAB EQU 29HLINENUM EQU 2AHPAGENUM EQU 2BH ORG 00H JMP START ORG 0030H START: CLR RESETPIN CALL LDELAY SETB RESETPIN CALL LDELAY CALL RESET LCALL DISP_DRAW1 LCALL DISP_DRAW2 LCALL DISP_DRAW3 LCALL DISP_DRAW4 LCALL DISP_DRAW5STOP: AJMP STOPDISP_DRAW2: MOV FILLA,#55H MOV FILLB,#55H MOV FILLC,#55H MOV FILLD,#55H MOV FILLE,#55H MOV FILLF,#55H MOV FILLG,#55H MOV FILLH,#55H CALL FILL RETDISP_DRAW3: MOV FILLA,#0FFH MOV FILLB,#0H MOV FILLC,#0FFH MOV FILLD,#0H MOV FILLE,#0FFH MOV FILLF,#0H MOV FILLG,#0FFH MOV FILLH,#0H CALL FILL RETDISP_DRAW4: MOV FILLA,#55H MOV FILLB,#0AAH MOV FILLC,#055H MOV FILLD,#0AAH MOV FILLE,#055H MOV FILLF,#0AAH MOV FILLG,#055H MOV FILLH,#0AAH CALL FILL RETFILL: MOV R3,#08H MOV PAGENUM,#0B0HS_0: MOV A,PAGENUM CALL OUTI MOV A,#10H CALL OUTI MOV A,#00 CALL OUTI ;SET SEG =0 MOV A,#0AFH ;DIAPLAY ON CALL OUTI MOV R2,#17F_1: MOV A,FILLA CALL OUTD MOV A,FILLB CALL OUTD MOV A,FILLC CALL OUTD MOV A,FILLD CALL OUTD MOV A,FILLE CALL OUTD MOV A,FILLF CALL OUTD MOV A,FILLG CALL OUTD MOV A,FILLH CALL OUTD DJNZ R2,F_1 INC PAGENUM DJNZ R3,S_0 CALL DELAY RETDISP_DRAW1: MOV A,#040H ;開始行地址 CALL OUTI MOV R3,#06H; MOV DPTR,#TABLE ;表首地址 MOV PAGENUM,#0B0H ;第一頁地址 MOV A,PAGENUM CALL OUTI MOV A,#10H CALL OUTI MOV A,#00 CALL OUTI ;SET SEG=0 MOV R2,#126 MOV A,#0FFH CALL OUTDDD_1: MOV A,#00000001B CALL OUTD DJNZ R2,DD_1 MOV A,#0FFH CALL OUTD ; MOV A,#04H; CALL OUTI ;SET SEG=0DD_0: INC PAGENUM MOV A,PAGENUM CALL OUTI MOV A,#10H CALL OUTI MOV A,#00 CALL OUTI MOV A,#0FFH LCALL OUTD MOV R2,#126DD_2: MOV A,#0 LCALL OUTD DJNZ R2,DD_2 MOV A,#0FFH LCALL OUTD DJNZ R3,DD_0 INC PAGENUM MOV A,PAGENUM CALL OUTI MOV A,#10H CALL OUTI MOV A,#00 CALL OUTI ;SET SEG=0 MOV R2,#126 MOV A,#0FFH CALL OUTDDD_3: MOV A,#10000000B CALL OUTD DJNZ R2,DD_3 MOV A,#0FFH CALL OUTD CALL DELAY CALL DELAY RET DISP_DRAW5: MOV A,#040H ;FIRST LINE CALL OUTI MOV R3,#08H MOV DPTR,#TABLE MOV PAGENUM,#0B0HD_0: MOV A,PAGENUM CALL OUTI MOV A,#10H CALL OUTI MOV A,#00 CALL OUTI ;SET SEG=0 MOV R2,#128D_1: CLR A MOVC A,@A+DPTR CALL OUTD INC DPTR DJNZ R2,D_1 MOV A,#00H CALL OUTI ;SET SEG=0 INC PAGENUM DJNZ R3,D_0 CALL DELAY RET RESET: MOV A,#0E3H CALL OUTI MOV A,#0A2H CALL OUTI ;SET LCD BAIS= 1/9 MOV A,#0A0H ;ADC=0 S1->S132 CALL OUTI MOV A,#0C8H ;SET SHK C1->C64 CALL OUTI MOV A,#2CH CALL OUTI ;VC ON; CALL LDELAY MOV A,#2EH CALL OUTI ;VR ON; CALL LDELAY MOV A,#2FH CALL OUTI ;VF ON ;? CALL LDELAY; MOV A,#0FBH ; CALL OUTI ;booster set ; CALL LDELAY MOV A,#0f8H CALL OUTI MOV A,#00H CALL OUTI ;booster 5 times voltage MOV A,#81H ;設(shè)置電壓調(diào)整 CALL OUTI MOV A,#00AH CALL OUTI MOV A,#27H ;設(shè)置電阻分壓 CALL OUTI MOV A,#0AFH ;DIAPLAY ON CALL OUTI MOV A,#050H ;FIRST LINE =COM1 CALL OUTI RETOUTI: CLR CS1 ;數(shù)據(jù)/命令控制允許 CLR DC ;輸入命令數(shù)據(jù) MOV B,#08H ;傳輸數(shù)據(jù)位數(shù) ;CLR PSW.CY ;清進位.WRITE_COMMAND_1: ;命令數(shù)據(jù) RLC A ;D7移至C中 clr SCLK;. MOV SID,C ;將D7數(shù)據(jù)移至串行數(shù)據(jù)線 SETB SCLK ;產(chǎn)生第一個串行時鐘 CLR SCLK DJNZ B,WRITE_COMMAND_1 ;八位數(shù)據(jù)傳送完? SETB CS1 ;傳送完禁止接收數(shù)據(jù) ret OUTD: CLR CS1 ;數(shù)據(jù)/命令控制允許 SETB DC ;數(shù)據(jù)允許 MOV B,#8h ;傳送數(shù)據(jù)位數(shù) ;CLR PSW.CY ;清進位標(biāo)志WRITE_DATA_1: ;寫數(shù)據(jù) RLC A CLR SCLK MOV SID,C setb SCLK CLR SCLK djnz b,WRITE_DATA_1 SETB CS1 ret LDELAY: MOV B,#5L_1: MOV R6,#5 DJNZ R6,$ DJNZ B,L_1 RET DELAY: MOV R7,#07FH ;delay about 130msDELAY1:MOV R6,#0FFHDELAY2: MOV R5,#0CH DJNZ R5,$ DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET table:;-- 調(diào)入了一幅圖像:F:\LDL\PROGRAM\12864\.bmp --;-- 寬度x高度=128x64 -- end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -