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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hd61202.c

?? 89c52單片機(jī)控制HD61202(液晶顯示模塊)的接口設(shè)計(jì)和驅(qū)動(dòng)程序
?? C
字號(hào):

/*寫漢字液晶程序 液晶屏分為4行*8列漢字,全部使用模擬接口方式。
***************************************************************************************************
連線圖:                                                                                           *
*LCM---89C52*  *LCM---89C52*   *LCM-------89C52*     *LCM----------89C52*     *
*DB0---P1.0*   *DB4---P1.4*    *D/I-------P2.3*      *CS1----------P2.0*       *
*DB1---P1.1*   *DB5---P1.5*    *R/W-------P2.2*      *CS2----------P2.1*       *
*DB2---P1.2*   *DB6---P1.6*    *E---------P2.4*      *EL-E---------P3.4*        *
*DB3---P1.3*   *DB7---P1.7*    *RST-------VCC        *EL-D---------VCC                            *
注:89C52的晶振頻率為12MHz                                                                         *
***************************************************************************************************/

#include<reg52.h>
#include<intrins.h>

#define	Uchar unsigned char
#define _Nop() _nop_() 		/*定義空指令*/

/****************全局變量定義******************/
Uchar col,row,cbyte,keyd,t,Signal;		/*列y,行(頁)x,輸出數(shù)據(jù);keyd為鍵值;t為數(shù)組下標(biāo);Signal為觸發(fā)傳感器的編號(hào)	*/
Uchar  buf[10];      /*保存,顯示數(shù)據(jù)緩沖區(qū)*/


/***********液晶顯示器接口引腳定義***************/
sbit    EL_E=   P3^4;       //背景光控制腳
sbit	Elcm=	P2^4;		//
sbit	CS1LCM=	P2^0;		//
sbit	CS2LCM=	P2^1;		//
sbit	Dilcm=	P2^3;		//
sbit	Rwlcm=	P2^2;		//
sfr   Datalcm=	0x90;		//數(shù)據(jù)口.即P1口地址

sbit    PL=     P3^5;       //接74HC164的PL腳,并行數(shù)據(jù)鎖入使能,低電平有效

/***********常用操作命令和參數(shù)定義***************/
#define	 DISPON		0x3f	/*顯示on		*/
#define	 DISPOFF	0x3e	/*顯示off		*/
#define	 DISPFIRST	0xc0	/*顯示起始行定義	*/
#define	 SETX		0xb8	/*X定位設(shè)定指令(頁)	*/
#define	 SETY		0x40	/*Y定位設(shè)定指令(列)	*/
#define	 Lcdbusy	0x80	/*LCM忙判斷位		*/

/**************顯示分區(qū)邊界位置*****************/
#define	 MODL		0x00	/*左區(qū)			*/
#define	 MODM		0x40	/*左區(qū)和右區(qū)分界	*/
#define	 LCMLIMIT		0x80	/*顯示區(qū)的右邊界	*/

/*****************函數(shù)列表**********************/
void InputNo(void);
void ShowPage(void);
void input(void);
void LookOver(void);
void Drawing(void);
void Save(void);
void ProcessSgl(void);

/******************數(shù)組列表*********************/
Uchar code Ezk[];		/*ASCII常規(guī)字符點(diǎn)陣碼表	*/
Uchar code Hzk[];		/*自用漢字點(diǎn)陣碼表	*/
Uchar code KJHM[];      /*開機(jī)畫面點(diǎn)陣碼表  */

/********************************/
//定義字符串?dāng)?shù)組		*/
/********************************/

Uchar code BH[]={0x80,0x81,0x23,0x25,0x25};
Uchar code JL[]={0x82,0x83,0x23,0x25,0x25,0x25,0x25,0x8b,0x8c};     //9個(gè)字節(jié)
Uchar code FW[]={0x84,0x85,0x23,0x25,0x25,0x25,0x25,0x86,0x85};
Uchar code BC[]={0x89,0x8a,0x9e,0x9f,0xa1,0x22};      /*保存??*/
Uchar code LX[]={0x87,0x88,0x23};
Uchar code ZD[]={0x8d,0x8e,0x93};
Uchar code HZ[]={0x8f,0x90,0x93};
Uchar code ZS[]={0x91,0x92,0x93};
Uchar code XD[]={0x94,0x95,0x96,0x97};
Uchar code YJ[]={0x98,0x99};
Uchar code SR[]={0xa0,0x9a,0x9b,0x9e,0x9f};
Uchar code CK[]={0x9a,0x9b,0x80,0x81,0x9c,0x9d,0x9e,0x9f};


/*狀態(tài)標(biāo)志*/
bit  ack;           /*應(yīng)答標(biāo)志位*/


/**************************液晶子程序*****************************/

/*公用busy等待*/
void wtcom(void)
	{
	Dilcm = 0;		/*CLR	DI	命令操作	*/
	Rwlcm = 1;		/*SETB	RW	讀操作	*/
        Datalcm = 0xFF;		/*用作輸入時(shí),口鎖存器必須先寫1  */
	Elcm  = 1;_nop_();
      	while(Datalcm & Lcdbusy);
      	Elcm  = 0;
	}

/********************************************************/
/* 分區(qū)操作允許等待,返回時(shí)保留分區(qū)選擇狀態(tài)		*/
/********************************************************/
void lcdbusyL(void)
	{
        CS1LCM = 1;		/*CLR	CS1		*/
        CS2LCM = 0;		/*SETB	CS2		*/
	wtcom();		/* waitting for enable	*/
	}

void lcdbusyR(void)
	{
        CS1LCM = 0;		/*SETB	CS1		*/
        CS2LCM = 1;		/*SETB	CS2		*/
	wtcom();		/* waitting for enable	*/
	}

/********************************/
/* 命令輸出到左區(qū)控制口		*/
/********************************/

void WrcmdL(Uchar X)
	{
		lcdbusyL();		/*確定分區(qū),返回時(shí)保留分區(qū)狀態(tài)不變*/
		Dilcm = 0;			/*命令操作	*/
		Rwlcm = 0;			/*寫輸出  	*/
		Datalcm = X;			/*數(shù)據(jù)輸出到數(shù)據(jù)口 */
		Elcm = 1;_nop_();Elcm = 0;	/*下降沿,寫入到LCM*/
	}

/********************************/
/* 命令輸出到右區(qū)控制口		*/
/********************************/

void WrcmdR(Uchar X)
	{
		lcdbusyR();	/*確定分區(qū),返回時(shí)保留分區(qū)狀態(tài)不變	*/
		Dilcm = 0;			/*命令操作	*/
		Rwlcm = 0;			/*寫輸出  	*/
		Datalcm = X;			/*命令輸出到數(shù)據(jù)口 */
		Elcm = 1;_nop_();Elcm = 0;	/*讀入到LCM*/
	}

/********************************************************/
/*根據(jù)設(shè)定的坐標(biāo)數(shù)據(jù),定位LCM上的下一個(gè)操作單元位置	*/
/********************************************************/
void Locatexy(void)
	{
	unsigned char  x,y;
        y = col&0x3F|SETY;		/*  col.and.0x3f.or.setx	*/
	x = row&0x07|SETX;		/*  row.and.0x07.or.sety	*/
	switch (col&0xc0)		/*  col.and.0xC0	*/
		{			/*條件分支執(zhí)行		*/
		case 0:	  {WrcmdL(y);
                           WrcmdL(x);
                           break;}	/*左區(qū)	*/
		case 0x40:{WrcmdR(y);
                           WrcmdR(x);
                           break;}	/*右區(qū)	*/
		}
	}

/********************************************/
/*  從液晶片上讀數(shù)據(jù),保留在全局變量cbyte中	*/
/********************************************/

void Rddata(void)
	{
	Locatexy();		/*坐標(biāo)定位,返回時(shí)保留分區(qū)狀態(tài)不變	*/
		Datalcm=0xFF;
		wtcom();		/*  waitting for enable		*/
		Dilcm = 1;	/*數(shù)據(jù)*/
		Rwlcm = 1;	/*讀數(shù)據(jù)*/
		Elcm = 1;	/*讀入到LCM*/
		_nop_();
		cbyte = Datalcm;	/*虛讀一次 */
		Elcm = 0;
	Locatexy();		/*坐標(biāo)定位,返回時(shí)保留分區(qū)狀態(tài)不變	*/
		Datalcm=0xFF;
		wtcom();		/*  waitting for enable		*/
		Dilcm = 1;	/*數(shù)據(jù)*/
		Rwlcm = 1;	/*讀數(shù)據(jù)*/
		Elcm = 1;	/*讀入到LCM*/
		_nop_();
		cbyte = Datalcm;	/*從數(shù)據(jù)口讀數(shù)據(jù),真讀 */
		Elcm = 0;
	}

/****************************************/
/*	數(shù)據(jù)寫入			*/
/****************************************/

void Wrdata(Uchar X)
	{
	Locatexy();		/*坐標(biāo)定位,返回時(shí)保留分區(qū)狀態(tài)不變	*/
	wtcom();
		Dilcm = 1;	/*數(shù)據(jù)輸出*/
		Rwlcm = 0;	/*寫輸出  */
		Datalcm = X;	/*數(shù)據(jù)輸出到數(shù)據(jù)口 */
		Elcm = 1;	/*讀入到LCM*/
		_nop_();
		Elcm = 0;
	}

/****************************************/
/*	清屏,全屏幕清零		*/
/****************************************/
void Lcmcls( void )
	{
	for(row=0;row<8;row++)
   		for(col=0;col<LCMLIMIT;col++) Wrdata(0);
	}

/********************************/
/*液晶屏初始化			*/
/********************************/

void Lcminit(void)
	{
		cbyte = DISPOFF;	/*關(guān)閉顯示屏	*/
		WrcmdL(cbyte);
		WrcmdR(cbyte);
		cbyte = DISPON;		/*打開顯示屏	*/
		WrcmdL(cbyte);
		WrcmdR(cbyte);
		cbyte = DISPFIRST;	/*定義顯示起始行為零	*/
		WrcmdL(cbyte);
		WrcmdR(cbyte);
		Lcmcls();
		col=0;		/*清屏		*/
		row=0;
		Locatexy();
	}
/********************************/
/* 延時(shí)				*/
/********************************/
void Delay(Uchar MS)
	{
		Uchar us,usn;
		while(MS!=0)
			{ usn = 4;
				while(usn!=0)
					{
						us=0xf0;
						while (us!=0){us--;};
						usn--;
					}
				MS--;
			}
	}

/*******************************************************/
/*   半角字符(西文字符庫)點(diǎn)陣碼數(shù)據(jù)輸出16*16		*/
/*******************************************************/
void Putedot(Uchar Order)
	{
	Uchar i,bakerx,bakery;	/*共定義4個(gè)局部變量			*/
	int x;			/*偏移量,字符量少的可以定義為UCHAR	*/
	bakerx = row;		/*暫存x,y坐標(biāo),已備下半個(gè)字符使用	*/
	bakery = col;
	x=Order * 0x10;		/*半角字符,每個(gè)字符16字節(jié)	*/
/*上半個(gè)字符輸出,8列	*/
	for(i=0;i<8;i++)
		{
		cbyte = Ezk[x];				/*取點(diǎn)陣碼,rom數(shù)組	*/
		Wrdata(cbyte);				/*寫輸出一字節(jié)		*/
		x++;
		col++;

		}					/*上半個(gè)字符輸出結(jié)束	*/

	col = bakery;					/*列對(duì)齊		*/
	row = bakerx+1;					/*指向下半個(gè)字符行	*/
/*下半個(gè)字符輸出,8列	*/
	for(i=0;i<8;i++)
		{
		cbyte = Ezk[x];				/*取點(diǎn)陣碼		*/
		Wrdata(cbyte);				/*寫輸出一字節(jié)		*/
		x++;
		col++;

		}					/*下半個(gè)字符輸出結(jié)束	*/
	row=bakerx;
	}						/*整個(gè)字符輸出結(jié)束	*/


/**************************************************/
/*  全角字符(漢字庫)點(diǎn)陣碼數(shù)據(jù)輸出16*32		*/
/**************************************************/
void Putcdot(Uchar Order)
	{
	Uchar i,bakerx,bakery;		/*共定義3個(gè)局部變量		*/
	int x;				/*偏移量,字符量少的可以定義為UCHAR	*/
	bakerx = row;			/*暫存x,y坐標(biāo),已備下半個(gè)字符使用	*/
	bakery = col;
	x=Order * 0x20;			/*每個(gè)字符32字節(jié)	*/

/*上半個(gè)字符輸出,16列	*/
	for(i=0;i<16;i++)
		{
		Wrdata(Hzk[x]);				/*寫輸出一字節(jié)		*/
		x++;
		col++;

		}					/*上半個(gè)字符輸出結(jié)束	*/

/*下半個(gè)字符輸出,16列	*/
	col = bakery;
	row = bakerx+1;
	for(i=0;i<16;i++)				/*下半部分*/
		{
		Wrdata(Hzk[x]);
		x++;
		col++;

		}					/*下半個(gè)字符輸出結(jié)束	*/
	row = bakerx;
	}						/*整個(gè)字符輸出結(jié)束	*/

/**************************************************************************/
/*	一個(gè)字串的輸出.第一個(gè)參數(shù)為一個(gè)字符串,第二個(gè)參數(shù)為此字符串的字節(jié)數(shù) */
/**************************************************************************/
void Putstr(Uchar *puts,Uchar i)
	{
		Uchar j,X;
		for (j=0;j<i;j++)
		{
		X = puts[j];
			if (X&0x80)
				{
					Putcdot(X&0x7f);	/*只保留低7位*/
				}
			else Putedot(X-0x20);		/*ascii碼表從0x20開始*/
                if (col==LCMLIMIT){col=0;row+=2;};	/*下一列,如果列越界換行*/
		if (row>6) row=0;		/*如果行越界,返回首行	*/
		}
	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频在线观看一区二区| 一区二区在线免费| 极品瑜伽女神91| 久久伊99综合婷婷久久伊| 精品在线一区二区三区| 精品国产乱码久久久久久浪潮| 久久91精品久久久久久秒播| 精品久久久久久久久久久久久久久| 玖玖九九国产精品| 国产日韩欧美a| 色婷婷狠狠综合| 丝袜亚洲另类丝袜在线| 亚洲精品一区二区精华| 成人久久18免费网站麻豆| 一区二区三区久久久| 欧美一级欧美三级在线观看| 国产一区二区三区最好精华液| 国产精品久久久久7777按摩| 91黄视频在线观看| 精品一区二区三区的国产在线播放 | 国产乱人伦偷精品视频不卡| 久久精品亚洲精品国产欧美kt∨| 91女人视频在线观看| 日本一道高清亚洲日美韩| 国产日韩欧美一区二区三区乱码| 99亚偷拍自图区亚洲| 午夜不卡av免费| 国产亚洲精品免费| 欧美性色综合网| 国产成人av一区| 日韩综合一区二区| 国产精品素人视频| 欧美一区二区三区四区在线观看| 国产成人免费av在线| 午夜激情一区二区| 国产精品三级av在线播放| 678五月天丁香亚洲综合网| 激情五月播播久久久精品| 亚洲精品欧美激情| 久久综合九色综合97婷婷女人| 色哟哟日韩精品| 国产精品1区2区| 日韩精品91亚洲二区在线观看 | 日韩av一级片| 亚洲精品欧美综合四区| 国产日韩精品一区二区三区在线| 欧美精品一级二级| 色偷偷成人一区二区三区91 | 国产亚洲欧美激情| 欧美人成免费网站| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品自拍网站| 日韩精品亚洲专区| 夜夜精品浪潮av一区二区三区| 国产亚洲福利社区一区| 日韩三级视频在线观看| 欧美吻胸吃奶大尺度电影| 成人av在线观| 高清成人在线观看| 国产成+人+日韩+欧美+亚洲| 久久精工是国产品牌吗| 日本视频一区二区三区| 亚洲一级在线观看| 夜夜操天天操亚洲| 亚洲免费观看高清在线观看| 国产精品国产三级国产普通话99| 国产欧美日韩久久| 国产亚洲午夜高清国产拍精品 | 亚洲成人综合视频| 亚洲一区成人在线| 亚洲一区视频在线| 亚洲一区二区三区四区在线免费观看 | 欧美激情一区二区三区四区| 日韩精品在线一区二区| 日韩欧美视频一区| 欧美xingq一区二区| 日韩情涩欧美日韩视频| 91麻豆精品国产自产在线| 欧美久久久久久蜜桃| 欧美日韩国产三级| 欧美日韩在线观看一区二区 | 成人网页在线观看| 99久久er热在这里只有精品15 | 欧美揉bbbbb揉bbbbb| 色噜噜狠狠成人网p站| 日本精品一区二区三区高清| 日本韩国欧美在线| 欧美日韩久久久久久| 91麻豆精品国产无毒不卡在线观看| 91精品久久久久久久99蜜桃| 欧美电影精品一区二区| 26uuu精品一区二区在线观看| 26uuu亚洲综合色| 国产精品私人自拍| 一区二区三区四区av| 天使萌一区二区三区免费观看| 视频一区免费在线观看| 久久机这里只有精品| 国产高清无密码一区二区三区| 成人一区二区在线观看| 91九色最新地址| 日韩一区二区三区精品视频| 日韩美女一区二区三区四区| 欧美激情一区不卡| 一区二区视频在线| 捆绑紧缚一区二区三区视频| 国产成人一区在线| 色婷婷av一区二区| 日韩欧美国产午夜精品| 国产精品美女久久久久高潮| 亚洲午夜日本在线观看| 精品一区二区免费视频| 99麻豆久久久国产精品免费| 欧美久久久久久久久久| 日本一区二区三区高清不卡| 亚洲国产综合在线| 国产麻豆视频一区二区| 欧美亚洲日本国产| 精品成人免费观看| 亚洲综合成人在线视频| 国内成人精品2018免费看| 色香蕉久久蜜桃| 亚洲精品一线二线三线| 亚洲另类一区二区| 国产精品99久久久久久似苏梦涵 | 555夜色666亚洲国产免| 亚洲国产高清aⅴ视频| 天涯成人国产亚洲精品一区av| 国产一区不卡精品| 欧美精品黑人性xxxx| 中文字幕色av一区二区三区| 久久精品国产一区二区三区免费看| 99精品欧美一区二区三区小说 | 久久久久久久久一| 日韩综合在线视频| 色综合久久综合网| 久久久噜噜噜久久中文字幕色伊伊| 亚洲一区二区三区视频在线播放| 国产福利91精品| 欧美成人欧美edvon| 亚洲超碰精品一区二区| 99视频精品免费视频| 国产无遮挡一区二区三区毛片日本| 午夜精品一区二区三区电影天堂| 成人在线综合网站| 国产亚洲福利社区一区| 久久精品国产精品青草| 欧美日韩激情一区二区三区| 亚洲黄色尤物视频| 99久久免费视频.com| 国产欧美日韩三区| 国产精品一区二区在线看| 日韩视频免费观看高清完整版在线观看| 一区二区在线观看视频在线观看| 粉嫩aⅴ一区二区三区四区| 日韩欧美第一区| 日本亚洲一区二区| 7777精品伊人久久久大香线蕉的| 亚洲一区中文在线| 欧美最猛性xxxxx直播| 亚洲欧美另类在线| 91网站在线观看视频| 亚洲欧美自拍偷拍| 97se亚洲国产综合在线| 1024成人网| 色婷婷综合久久久中文字幕| 一区精品在线播放| 色婷婷综合五月| 亚洲综合色噜噜狠狠| 欧美性猛交一区二区三区精品| 亚洲激情网站免费观看| 欧洲精品在线观看| 午夜视频一区二区| 日韩欧美中文一区| 精品一区二区三区日韩| 久久亚洲影视婷婷| 国产凹凸在线观看一区二区| 亚洲国产精品av| 色香蕉久久蜜桃| 亚洲二区在线观看| 日韩欧美一级片| 国产精品99久| 亚洲天堂免费在线观看视频| 色哟哟一区二区在线观看| 亚洲电影视频在线| 日韩午夜激情电影| 国产成人av在线影院| 亚洲日本va午夜在线电影| 欧美午夜一区二区三区免费大片| 亚洲成人手机在线| 久久综合九色综合久久久精品综合 | 国产成人av网站| 成人免费在线播放视频| 欧美午夜一区二区三区| 久久99国产精品尤物| 国产三级精品在线| 91黄色小视频| 极品少妇xxxx偷拍精品少妇| 国产精品家庭影院| 欧美三级中文字幕|