wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

4×4矩陣鍵盤+1602液晶顯示

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年02月03日   【字體:

//這是51hei單片機開發板附帶的一個程序,矩陣鍵盤接p3口,其中p3.0-p3.4為行,P3.5->p3.7為列
//每按一下鍵數字便可顯示在1602液晶上面,并且蜂鳴器會發出響聲.
//全部源代碼下載: http://m.izizhuan.cn/f/jz1602.rar

#include<reg52.h>
#include <Intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
sbit rs=P2^2;
sbit lcden=P2^0;

sbit rw=P2^1;
sbit BEEP=P2^3;
uchar num,temp,date,i;

uchar code table_1[]=" shu ru tiao ma ";
uchar code table_2[]=" Pro_8888 ";
uchar code dis_tab[17]=
{ 
0x30,	  //0在1602中的十六進制碼  
0x31,	  //1在1602中的十六進制碼 	
0x32,	  //2在1602中的十六進制碼 
0x33,	  //3在1602中的十六進制碼 
0x34,	  //4在1602中的十六進制碼  
0x35,	  //5在1602中的十六進制碼 	
0x36,	  //6在1602中的十六進制碼 
0x37,	  //7在1602中的十六進制碼 
0x38,	  //8在1602中的十六進制碼  
0x39,	  //9在1602中的十六進制碼 	
0x41,	  //A在1602中的十六進制碼 
0x42,	  //B在1602中的十六進制碼
0x43,	  //C在1602中的十六進制碼  
0x44,	  //D在1602中的十六進制碼 	
0x2A,	  //*在1602中的十六進制碼 
0x23,	  //#在1602中的十六進制碼
0x20,	  // 在1602中的十六進制碼
};


void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}


void beep()
{
   uchar i;
   for (i=0;i<50;i++)
	   {
	   delay(4);
	   BEEP=0;       //BEEP取反
	   
	   } 
   BEEP=1;           //關閉蜂鳴器
   delay(100);       //延時     
}


void lcd_wait_busy()  //1602忙檢測函數
{  
	P0=0xff;			   //數據口全部置1,為讀狀態做準備
   	rs=0;			   //選擇指令寄存器
   	rw=1;			   //選擇讀
   	lcden=1;				   //使能線電平變化
   	while((P0&0x80)==0x80);//讀忙狀態,不忙時退出
   	lcden=0;				   //恢復使能線電平
}


// 1602寫命令函數		 


void lcd_write_com(unsigned char combuf)
{  
	rs=0;          	//選擇指令寄存器
   	rw=0;           	//選擇寫
   	P0=combuf;         	//把命令字送入P2 	
   	lcden=1;	            //使能線電平變化,命令送入1602的8位數據口
   	_nop_();
   	lcden=0;	            //恢復使能線電平
}


// 1602寫命令函數(帶忙檢測)		 

void lcd_write_com_busy(unsigned char combuf)
{  
	lcd_wait_busy();				//調用忙檢測函數
   	lcd_write_com(combuf); 	//調用寫命令函數
}


// 1602寫數據函數(帶忙檢測)		 

void lcd_write_data(unsigned char databuf)
{  
	lcd_wait_busy();	//調用忙檢測函數
   	rs=1;          	//選擇數據寄存器
   	rw=0;           	//選擇寫
   	P0=databuf;      	//把數據字送入P2
   	lcden=1;	            //使能線電平變化,命令送入1602的8位數據口
   	_nop_();
   	lcden=0;	            //恢復使能線電平
}


// 1602顯示地址寫函數		 

void lcd_write_address(unsigned char x,unsigned char y)
{  	
   	y&=0x01;			//行地址限制在0-1
   	if(y==0x00)
      	lcd_write_com_busy(x|0x80);	   //第一行的列地址寫入
   	else
      	lcd_write_com_busy((x+0x40)|0x80);	   //第二行的列地址寫入
}


// 指定地址寫入函數		 

void lcd_write_char(unsigned char x,unsigned char y,unsigned char buf)
{  		
		lcd_write_address(x,y); //寫入地址			
   	lcd_write_data(buf);		//寫入顯示數據    
} 


// 液晶初始化指令

void lcd_init()
{
	uchar num;
	dula=0;
	wela=0;
	lcden=0;

	lcd_write_com_busy(0x38); //設置16*2顯示,5*7點陣,8位數據接口
	lcd_write_com_busy(0x0d); //關顯示 顯示光標 光標閃爍
	lcd_write_com_busy(0x06); //當讀或寫一個字符后地址指針加一,且光標加一,寫一個字符,整屏顯示移動
	lcd_write_com_busy(0x01); //顯示清屏:1,數據指針清零 2,所有顯示清零
	lcd_write_com_busy(0x80); //80h+地址碼(0-27h,40h-67h) 設置數據地址指針    
	for(num=0;num<16;num++)
	{
		lcd_write_data(table_1[num]);
		delay(5);
	}

	lcd_write_com_busy(0x80+0x40);
	

	
}
void key_wdat(uchar i)  //按鍵寫數據

{
//	dula=0;
//	wela=0;
//	lcden=0;
//液晶初始化指令
//	write_com(0x38); //設置16*2顯示,5*7點陣,8位數據接口
//	write_com(0x0d); //關顯示 顯示光標 光標閃爍
//	write_com(0x06); //當讀或寫一個字符后地址指針加一,且光標加一,寫一個字符,整屏顯示移動
//	write_com(0x01); //顯示清屏:1,數據指針清零 2,所有顯示清零
//	write_com(0x80+0x40); //80h+地址碼(0-27h,40h-67h) 設置數據地址指針 
   	
	lcd_wait_busy();
	lcd_write_data(i);
    delay(100);
	




}


// 刪除液晶第1或2行全部數據
void clear(uchar t)
{
	if(t==1)
	{
		lcd_write_com_busy(0x80);
	}
	if(t==2)
	{
		lcd_write_com_busy(0x80+0x40);
	}
	for(i=0;i<15;i++)
	{
		lcd_write_data(dis_tab[16]);
	}
	lcd_write_com_busy(0x80+0x40);
}


// 產品顯示函數  待寫         如何從鍵盤輸入中提取出三位的產品號碼???????????????????
/*
void display_product()
{

}
*/


// 4*4矩陣鍵盤檢測

void keyscan()
{
			lcden=1;//???
			//
			P3=0xfe;
			temp=P3;
			temp=temp&0xf0;
			while(temp!=0xf0)
				{
					delay(5);
					temp=P3;
					temp=temp&0xf0;
					while(temp!=0xf0)
					{
						temp=P3;
					switch(temp)
						{
							case 0xee:key_wdat(dis_tab[7]); beep();    // 7
								break;
							case 0xde:key_wdat(dis_tab[8]); beep();    // 8
								break;
							case 0xbe:key_wdat(dis_tab[9]); beep();    // 9
								break;
							case 0x7e:key_wdat(dis_tab[17]); beep();   // 
								break;
						}
					while(temp!=0xf0)
						{
							temp=P3;
							temp=temp&0xf0;
						}
					}
				}
			//
			P3=0xfd;
			temp=P3;
			temp=temp&0xf0;
			while(temp!=0xf0)
				{
					delay(5);
					temp=P3;
					temp=temp&0xf0;
					while(temp!=0xf0)
					{
						temp=P3;
					switch(temp)
						{
							case 0xed:key_wdat(dis_tab[4]); beep();  // 4
								break;
							case 0xdd:key_wdat(dis_tab[5]); beep();  // 5
								break;
							case 0xbd:key_wdat(dis_tab[6]); beep();  // 6
								break;
							case 0x7d:key_wdat(dis_tab[17]); beep();  // 
								break;
						}
					while(temp!=0xf0)
						{
							temp=P3;
							temp=temp&0xf0;
						}
					}
				}

			//
			P3=0xfb;
			temp=P3;
			temp=temp&0xf0;
			while(temp!=0xf0)
				{
					delay(5);
					temp=P3;
					temp=temp&0xf0;
					while(temp!=0xf0)
					{
						temp=P3;
					switch(temp)
						{
							case 0xeb:key_wdat(dis_tab[1]);beep();  // 1
								break; 
							case 0xdb:key_wdat(dis_tab[2]);beep();  // 2
								break;
							case 0xbb:key_wdat(dis_tab[3]);beep();  // 3
								break;
							case 0x7b:key_wdat(dis_tab[17]);beep();  // 
								break;
						}
					while(temp!=0xf0)
						{
							temp=P3;
							temp=temp&0xf0;
						}
					}
				}

			//
			P3=0xf7;
			temp=P3;
			temp=temp&0xf0;
			while(temp!=0xf0)
				{
					delay(5);
					temp=P3;
					temp=temp&0xf0;
					while(temp!=0xf0)
					{
						temp=P3;
					switch(temp)
						{
							case 0xe7:key_wdat(dis_tab[0]); beep();  // 0
								break;
							case 0xd7:key_wdat(dis_tab[17]); beep();  // 
								break;
							case 0xb7:clear(2); beep();  // 刪除液晶第二行
								break;
							case 0x77:beep();  // enter
								break;
						}
					while(temp!=0xf0)
						{
							temp=P3;
							temp=temp&0xf0;
						}
					}
				}


}
//

void main()
{
	lcd_init();
	while(1)
	{
		keyscan();
	}
	while(1);
}
關閉窗口

相關文章

日日干夜夜操s8| 国内自拍九色| www.17c.com喷水少妇| 精品视频在线观看| 九九精品在线播放| 亚洲午夜黄色| 四虎成人在线| 福利视频在线播放| 黄色网免费观看| 亚洲精品一区二区三区蜜桃 | 国产精品三级| 国产污视频在线播放| 美臀av在线| 小小女视频网站色琼网站| 一本一道人人妻人人妻αv| 中文字幕伦理片| 一本一道久久a久久综合蜜桃| 日韩国产在线一区| 91精品国产综合久久久久久久久| 久久精品亚洲一区| 亚洲成年网站在线观看| 日韩欧美在线中文字幕| 欧美激情一区二区在线| 久久99久国产精品黄毛片色诱| 久久一区91| 韩国精品福利一区二区三区| 日韩一区二区三区免费| 神马午夜伦理不卡| 成人在线二区| 中文字幕在线播放第一页| 青青色青青操| 亚洲欧美综合乱码精品成人网| 国产精品国产精品国产专区| 精品小视频在线观看| 69精品无码成人久久久久久| 亚洲精品鲁一鲁一区二区三区| 免费国产a级片| 亚洲av首页在线| 欧洲亚洲一区二区三区四区五区| 91黄色精品| 国产又爽又黄的激情精品视频| 91国产美女视频| 欧美成人高清视频| 色噜噜久久综合伊人一本| 亚洲精品久久久久| 日韩精品最新网址| 7777精品伊人久久久大香线蕉完整版 | 国内精品麻豆美女在线播放视频| 四虎地址8848精品| 在线视频超级| аⅴ资源天堂资源库在线| 精品自拍一区| 国产区在线看| 国产乱色在线观看| 麻豆tv免费在线观看| 三级黄视频在线观看| 在线观看av片| 小小水蜜桃在线观看| 日韩写真福利视频在线| 在线黄色.com| 成人性生交大片免费看午夜 | 国产精品毛片va一区二区三区| 国产美女主播一区| 成人网中文字幕| 成人黄色免费网站在线观看| 国产久一一精品| 国产成人精品在线播放| 国产精品入口免费视频一| 国产精品91久久| 国产精品自拍视频| 99一区二区| 精品国产中文字幕| 日韩精品av一区二区三区| 亚洲欧美久久234| 亚洲一区二区三区免费看| 黄瓜视频免费观看在线观看www| 一区二区三区av在线| 国产精品suv一区| 亚洲 另类 春色 国产| 亚欧洲乱码视频| 97超碰在线资源| 国产馆在线观看| 欧美三级日本三级| 91精品国产乱码在线观看| 黄色片视频免费| 国产色视频在线| 亚洲网站视频在线观看| 欧美一级欧美三级在线| 青青草免费在线观看| 色偷偷亚洲第一综合| 黄页网址在线观看| 成人免费在线视频网| 羞羞视频在线观看不卡| 日本成人福利| 九九热爱视频精品视频| 欧美日韩国产探花| 日本美女视频一区二区| 久久这里只有精品首页| 亚洲精品欧美激情| 欧美视频在线观看一区| 日韩av一区二区在线观看| 精品国产美女在线| 国产精品国产福利国产秒拍| 精品不卡一区二区三区| 欧美日韩dvd| 亚洲欧美日韩综合网| 蜜桃av乱码一区二区三区| 99视频在线看| 天天干天天操av| 九色蝌蚪av新入口| 国产精品一二三区视频| 三妻四妾完整版在线观看电视剧| 日韩免费成人| 最新欧美人z0oozo0| 狠狠狠色丁香婷婷综合激情| 中文字幕一区二区三区在线播放| 在线观看www91| 中国人与牲禽动交精品| 国产日韩欧美中文| 国产又黄又爽免费视频| www.com污| 糖心vlog免费在线观看| 国产又粗又猛又黄| 软萌小仙自慰喷白浆| 美州a亚洲一视本频v色道| 中文日产幕无线码一区二区| 欧美三级午夜理伦三级在线观看| 亚洲激情偷拍| 国产午夜精品久久久久久久| 欧美人狂配大交3d怪物一区| 久久久成人精品| 国内精品国语自产拍在线观看| 人人妻人人添人人爽欧美一区| 日本护士做爰视频| 国产免费www| 99成人国产精品视频| 国产视频精选在线| 秋霞午夜一区二区三区视频| 国产日韩1区| 国产精品人成在线观看免费| 日韩精品一区二区三区中文不卡| 久久久久久久国产精品视频| 日韩欧美亚洲日产国产| 999这里有精品| 五月天婷婷综合网| 国产成人综合亚洲欧美在| 美国一级片在线免费观看视频 | 岛国爱情动作片在线| 超碰porn在线| 国产成人ay| 国产精品一色哟哟哟| 色婷婷精品大视频在线蜜桃视频| 久久综合88中文色鬼| 久久视频在线观看中文字幕| 欧美高清精品一区二区| 国产美女www爽爽爽| 操操操日日日| 无码小电影在线观看网站免费| 一区二区三区在线观看免费| 亚洲国产精品成人久久综合一区| 亚洲欧美日韩久久久久久 | 午夜免费欧美电影| 国产一区二区精品久久91| 日本韩国精品在线| 国产91精品视频在线观看| 激情六月天婷婷| 懂色av懂色av粉嫩av| 国产男女猛烈无遮挡免费视频| 免费观看久久久久| 999精品一区| 自拍偷拍亚洲欧美日韩| 久久久精品久久久久| 影音先锋在线亚洲| 久久一级免费视频| 国产精品久久精品牛牛影视| 1234区中文字幕在线观看| 亚洲欧洲视频| 亚洲不卡av一区二区三区| 欧美韩日一区二区| 黄色一级视频在线播放| 国产无遮挡又黄又爽| xvideos入口| 免费日韩成人| 国产成人一区二区精品非洲| 精品剧情在线观看| 久久伊人资源站| 精品人妻一区二区三区蜜桃视频| 色就是色欧美色图| av影片在线| 日韩激情视频在线观看| 欧美日韩视频第一区| 91精品午夜视频| 国产欧美日韩免费| 91九色蝌蚪porny| 在线天堂中文www官网| 中日韩高清电影网| 久久三级视频| 日韩欧美一级二级| 欧洲亚洲一区二区| 美女视频黄免费| 国产一级二级在线| 亚洲日产av中文字幕| 亚洲色图欧洲色图婷婷| 日本欧美黄网站| 美女露出粉嫩尿囗让男人桶| 无国产精品白浆是免费| 国模冰冰炮一区二区| 蜜桃视频m3u8在线观看| 亚洲三级影院| 91精品国产色综合久久| 日本一区视频在线观看免费| 久久黄色免费视频| 毛片视频免费观看| 日产精品一区二区| 欧美日韩亚洲成人| 99热国产免费| 午夜精品福利在线视频| 免费yellow网站| 日本女优一区| 欧洲精品在线观看| 神马一区二区影院| 天堂在线免费观看视频| 欧美成熟毛茸茸| 国产亚洲成人一区| 亚洲国产古装精品网站| www.激情网| 亚洲AV午夜精品| 亚洲精品中文字幕| 国产视频在线观看一区二区三区| 午夜剧场成人观在线视频免费观看| 中文字幕日韩久久| www.91在线观看| 亚洲婷婷伊人| 91激情五月电影| 亚洲欧洲一区二区| 国产精品九九九九| 欧美13videosex性极品| 久久亚洲精精品中文字幕早川悠里| 亚洲2020天天堂在线观看| 少妇户外露出[11p]| 奇米影视第四狠狠777| 欧美wwwww| 日韩欧美一级在线播放| 九一国产精品视频| 中文字幕在线久热精品| 97se亚洲| 色呦呦网站一区| 欧洲美女和动交zoz0z| 天天操天天干天天爱| 亚洲精品在线a| 日韩欧美亚洲范冰冰与中字| 一区国产精品| 天天综合网在线| 99ri日韩精品视频| 欧美视频完全免费看| 日韩视频在线视频| 欧美色图888| 国产调教一区二区三区| 91精品国产黑色紧身裤美女| 水蜜桃色314在线观看| 欧美色xxx| 日本一本不卡| 亚洲少妇激情视频| 中文字幕av一区二区三区人妻少妇| jizzjizz19| 国产精品嫩草99av在线| 欧美成人精品激情在线观看 | 中文字幕在线不卡视频| 国产精品亚洲综合| 91久久精品国产91性色69| 国产成人精品一区二区三区在线| 亚洲午夜免费电影| 秋霞在线一区二区| 亚洲www在线| 亚洲欧美色图视频| 蜜桃视频在线播放| av不卡免费电影| 国产成人精品免费视频大全最热 | 国产在线小视频| 床上的激情91.| 亚洲一区二区在线| 国产精品久久久久久久久久久久久久久久 | 久久理论电影网| 成人精品一二区| 精品人妻一区二区三区蜜桃| 6080亚洲理论片在线观看| 欧美日韩mp4| 亚洲一区日韩精品| 91欧洲在线视精品在亚洲| 国产一区二区三区黄视频| 国产精品一区电影| 国产精品嫩草影院精东| 日韩在线成人| 日韩精品资源二区在线| 中文字幕1区2区| 黄色小视频在线免费观看| 26uuu久久综合| 色视频一区二区三区| 久久99精品这里精品3| 在线免费高清一区二区三区| 国内精品久久久久| 五月婷婷色丁香| 色成人综合网| 欧美sm极限捆绑bd| 精品少妇一区二区三区免费观| 91最新在线| 亚洲一区在线播放| 日韩无套无码精品| 男人天堂午夜在线| 久久综合九色综合欧美亚洲| 日本一区二区三区视频在线观看 | 一区二区免费不卡在线| 欧美第一页在线| 天堂网中文字幕| 国内毛片久久| 久久精品美女视频网站| 国产精品成人网站| 亚洲视频国产| 日韩在线欧美在线| 日韩少妇裸体做爰视频| 国产成人tv| 久久夜色精品国产亚洲aⅴ| 91精品国产乱码在线观看| 成人午夜三级| 久久久国产影院| 亚洲精品无码久久久久| 久久超碰99| 韩剧1988免费观看全集| 在线免费观看一区二区| 精品一区电影| 4444欧美成人kkkk| 黄片毛片在线看| 亚洲日产国产精品| 51精品国产人成在线观看| 天堂tv亚洲tv日本tv欧美人tv| 亚洲综合另类| www.久久草| 你懂的视频网站| 26uuu亚洲综合色欧美| 久久视频这里有精品| 免费av在线电影| 在线亚洲免费视频| 国产ts在线播放| 高清一区二区三区av| 最近2019中文字幕在线高清| 国产成人精品网| 亚欧美无遮挡hd高清在线视频| 国产成人亚洲精品| 思99热精品久久只有精品| 国产最新精品精品你懂的| 天天综合中文字幕| 一不卡在线视频| 天天做天天摸天天爽国产一区| 亚洲精品无码一区二区| 日韩在线免费| 一区二区av在线| 在线观看国产黄| 亚洲精选国产| 日产精品一线二线三线芒果| 69日本xxxxxxxxx49| 精品国产一区二区三区久久久蜜臀| 久久久久久久久久久网站| 乱色精品无码一区二区国产盗| 免费视频久久| 亚洲无玛一区| 爽爽视频在线观看| 欧美日韩一级二级| 亚洲av鲁丝一区二区三区| 国产欧美自拍一区| 18性欧美xxxⅹ性满足| 色综合久久五月天| 91原创在线视频| 奇米影视四色在线| 99久久伊人| 97国产精品人人爽人人做| 亚洲欧美精选| 国产午夜一区二区三区| 亚洲熟女乱综合一区二区| 本网站久久精品| 久久久久久有精品国产| 麻豆国产视频| 国产欧美一区二区精品婷婷| 欧美激情第四页| 国产aⅴ精品一区二区四区| 91成人在线观看国产| 国产亚洲第一的欧洲日产| 中文在线一区二区| 精品人妻一区二区三区日产乱码卜| 2020国产精品极品色在线观看| 国产精品福利网站| av高清在线观看| 欧美日韩在线第一页| 久久久久亚洲AV成人| 欧美激情成人在线| 在线观看成人av电影| 日本在线视频观看| 国产亚洲xxx| 日本一线产区和二线产区| 99精品久久久久久| 亚洲av永久无码精品|