📄 12864液晶驱动程序(带字库型,基于avr mega16)--wuzhenzhi的笔记.mht
字号:
p;c=3Dadc_datal-a*100-b*10;<BR> PORTC=3D~PORTC; <BR>}<BR>*/<BR>=
void=20
IOInit(void)<BR>{<BR> DDRA=3D0x00;<BR> DDRC=3D0xff;<BR> DD=
RB=3D0xff;<BR> DDRD=3D0xff;<BR> DATA=3D0xff;<BR> PORTC=3D0=
xff; <BR> PCTRL=3D0xff;<BR>}</P>
<P><BR>int main(void)<BR>{<BR> uchar=20
a,b,c;<BR> IOInit();<BR> WriteCommand(0x34,1); =
<BR> =20
WriteCommand(0x30,1); <BR> WriteCommand(0x01,1); =
<BR> =20
WriteCommand(0x06,1); <BR> WriteCommand(0x0c,1); =20
<BR> DrawFullScreen(STARTLOGO);//=CF=D4=CA=BE=BF=AA=BB=FA=BB=AD=C3=E6=
=A3=A8=C8=AB=C6=C1=A3=A9<BR> Delay(0x2ffff);<BR> DrawFullScreen=
(bs); =20
//=CF=D4=CA=BE=B1=B3=BE=B0=BB=AD=C3=E6=A3=A8=C8=AB=C6=C1=A3=A9<BR> D=
rawData(Num1,0);<BR> DrawData(Num2,1);<BR> //adc_init();<BR>&nb=
sp;sei();<BR> while(1){<BR> for=20
(a=3D0;a<=3D9;a++)<BR> for=20
(b=3D0;b<=3D9;b++)<BR> for(c=3D0;c<=3D9;c++)=
<BR> {<BR> DrawData(N=
um[a],0); <BR> DrawData(Num[b],1); =
;<BR> DrawData(Num[c],2); <BR>&nb=
sp; Delay(0x4ffff);<BR> }<B=
R> }<BR> return=20
0;<BR>}</P>
<DIV>=CD=B7=CE=C4=BC=FEYJ.H</DIV>
<DIV>//YJ.h : header file for the YJ project<BR>//</DIV>
<DIV>#ifndef _YJ_H_<BR>#define _YJ_H_</DIV>
<DIV>#ifndef __AVR_ATmega16__<BR>#define =
__AVR_ATmega16__<BR>#endif</DIV>
<DIV>#define __MCU_CLOCK_FREQUENCY__ _4.9152_MHz</DIV>
<DIV>=A3=A3i nclude <io.h><BR>=A3=A3i nclude =
<wdt.h><BR>=A3=A3i nclude=20
<sleep.h><BR>=A3=A3i nclude <Interrupt.h><BR>=A3=A3i nclude=20
<sig-avr.h><BR>=A3=A3i nclude <inttypes.h><BR>=A3=A3i nclude =
<pgmspace.h></DIV>
<DIV> </DIV>
<DIV>#define RS 0<BR>#define =20
RW 1<BR>#define =
E =20
2<BR>#define PSB 3<BR>#define =20
RST 4<BR>#define DATA =
PORTD<BR>#define =20
PCTRL PORTB</DIV>
<DIV>#define uchar unsigned char<BR>#define uint unsigned int<BR>#define =
ulong=20
unsigned long</DIV>
<DIV>#define stb(sfr,bit) (sfr|=3D(1<<bit))<BR>#define =
clb(sfr,bit)=20
(sfr&=3D~(1<<bit))<BR>#define tsb(sfr,bit)=20
(sfr&(1<<bit))</DIV>
<DIV>//=B9=A9DisplayString=BA=AF=CA=FD=B5=C4=CF=D4=CA=BE=D7=D6=B7=FB=B4=AE=
=A1=A3=BF=C9=D6=B1=BD=D3=CA=E4=C8=EB=D6=D0=CE=C4<BR>uchar =
str[]=3D"=B1=B1=BE=A9=C0=ED=B9=A4=B4=F3=D1=A7 =20
=D2=BA=BE=A7=CF=D4=CA=BE=BC=BC=CA=F5"; <BR>uchar =
strnum[3]=3D{" "};</DIV>
<DIV>void Delay(ulong DelayTime);<BR>void Busy(uchar i);<BR>void=20
WriteCommand(uchar Command,uchar flgBusyWait);<BR>void WriteData(uchar=20
Command);<BR>void Initiation(void);<BR>void ClearScreen(void);<BR>void=20
DisplayString(uchar *ptr,uchar DDRAM);<BR>uchar =
TranHexData(uchar);<BR>uchar=20
ReverseData(uchar a);</DIV>
<DIV>const unsigned char bs[1024] PROGMEM=3D{<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0x67,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFE,0x32,0x72,0xFE,0x33,0xFF,0x70,0x01,0xB9,<BR> =20
0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x32,0x52,<BR> =20
0x7F,0x33,0xFF,0xAF,0x7F,0xBE,0xCF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0x26,0x53,0x3F,0x33,0xFF,0xDF,<BR> =20
0x7F,0xDF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0x26,0x53,0x9F,0x33,0xFF,0xD3,0x77,0xDE,0xDF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0E,0x53,0xCF,0x13,<BR> =20
0xFF,0xDD,0x67,0xDD,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0x26,0x07,0xE7,0x27,0xFF,0xDE,0x5F,0xD8,<BR> =20
0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x27,0xFF,<BR> =20
0xF3,0x3F,0xFF,0xD8,0x07,0xDF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0x33,0xFF,0xFB,0x3F,0xFF,0xDB,<BR> =20
0x77,0xDC,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,<BR> =20
0x33,0xFF,0xFE,0x3F,0xFF,0x1B,0x77,0xDD,0xDF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xF8,0x07,0xD0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xDD,<BR> =20
0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xDF,0x7F,0xDD,0xDF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD0,<BR> =20
0x03,0xC0,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0x7F,0xFF,0x7F,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0x7F,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,<BR> =20
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF<BR>};<BR>const unsigned char =
Num0[128]=20
PROGMEM=3D{<BR> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =20
0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,<BR> =20
0x1F,0xF8,0x00,0x00,0x3C,0x3C,0x00,0x00,0x38,0x1C,<BR> =20
0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,0x00,0x00,<BR> =20
0x70,0x0E,0x00,0x00,0xE0,0x07,0x00,0x00,0xE0,0x07,<BR> =20
0x00,0x00,0xE0,0x07,0x00,0x00,0xE0,0x07,0x00,0x00,<BR> =20
0xE0,0x07,0x00,0x00,0xE0,0x07,0x00,0x00,0xE0,0x07,<BR> =20
0x00,0x00,0xE0,0x07,0x00,0x00,0xE0,0x07,0x00,0x00,<BR> =20
0x70,0x06,0x00,0x00,0x70,0x0E,0x00,0x00,0x70,0x0E,<BR> =20
0x00,0x00,0x38,0x1E,0x00,0x00,0x3C,0x3C,0x00,0x00,<BR> =20
0x1F,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x07,0xE0,<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR>};</DIV>
<DIV>const unsigned char Num1[128] PROGMEM=3D{<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =20
0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,<BR> =20
0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,<BR> =20
0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,<BR> =20
0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,<BR> =20
0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,<BR> =20
0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,<BR> =20
0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,<BR> =20
0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x0F,0xE0,<BR> =20
0x00,0x00,0x0F,0xE0,0x00,0x00,0x01,0xE0,0x00,0x00,<BR> =20
0x00,0xE0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60,<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR>};</DIV>
<DIV>const unsigned char Num2[128] PROGMEM=3D{<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =20
0x00,0x00,0xFF,0xFC,0x00,0x00,0xFF,0xFC,0x00,0x00,<BR> =20
0xFF,0xFC,0x00,0x00,0xE0,0x00,0x00,0x00,0x70,0x00,<BR> =20
0x00,0x00,0x78,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,<BR> =20
0x1E,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x07,0x80,<BR> =20
0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0xE0,0x00,0x00,<BR> =20
0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x38,<BR> =20
0x00,0x00,0x00,0x1C,0x00,0x00,0x70,0x1C,0x00,0x00,<BR> =20
0x70,0x1C,0x00,0x00,0x70,0x1C,0x00,0x00,0x70,0x1C,<BR> =20
0x00,0x00,0x38,0x3C,0x00,0x00,0x3C,0x38,0x00,0x00,<BR> =20
0x1F,0xF8,0x00,0x00,0x0F,0xF0,0x00,0x00,0x07,0xC0,<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR>};</DIV>
<DIV>const unsigned char Num3[128] PROGMEM=3D{<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =20
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,<BR> =20
0x00,0x00,0x03,0xF0,0x00,0x00,0x0F,0xF8,0x00,0x00,<BR> =20
0x1F,0xFC,0x00,0x00,0x3C,0x1E,0x00,0x00,0x38,0x0F,<BR> =20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -