亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 12232.c

?? 在c51下液晶顯示塊12232的編程實例
?? C
字號:
/*============================================================
功能:使用12232液晶顯示圖片演示
作者: Mingtree	ycxms88@163.com   http://www.mcu123.com
============================================================== 
硬件:TG12232B (122*32)模擬口線接線方式
連接線圖: 
--------------------------------------------------|
|DB0-----P0.0 | DB4-----P0.4 | RW-------P1.1 | A0--------P1.0 |
|DB1-----P0.1 | DB5-----P0.5 | RS-------P2.1 | V0接1K電阻到GND |
|DB2-----P0.2 | DB6-----P0.6 | E1-------P1.3 |
|DB3-----P0.3 | DB7-----P0.7 | E2-------P1.2 |			
---------------------------------------------------

本程序源碼只供學習參考,如有需要請聯系作者。

[注:AT89x52使用22.1184M或11.0592M晶振,實測使用22.1184M或11.0592都可以]
編譯平臺:Keil uV2 7.08


//可能看起來有點亂,不過效果還是不錯的,顯示圖形總的來說比顯示漢字要簡單,當然顯示漢字也不難。
希望此程序能給你一些幫助。
有什么問題可以發email 給我或到我的論壇發問.
http://www.mcu123.com/bbs
=============================================================*/



#include <AT89X52.H>
#include <ABSACC.H>

#define	uchar unsigned char
#define uint unsigned int

#define E1 P1_3		//塊1  左邊
#define E2 P1_2		//塊2  右邊
#define RW P1_1
#define A0 P1_0 	//A0為1時是數據,0時為指令數據
#define DATA P0 	//數據

extern unsigned char code Bmpt1[];
extern unsigned char code Bmpt2[];
extern unsigned char code Bmpt3[];
extern unsigned char code Bmpt4[];
extern unsigned char code Bmpt5[];
extern unsigned char code Bmpt6[];
extern unsigned char code Bmpt7[];
extern unsigned char code Bmptc[];
extern unsigned char code bmp001[];
extern	unsigned char code Bmp08[];
extern	unsigned char code Bmp07[];
extern	unsigned char code Bmp06[];
extern	unsigned char code Bmp05[];
extern	unsigned char code Bmp04[];
extern	unsigned char code Bmp03[];
extern	unsigned char code Bmp02[];
extern	unsigned char code Bmp01[];
extern	unsigned char code Bmp012[];
extern	unsigned char code Bmp003[];
extern	unsigned char code Bmp002[];


//延時
void delay(unsigned int i)
{
	unsigned char k=200;	
	while(i>0)
	{
		i--;
	}
	while(k>1)k--;
}

//左頁
//發送數據
void	OUTMD(unsigned char i)
{
//	A0=1;	//寫數據
	//delay(5);
//	E1=1;
	//delay(10);
//	DATA=i;
	//delay(5);
//	E1=0;
XBYTE[0X8001]=i;
}
//左頁
//發送命令
void	OUTMI(unsigned char i)
{
//	A0=0;	//寫指令
	//delay(5);
//	E1=1;
	//delay(10);
//	DATA=i;
	//delay(5);
//	E1=0;
XBYTE[0X8000]=i;
}
//右頁
//發送數據
void	OUTSD(unsigned char i)
{
//	A0=1;	//寫數據
	//delay(5);
//	E2=1;
	//delay(10);
//	DATA=i;
	//delay(5);
//	E2=0;
XBYTE[0X8003]=i;

}
//右頁
//發送命令
void	OUTSI(unsigned char i)
{
//	A0=0;	//寫指令
	//delay(5);
//	E2=1;
	//delay(10);
//	DATA=i;
	//delay(5);
//	E2=0;
XBYTE[0X8002]=i;
}



//初始化
void	lcdini(void)
{
	RW=0;
	OUTMI(0XE2);
	OUTSI(0XE2);//復位
	OUTMI(0XAE);
	OUTSI(0XAE);//POWER SAVE
	OUTMI(0XA4);
	OUTSI(0XA4);//動態驅動
	OUTMI(0XA9);
	OUTSI(0XA9);//1/32占空比
	OUTMI(0XA0);
	OUTSI(0XA0);//時鐘線輸出
	OUTMI(0XEE);
	OUTSI(0XEE);//寫模式
	
	OUTMI(0X00);
	OUTMI(0XC0);
	OUTSI(0X00);
	OUTSI(0XC0);
	
	OUTMI(0XAF);
	OUTSI(0XAF);
	
}
/*
函數說明:同時設置主從顯示頁為0-3頁。(內函數,私有,用戶不直接調用)
------------------------------------------------------------------------
*/
void SetPage(uchar page0,uchar page1)
{
OUTMI(0xB8|page1);OUTSI(0xB8|page0);
}

/*
--------------------------------------------------------------------------------
函數說明:同時設置主從列地址為0-121。(內函數,私有,用戶不直接調用)
--------------------------------------------------------------------------------
*/
void SetAddress(uchar address0,uchar address1)
{
OUTMI(address1);OUTSI(address0);
}

/*
--------------------------------------------------------------------------------

調用方式:void PutChar0(uchar ch)
函數說明:在右頁當前地址畫一個字節8個點。(內函數,私有,用戶不直接調用)
--------------------------------------------------------------------------------
-*/
void PutCharR(uchar ch)
{
OUTSD(ch);
}

/*
--------------------------------------------------------------------------------

調用方式:void PutChar1(uchar ch)
函數說明:在左頁當前地址畫一個字節8個點。(內函數,私有,用戶不直接調用)
--------------------------------------------------------------------------------
-*/
void PutCharL(uchar ch)
{
OUTMD(ch);
} 

/*
--------------------------------------------------------------------------------

調用方式:void DrawBmp(bit layer,uchar width,uchar *bmp)
函數說明:畫一個圖,layer表示上下層,width是圖形的寬,高都是16,bmp是
圖形指針
          使用zimo3軟件,縱向取模,字節倒序/240字節
--------------------------------------------------------------------------------
-*/
void DrawBmp(bit layer,uchar width,uchar *bmp)
{
uchar x,address,i=0;     //address表示顯存的物理地址
uchar page=0;	//page表示上下兩頁
bit window=0;  //window表示左右兩頁
//putcharR	//右邊
//putcharL	//左邊

for (x=width;x>1;x--)
{
if (i>60) {window=1;address=i%61;}
else address=i;	

if(layer==0)	//顯示一行八個字
	{
	SetPage(0,0);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i]);
	else	PutCharL(bmp[i]);
	SetPage(1,1);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i+width]);
	else	PutCharL(bmp[i+width]);
	}
else
	{	//顯示第二行八個漢字
	SetPage(2,2);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i]);
	else	PutCharL(bmp[i]);
	SetPage(3,3);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i+width]);
	else	PutCharL(bmp[i+width]);
	}
    i++;
   
}
}


/*
--------------------------------------------------------------------------------

調用方式:void clrscr(void)
函數說明:清屏
--------------------------------------------------------------------------------
-*/
void clrscr(void)
{
uchar i;
uchar page;
for (page=0;page<4;page++)
{
SetPage(page,page);
SetAddress(0,0);
for (i=0;i<61;i++){PutCharR(0);PutCharL(0);}
}
} 

//-----------------------------------------------------------
//圖片顯示
//采用字模2生成或字模3生成的都可以.
//-----------------------------------------------------------
void DrawBmp1(uint x_add, uchar width,uchar *bmp)
{
uchar x,address,i=0;     //address表示顯存的物理地址
uchar page=0;	//page表示上下兩頁
bit window=0;  //window表示左右兩頁
//putcharR	//右邊
//putcharL	//左邊
for (x=width;x>1;x--)
{
if (x_add>60) {window=1;address=x_add%61;}
else address=x_add;	


	SetPage(0,0);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i]);
	else	PutCharL(bmp[i]);
	SetPage(1,1);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i+width]);
	else	PutCharL(bmp[i+width]);
	
	
	SetPage(2,2);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i+width+width]);
	else	PutCharL(bmp[i+width+width]);
	SetPage(3,3);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp[i+width+width+width]);
	else	PutCharL(bmp[i+width+width+width]);	
    i++;
    x_add++;
   
}
}

//---------------------------------------------------------------
//---------------------------------------------------------------
//采用zimo2  顯示漢字,以漢字的顯示方式
//void Draw_word(uchar d_where,uint x_add,bit layer,uchar width)
//d_where表示在碼表中第幾個漢字,x_add橫坐標位置,layer顯示的層, width顯示的寬度。
//---------------------------------------------------------------


void Draw_word(uchar d_where,uint x_add,bit layer,uchar width)
{
uchar x,i=0,address;     //address表示顯存的物理地址
uchar page=0;	//page表示上下兩頁
bit window=0;  //window表示左右兩頁
//putcharR	//右邊
//putcharL	//左邊
d_where=d_where*32;

for (x=width;x>1;x--)
{
if (x_add>60) {window=1;address=x_add%61;}
else address=x_add;	

if(layer==0)	//顯示一行八個字
	{
	
	SetPage(0,0);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[d_where]);//右邊
	else	PutCharL(bmp001[d_where]);//左邊
	SetPage(1,1);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[d_where+width]);
	else	PutCharL(bmp001[d_where+width]);

	}
else
	{	//顯示第二行八個漢字
	SetPage(2,2);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[d_where]);//右邊
	else	PutCharL(bmp001[d_where]);//左邊
	SetPage(3,3);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[d_where+width]);
	else	PutCharL(bmp001[d_where+width]);

	}
    x_add++;
   d_where++;
}
}
/*
//------------------------------------------------------------------
//字模2顯示一個漢字
//縱向取模,字節倒序
void	disp_one(bit top_low,bit widows,uchar address,uchar width,uchar*bmp)
{	
if(top_low==0)
	{
	SetPage(0,0);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[next][i]);
	else	PutCharL(bmp001[next][i]);
	SetPage(1,1);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[next][i+width]);
	else	PutCharL(bmp001[next][i+width]);
	}
else
	{
	SetPage(0,0);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[next][i]);
	else	PutCharL(bmp001[next][i]);
	SetPage(1,1);
	SetAddress(address,address);
	if(window==1)PutCharR(bmp001[next][i+width]);
	else	PutCharL(bmp001[next][i+width]);
	}
}
*/




//液晶顯示規則
//	M(左)		S(右)
//	page		page
//	0	|	0
//	1	|	1
//	2	|	2
//	3	|	3

void	delay1s(unsigned char i)
{
	while(i>1)
	{
		i--;
	
		delay(65530);
	}
}

//顯示動態的等待圖標
void	wait1(unsigned char i)
{
	for(;i>1;i--)
	{delay1s(2);
	clrscr(); //
	DrawBmp1(0,60,Bmptc); //
	DrawBmp1(76,19,Bmpt1); //
	delay1s(2);
	clrscr(); //
	DrawBmp1(0,60,Bmptc); //
	DrawBmp1(76,19,Bmpt2); //
	delay1s(2);
	clrscr(); //
	DrawBmp1(0,60,Bmptc); //
	DrawBmp1(76,19,Bmpt3); //
	delay1s(2);
	clrscr(); //
	DrawBmp1(0,60,Bmptc); //
	DrawBmp1(76,19,Bmpt4); //
	delay1s(2);
	clrscr(); //
	DrawBmp1(0,60,Bmptc); //
	DrawBmp1(76,19,Bmpt5); //
	delay1s(2);
	clrscr(); //
	DrawBmp1(0,60,Bmptc); //
	DrawBmp1(76,19,Bmpt6); //
	delay1s(2);
	clrscr(); //
	DrawBmp1(0,60,Bmptc); //
	DrawBmp1(76,19,Bmpt7); //
	}

}


//演示程序
void main()                                                                                                                          
{                
                                                                                                     
 lcdini(); //reset                                                   
 clrscr(); //clr          
 
                                              
 Draw_word(0,0,0,16); //
 Draw_word(1,16,0,16); //
 Draw_word(2,32,0,16); //
 Draw_word(3,48,0,16); //
 Draw_word(0,64,0,16); //
 Draw_word(1,80,0,16); //
 Draw_word(2,96,0,16); //

 DrawBmp(1,120,Bmp002); //
 clrscr(); //
 delay1s(3);
 DrawBmp1(0,122,Bmp012); //LOGO
 // while(1) ;

 while(1)
 	{
	delay1s(3);

	clrscr(); //
	DrawBmp1(10,101,Bmp07); //
	
	delay1s(8);
	clrscr(); //
	wait1(3);
	DrawBmp1(0,122,Bmp04); //
	delay1s(8);
	clrscr(); //
	wait1(3);
	DrawBmp1(0,122,Bmp03); //超前科技
	delay1s(8);
	clrscr(); //
	wait1(3);
	clrscr(); //
	DrawBmp1(10,101,Bmp05); //
	delay1s(8);
	clrscr(); //
	wait1(3);
	clrscr(); //
	DrawBmp1(10,101,Bmp06); //
	delay1s(8);
	clrscr(); //
	wait1(3);
	clrscr(); //
	DrawBmp1(10,101,Bmp08); //
	delay1s(8);
	clrscr(); //
	wait1(3);
	clrscr(); //
	DrawBmp1(0,122,Bmp01); //這仿真器真不錯,用過都說好.
	wait1(8);
	}                                                        
 }                
 
                                         

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费看片| 日本特黄久久久高潮| 国产三级精品视频| 欧美精品一区二区三区一线天视频 | 国产精品天干天干在观线| 精品日产卡一卡二卡麻豆| 日韩三级伦理片妻子的秘密按摩| 欧美在线一区二区| 色婷婷精品大在线视频| 色综合咪咪久久| 在线亚洲人成电影网站色www| 91麻豆国产精品久久| 色8久久人人97超碰香蕉987| 91免费视频网址| 在线观看区一区二| 91久久精品一区二区| 欧美调教femdomvk| 欧美精品一二三四| 欧美精品第1页| 日韩亚洲欧美成人一区| 久久婷婷成人综合色| 久久精品一区二区三区不卡 | 7777精品伊人久久久大香线蕉 | 玉足女爽爽91| 天天综合天天综合色| 久久精品国产精品亚洲精品| 麻豆专区一区二区三区四区五区| 国产一区二区网址| 成人精品视频一区二区三区| www.性欧美| 欧美三级在线视频| 91精品婷婷国产综合久久竹菊| 欧美www视频| 最新热久久免费视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲大片免费看| 精品一二三四在线| 成人美女视频在线观看| 欧美羞羞免费网站| 日韩精品一区在线观看| 国产欧美一区在线| 亚洲一区二区三区四区的| 秋霞影院一区二区| 成人黄动漫网站免费app| 色婷婷久久一区二区三区麻豆| 欧美疯狂性受xxxxx喷水图片| 欧美精品一区二区精品网| 中文字幕一区二区三区在线播放| 亚洲福利一二三区| 国精品**一区二区三区在线蜜桃| 99精品国产91久久久久久| 在线不卡a资源高清| 久久综合九色综合欧美就去吻| 亚洲精品国产高清久久伦理二区| 久久成人综合网| 91猫先生在线| 欧美大黄免费观看| 亚洲免费观看高清完整版在线观看 | 色婷婷久久久综合中文字幕| 欧美成人一区二区三区在线观看 | 喷白浆一区二区| 成人av片在线观看| 欧美精品丝袜中出| 国产精品久久久久7777按摩| 日本欧美一区二区三区乱码| 成人a区在线观看| 欧美变态tickle挠乳网站| 日韩毛片视频在线看| 精品夜夜嗨av一区二区三区| 欧美日韩一二区| 欧美va日韩va| 无吗不卡中文字幕| 99精品视频一区| 久久伊人中文字幕| 免费不卡在线视频| 欧美三级日韩三级| 亚洲三级视频在线观看| 国产精品一二三在| 欧美va在线播放| 香蕉久久夜色精品国产使用方法| 不卡的av中国片| 6080yy午夜一二三区久久| av在线这里只有精品| 久久亚洲综合色一区二区三区 | 中文字幕欧美日韩一区| 久久国产剧场电影| 69堂国产成人免费视频| 亚洲午夜精品网| 正在播放亚洲一区| 日韩—二三区免费观看av| 91精品国产乱码| 精品中文av资源站在线观看| 亚洲黄色录像片| 国产高清在线精品| 日韩一区二区精品在线观看| 亚洲线精品一区二区三区八戒| av电影在线观看一区| 国产欧美综合色| 国产尤物一区二区在线| 2023国产精品| 精品一区二区三区久久久| 欧美一区二区免费观在线| 精彩视频一区二区三区| 欧美理论片在线| 洋洋成人永久网站入口| 91一区二区三区在线播放| 国产精品久久久久久久浪潮网站 | 日韩av午夜在线观看| 欧美日韩成人高清| 五月天一区二区| 3d动漫精品啪啪一区二区竹菊| 香蕉成人啪国产精品视频综合网 | 亚洲欧洲av另类| 99v久久综合狠狠综合久久| 中文字幕视频一区二区三区久| av在线不卡电影| 亚洲免费毛片网站| 欧美日韩免费观看一区二区三区| 亚洲亚洲人成综合网络| 欧美日韩国产一级二级| 美女诱惑一区二区| 国产日韩欧美精品综合| aaa国产一区| 亚洲v精品v日韩v欧美v专区| 欧美一区二区成人6969| 国产精品一区不卡| 亚洲婷婷在线视频| 欧美视频在线播放| 美女视频黄 久久| 久久久精品欧美丰满| 99热精品一区二区| 亚洲国产精品一区二区久久 | 天天av天天翘天天综合网| 51午夜精品国产| 国产一区二区91| 国产精品久久久久久久久搜平片| 在线这里只有精品| 久久99国内精品| 成人免费小视频| 欧美肥妇free| 国产**成人网毛片九色| 欧美性受xxxx| 97久久超碰精品国产| 在线视频国产一区| 亚洲精品视频免费看| 国产一本一道久久香蕉| 奇米影视在线99精品| 麻豆成人久久精品二区三区红 | 亚洲制服丝袜av| 亚洲自拍偷拍麻豆| 亚洲制服丝袜在线| 日韩精品亚洲专区| 经典三级视频一区| 欧美在线观看一区二区| 欧美图区在线视频| 美日韩一区二区| 亚洲啪啪综合av一区二区三区| 欧美日韩高清在线| 国产成人av在线影院| 性欧美大战久久久久久久久| 久久久高清一区二区三区| 欧美午夜电影一区| 成人自拍视频在线观看| 日韩精品福利网| 亚洲丝袜制服诱惑| 精品国产免费人成电影在线观看四季| 91麻豆精东视频| 国产成人av福利| 日韩av网站在线观看| 亚洲精品乱码久久久久久日本蜜臀| 精品久久久久久综合日本欧美| 欧美综合一区二区| 成人黄色小视频| 国产精品自在在线| 日本亚洲欧美天堂免费| 亚洲综合一区二区三区| 日本一区二区视频在线观看| 日韩三级精品电影久久久 | 欧美丰满少妇xxxbbb| 91丨九色丨黑人外教| 国产激情精品久久久第一区二区 | 99精品久久99久久久久| 国产高清亚洲一区| 日产国产欧美视频一区精品| 亚洲激情图片小说视频| 亚洲国产精华液网站w| 精品国产91乱码一区二区三区 | 国产精品久久久久四虎| 精品国产乱码久久久久久老虎 | 亚洲欧美激情一区二区| 久久精品人人做| 日韩欧美一区二区免费| 欧美日韩精品一区视频| 日本乱人伦aⅴ精品| 9人人澡人人爽人人精品| 国产二区国产一区在线观看| 久久成人久久爱| 青青草原综合久久大伊人精品| 午夜精品在线视频一区| 亚洲一区二区中文在线|