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

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

?? 1602液晶按鍵輸入顯示.c

?? 51實例大全
?? C
字號:
/*-----------------------------------------------
  名稱:LCD1602
  論壇:www.doflye.net
  編寫:shifang
  日期:2009.5
  修改:無
  內容:通過矩陣鍵盤輸入,依次顯示0-F16中字符
  引腳定義如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
#include<intrins.h>

sbit RS = P2^4;   //定義端口 
sbit RW = P2^5;
sbit EN = P2^6;

#define RS_CLR RS=0 
#define RS_SET RS=1

#define RW_CLR RW=0 
#define RW_SET RW=1 

#define EN_CLR EN=0
#define EN_SET EN=1

#define DataPort P0
#define KeyPort P1

unsigned char code dofly_code[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//轉換成液晶顯示的字符
/*------------------------------------------------
 uS延時函數,含有輸入參數 unsigned char t,無返回值
 unsigned char 是定義無符號字符變量,其值的范圍是
 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
 長度如下 T=tx2+5 uS 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
 while(--t);
}
/*------------------------------------------------
 mS延時函數,含有輸入參數 unsigned char t,無返回值
 unsigned char 是定義無符號字符變量,其值的范圍是
 0~255 這里使用晶振12M,精確延時請使用匯編
------------------------------------------------*/
void DelayMs(unsigned char t)
{
     
 while(t--)
 {
     //大致延時1mS
     DelayUs2x(245);
	 DelayUs2x(245);
 }
}
/*------------------------------------------------
              判忙函數
------------------------------------------------*/
 bit LCD_Check_Busy(void) 
 { 
 DataPort= 0xFF; 
 RS_CLR; 
 RW_SET; 
 EN_CLR; 
 _nop_(); 
 EN_SET;
 return (bit)(DataPort & 0x80);
 }
/*------------------------------------------------
              寫入命令函數
------------------------------------------------*/
 void LCD_Write_Com(unsigned char com) 
 {  
 while(LCD_Check_Busy()); //忙則等待
 RS_CLR; 
 RW_CLR; 
 EN_SET; 
 DataPort= com; 
 _nop_(); 
 EN_CLR;
 }
/*------------------------------------------------
              寫入數據函數
------------------------------------------------*/
 void LCD_Write_Data(unsigned char Data) 
 { 
 while(LCD_Check_Busy()); //忙則等待
 RS_SET; 
 RW_CLR; 
 EN_SET; 
 DataPort= Data; 
 _nop_();
 EN_CLR;
 }

/*------------------------------------------------
                清屏函數
------------------------------------------------*/
 void LCD_Clear(void) 
 { 
 LCD_Write_Com(0x01); 
 DelayMs(5);
 }
/*------------------------------------------------
              寫入字符串函數
------------------------------------------------*/
 void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) 
 {     
 if (y == 0) 
 	{     
	 LCD_Write_Com(0x80 + x);     
 	}
 else 
 	{     
 	LCD_Write_Com(0xC0 + x);     
 	}        
 while (*s) 
 	{     
 LCD_Write_Data( *s);     
 s ++;     
 	}
 }
/*------------------------------------------------
              寫入字符函數
------------------------------------------------*/
 void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) 
 {     
 if (y == 0) 
 	{     
 	LCD_Write_Com(0x80 + x);     
 	}    
 else 
 	{     
 	LCD_Write_Com(0xC0 + x);     
 	}        
 LCD_Write_Data( Data);  
 }
/*------------------------------------------------
              初始化函數
------------------------------------------------*/
 void LCD_Init(void) 
 {
   LCD_Write_Com(0x38);    /*顯示模式設置*/ 
   DelayMs(5); 
   LCD_Write_Com(0x38); 
   DelayMs(5); 
   LCD_Write_Com(0x38); 
   DelayMs(5); 
   LCD_Write_Com(0x38);  
   LCD_Write_Com(0x08);    /*顯示關閉*/ 
   LCD_Write_Com(0x01);    /*顯示清屏*/ 
   LCD_Write_Com(0x06);    /*顯示光標移動設置*/ 
   DelayMs(5); 
   LCD_Write_Com(0x0C);    /*顯示開及光標設置*/
   }
 
   /*------------------------------------------------
按鍵掃描函數,返回掃描鍵值
------------------------------------------------*/
unsigned char KeyScan(void)  //鍵盤掃描函數,使用行列反轉掃描法
{
 unsigned char cord_h,cord_l;//行列值中間變量
 KeyPort=0x0f;            //行線輸出全為0
 cord_h=KeyPort&0x0f;     //讀入列線值
 if(cord_h!=0x0f)    //先檢測有無按鍵按下
 {
  DelayMs(10);        //去抖
  if((KeyPort&0x0f)!=0x0f)
  {
    cord_h=KeyPort&0x0f;  //讀入列線值
    KeyPort=cord_h|0xf0;  //輸出當前列線值
    cord_l=KeyPort&0xf0;  //讀入行線值

    while((KeyPort&0xf0)!=0xf0);//等待松開并輸出

    return(cord_h+cord_l);//鍵盤最后組合碼值
   }
  }return(0xff);     //返回該值
}
/*------------------------------------------------
按鍵值處理函數,返回掃鍵值
------------------------------------------------*/
unsigned char KeyPro(void)
{
 switch(KeyScan())
 {
  case 0x7e:return 0;break;//0 按下相應的鍵顯示相對應的碼值
  case 0x7d:return 1;break;//1
  case 0x7b:return 2;break;//2
  case 0x77:return 3;break;//3
  case 0xbe:return 4;break;//4
  case 0xbd:return 5;break;//5
  case 0xbb:return 6;break;//6
  case 0xb7:return 7;break;//7
  case 0xde:return 8;break;//8
  case 0xdd:return 9;break;//9
  case 0xdb:return 10;break;//a
  case 0xd7:return 11;break;//b
  case 0xee:return 12;break;//c
  case 0xed:return 13;break;//d
  case 0xeb:return 14;break;//e
  case 0xe7:return 15;break;//f
  default:return 0xff;break;
 }
}

/*------------------------------------------------
                    主函數
------------------------------------------------*/ 
void main(void) 
{ 
unsigned char i,j,num; 

LCD_Init(); 
LCD_Write_Com(0x0F);//光標開,光標閃爍開

LCD_Write_String(0,0,"Press the key !");

while (1) 
 {  
 num=KeyPro();
 if(num!=0xff)
   {
    if((i==0)&&(j==0))//回到第一個字符時清屏
	    LCD_Clear();//清屏
    LCD_Write_Char(0+i,0+j,dofly_code[num]);//依次顯示輸入字符
	i++;
	if(i==16)//如果第一行顯示滿,轉到第二行
	  {
	   i=0;j++;
	   if(j==2)//如果2行都顯示滿,清屏后重新從第一行顯示
	   {
	      j=0;
		  }
	  }
   }
 }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久这里只有精品首页| 18涩涩午夜精品.www| 久久久无码精品亚洲日韩按摩| 中文字幕欧美激情| 日本最新不卡在线| 色偷偷久久人人79超碰人人澡| 884aa四虎影成人精品一区| 国产精品午夜免费| 老司机精品视频导航| 91麻豆精东视频| 久久综合久久鬼色| 日韩电影免费在线观看网站| 91年精品国产| 国产精品乱子久久久久| 国产在线精品不卡| 欧美一级搡bbbb搡bbbb| 五月综合激情日本mⅴ| 成人白浆超碰人人人人| 久久亚洲影视婷婷| 蜜臀国产一区二区三区在线播放| 色av综合在线| 亚洲色图视频免费播放| 成人免费视频网站在线观看| 久久久精品免费观看| 国产中文字幕精品| 欧美成人精品福利| 另类欧美日韩国产在线| 欧美一二三区精品| 免播放器亚洲一区| 欧美区一区二区三区| 亚洲一区二区成人在线观看| 91福利在线观看| 一区二区三区毛片| 欧美无砖专区一中文字| 亚洲已满18点击进入久久| 色综合天天性综合| 亚洲色图在线播放| 97精品国产露脸对白| 亚洲精品亚洲人成人网| 日本高清无吗v一区| 亚洲sss视频在线视频| 欧美三级乱人伦电影| 亚洲线精品一区二区三区八戒| 在线观看日产精品| 天天综合网天天综合色| 91精品国产一区二区三区蜜臀| 蜜臀va亚洲va欧美va天堂| 久久久久久亚洲综合| 岛国一区二区三区| 亚洲精品国产成人久久av盗摄| 在线亚洲一区观看| 丝袜脚交一区二区| 久久色视频免费观看| jizzjizzjizz欧美| 日韩理论片中文av| 欧美日韩一区小说| 国产在线日韩欧美| 国产精品每日更新在线播放网址 | 精品1区2区3区| 免播放器亚洲一区| 国产精品视频观看| 色婷婷亚洲综合| 蜜臀av一区二区三区| 中国色在线观看另类| 色综合色综合色综合色综合色综合| 夜夜精品视频一区二区| 欧美xxxx在线观看| av在线不卡免费看| 视频一区在线视频| 日本一区二区动态图| 欧美色精品天天在线观看视频| 久久精品久久综合| 亚洲乱码国产乱码精品精可以看| 欧美日韩成人在线| 国产91在线看| 日韩**一区毛片| 亚洲麻豆国产自偷在线| 日韩欧美区一区二| 91在线视频播放地址| 精品亚洲国产成人av制服丝袜| 最新热久久免费视频| 精品免费一区二区三区| 欧美在线观看视频一区二区三区| 麻豆专区一区二区三区四区五区| 中文字幕亚洲区| 久久综合一区二区| 欧美日韩成人一区| 一本久久综合亚洲鲁鲁五月天 | 久久综合九色欧美综合狠狠| 色8久久人人97超碰香蕉987| 国产一区二区三区| 日韩国产欧美一区二区三区| 亚洲人成精品久久久久| 国产亚洲婷婷免费| 日韩精品综合一本久道在线视频| 在线中文字幕一区| av亚洲产国偷v产偷v自拍| 日韩精品一卡二卡三卡四卡无卡| 亚洲精品国产a| 成人欧美一区二区三区小说| 国产视频一区二区在线观看| 日韩欧美在线1卡| 欧美一区二区三区系列电影| 欧美日韩免费不卡视频一区二区三区| 不卡在线观看av| 懂色av噜噜一区二区三区av| 久久疯狂做爰流白浆xx| 日本伊人色综合网| 免费在线观看日韩欧美| 亚洲成a人片在线不卡一二三区 | 国产精品每日更新在线播放网址| 精品福利av导航| 欧美成人女星排行榜| 日韩午夜激情av| 欧美日韩免费电影| 91精品国产黑色紧身裤美女| 欧美精品黑人性xxxx| 91精品国产综合久久精品图片 | 五月婷婷另类国产| 亚洲综合av网| 亚洲福利电影网| 日韩国产欧美视频| 免费人成网站在线观看欧美高清| 日本在线不卡一区| 韩国理伦片一区二区三区在线播放 | 欧美不卡123| 久久久久久久久久久久久夜| 国产亚洲精品bt天堂精选| 国产日韩欧美a| 国产精品国产三级国产普通话三级| 亚洲欧洲国产专区| 亚洲一区二区中文在线| 一区二区不卡在线播放 | 国产在线播放一区| 国产成人综合精品三级| 风间由美一区二区av101| 成人污视频在线观看| 色狠狠色狠狠综合| 91黄色激情网站| 欧美另类久久久品| xnxx国产精品| 国产精品你懂的| 一区二区三区波多野结衣在线观看 | 国产精品久久三区| 亚洲一区在线播放| 麻豆成人91精品二区三区| 国产成人精品一区二| 色久综合一二码| 欧美精品一区二区在线播放| 中文字幕日韩精品一区| 亚洲www啪成人一区二区麻豆| 久久激五月天综合精品| aaa欧美色吧激情视频| 欧美本精品男人aⅴ天堂| 国产色爱av资源综合区| 亚洲综合在线观看视频| 国内一区二区在线| 91欧美激情一区二区三区成人| 日韩视频免费观看高清完整版| 国产精品久久精品日日| 日韩在线一区二区三区| 成人av网站免费| 这里只有精品视频在线观看| 国产精品欧美精品| 日韩av网站在线观看| av在线不卡观看免费观看| 日韩一区二区三区四区五区六区| 国产精品九色蝌蚪自拍| 免费看日韩a级影片| 色呦呦网站一区| 久久蜜桃香蕉精品一区二区三区| 亚洲一区二区精品久久av| 国产麻豆视频一区二区| 在线观看一区不卡| 中文字幕制服丝袜一区二区三区| 青青草成人在线观看| 色综合欧美在线视频区| 国产精品美女一区二区| 韩国精品免费视频| 日韩精品中文字幕一区| 亚洲精品欧美激情| 成人国产精品免费网站| 精品99久久久久久| 蜜桃av一区二区在线观看| 欧美日韩一区二区三区免费看| 日韩理论片网站| 99视频有精品| 国产精品美女一区二区三区 | 欧美va日韩va| 婷婷开心激情综合| 欧美天堂亚洲电影院在线播放| 国产精品不卡一区二区三区| 国产91精品一区二区麻豆亚洲| 精品嫩草影院久久| 美国十次了思思久久精品导航| 5858s免费视频成人| 日韩不卡手机在线v区| 在线综合亚洲欧美在线视频| 亚洲成av人片在线| 欧美绝品在线观看成人午夜影视|