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

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

?? 8255+lcd矩陣鍵盤ok(me).c

?? 通過8255拓展矩陣鍵盤
?? C
字號:
#include<AT89X51.h>
#include<absacc.h>
#include<intrins.h>

#define   uchar        unsigned char
#define   uint         unsigned int
#define   nop()        _nop_()
#define   DATA_PORT    P0


#define  COM8255  XBYTE[0x8003]              //命令口地址
#define  PA       XBYTE[0x8000]              //PA口地址
#define  PB       XBYTE[0x8001]              //PB口地址
#define  PC1      XBYTE[0x0002]              //PC口地址       //讀操作
#define  PC2      XBYTE[0x8002]              //PC口地址       //寫操作
#define  AB       P2_7
/********************************************************
                     LCD函數聲明
********************************************************/
uchar scan_key(void);
void delay(uchar n);

/********************************************************
                     LCD函數聲明
********************************************************/
void      WriteCom(uchar CMD);
void      WriteDat(uchar DAT);
void      Delay(uint ms);
uchar     CheckBusy(void);
void      Picture_Set_XY(uchar x, uchar y);
void      Char_Set_XY(uchar x, uchar y, uchar *p);
void      Lcd_Init(void);
void      clear(void);

/********************************************************
                    LCD引腳定義
********************************************************/
#define       RS   P1_5  
#define       RW   P1_6     
#define       EN   P1_7 


 
/*
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39*/
/***************************主函數*********************************/
                              
void main(void) 
{   
    uchar k=0;
	COM8255=0x81;
    Lcd_Init();
    Char_Set_XY(0,0,"4*4 矩陣鍵盤測試");
    Char_Set_XY(1,1,"--電氣工程系");
	Delay(5000);

     clear();
	 Char_Set_XY(0,0,"4*4 矩陣鍵盤測試");
	 Char_Set_XY(1,1,"你按下的鍵是:");
	while(1)
	{
	  k=scan_key();
      WriteCom(0x9e);
      WriteDat((k/10)+0x30);
      WriteDat((k%10)+0x30);
	}
	//while(1);                            //使程序停在此
} 


/****************************鍵盤掃描程序區****************************/

/************************************************
              鍵盤掃描子程序
************************************************/
uchar scan_key(void)
{
 
  uchar i,j,temp_i,temp_j,key_value;
  uchar a,b;                            //中間變量    
  temp_i=0x10;
  temp_j=0x01;
  //AB=1;
  //AB=1;
  //_nop_();
  PC2=0x0f;
  //AB=0;
  //AB=0;
  //_nop_();
  a=PC1;
  if(a!=0x0f)
   {
    Delay(15);
    //AB=0;
    //AB=0;
    //_nop_();
	a=PC1;
    if(a!=0x0f)
	 for(i=0;i<4;i++)
	  for(j=0;j<4;j++)
	   { 
		 b=~(temp_i<<i);
		 //AB=1;
        // AB=1;
         //_nop_();
		 PC2=b;
		 //AB=0;
         //AB=0;
         //_nop_();
		 a=PC1;
		 if((a&(temp_j<<j))==0)
		  key_value=i*4+j;
       }
	 }
     return key_value;
}


/*******************************LCD程序區****************************/
                    
/*************************************************
                   初始化函數
*************************************************/
void Lcd_Init(void)
{
 WriteCom(0x30);             //寫指令:功能設置 8位數據,基本指令              
 WriteCom(0x0c);             //寫指令:顯示狀態 ON,游標OFF,反白OFF                
 WriteCom(0x01);             //寫指令:清除顯示              
 WriteCom(0x02);             //寫指令:地址歸位                  
 WriteCom(0x80);             //寫指令:設置DDRAM地址
 Delay(100);                 //延時
}


/*************************************************
                    延時函數
*************************************************/
void Delay(uint ms)             //延時ms毫秒
{
    uchar j;
    for(; ms>0; ms--)
     for(j=100; j>0; j--)
      {
       nop();
       nop();
      } 
}

/*************************************************
                  寫控制字函數
*************************************************/
void WriteCom(uchar CMD)
{
 while(CheckBusy());            //測忙,若忙則等待
 RS = 0;                        //寫控制字
 RW = 0;                        //寫操作
 DATA_PORT = CMD;
 EN = 1;
 nop();
 nop();
 EN = 0;               //下降沿寫入
}


/*************************************************
                    寫數據函數
*************************************************/
void WriteDat(uchar DAT)
{
 while(CheckBusy());            //測忙,若忙則等待
 RS = 1;                        //寫數據
 RW = 0;                        //寫操作
 DATA_PORT = DAT;
 EN = 1;
 nop();
 nop();
 EN = 0;                 //下降沿寫入
}

/*************************************************
                    測忙函數
*************************************************/
uchar CheckBusy(void)
{
 uchar temp;
 DATA_PORT =0xff;             //P0口置高,準備接收數據
 RS = 0;                      //讀控制字
 RW = 1;                      //讀操作
 EN = 1;
 nop();
 nop();
 temp = DATA_PORT;
 nop();
 nop();
 EN = 0;                      //下降沿讀入
 temp &= 0x80;
 return(temp);                //若忙則返回1
}

/*************************************************
              置x,y坐標函數——寫漢字
*************************************************/
void Char_Set_XY(uchar x, uchar y, uchar *p)
{
   if(y == 0)
 {
   WriteCom((0x80+x)); 
 }
 if(y == 1)
 {
  WriteCom((0x90+x));
 }
 if(y == 2)
 {
  WriteCom((0x88+x));
 }
 if(y == 3)
 {
  WriteCom((0x98+x));
 }
 while(*p != 0)
 {
  WriteDat(*p++);
 }
}


/*************************************************
                    清屏函數
*************************************************/
void clear(void)
{
  WriteCom(0x01);             //寫指令:清除顯示  
}





 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区在线播放| 日本精品免费观看高清观看| 精品国产成人在线影院 | 国产亚洲精品超碰| 久久99热国产| 精品久久久久一区二区国产| 国内一区二区视频| 日韩三区在线观看| 激情偷乱视频一区二区三区| 久久久亚洲精品一区二区三区| 国产成人丝袜美腿| 中国色在线观看另类| av高清不卡在线| 亚洲欧美日韩在线| 欧美亚洲一区二区在线观看| 日韩精品亚洲一区二区三区免费| 精品国产欧美一区二区| 丰满白嫩尤物一区二区| 亚洲人精品一区| 91精品一区二区三区在线观看| 美女在线视频一区| 国产日韩精品一区二区浪潮av| jiyouzz国产精品久久| 亚洲精品国产成人久久av盗摄| 欧美性受xxxx黑人xyx| 久久99精品国产麻豆不卡| 国产女主播视频一区二区| 色婷婷av一区二区三区之一色屋| 五月天欧美精品| 久久久久久久久免费| 99精品久久只有精品| 日韩精品91亚洲二区在线观看| 欧美xxx久久| 国产91精品免费| 亚洲精品成人少妇| 精品剧情在线观看| k8久久久一区二区三区| 免费精品视频最新在线| 亚洲欧美视频在线观看视频| 欧美一区二区成人| 成人精品一区二区三区中文字幕 | 欧美日韩国产bt| 国产精品一区二区久久精品爱涩| 亚洲欧美国产三级| 欧美成人aa大片| 色狠狠色狠狠综合| 狠狠色丁香久久婷婷综合丁香| 亚洲精品乱码久久久久久久久| 久久网站热最新地址| 欧美午夜影院一区| 99视频一区二区三区| 日韩影院在线观看| 亚洲一区在线观看网站| 国产精品国产三级国产a| 日韩欧美国产一区二区三区| 欧美网站一区二区| 粉嫩高潮美女一区二区三区 | 欧美三级视频在线| 国产九九视频一区二区三区| 天使萌一区二区三区免费观看| 亚洲日本青草视频在线怡红院| 精品1区2区在线观看| 欧美日韩国产美女| 91丝袜高跟美女视频| 成人免费毛片片v| 国产美女久久久久| 日本亚洲一区二区| 亚洲成a人v欧美综合天堂| 国产精品福利在线播放| 久久精品一区二区| 精品国产露脸精彩对白| 日韩精品自拍偷拍| 69堂国产成人免费视频| 欧美日韩国产一级| 欧美色成人综合| 欧美性欧美巨大黑白大战| 99re这里只有精品6| av成人老司机| 99久久综合99久久综合网站| 成人精品一区二区三区四区| 从欧美一区二区三区| 成人黄色免费短视频| 成人少妇影院yyyy| 94-欧美-setu| 91九色02白丝porn| 99久久亚洲一区二区三区青草| 99riav久久精品riav| 91免费看`日韩一区二区| 色综合欧美在线视频区| 91黄色免费观看| 欧美性猛片xxxx免费看久爱| 欧美猛男男办公室激情| 欧美人妇做爰xxxⅹ性高电影| 9191成人精品久久| 日韩欧美美女一区二区三区| 国产亚洲综合av| 中文字幕在线观看一区| 亚洲大片精品永久免费| 亚洲成人一二三| 免费精品视频在线| 国产成人自拍在线| av中文字幕亚洲| 欧美性猛交xxxx乱大交退制版| 91精品啪在线观看国产60岁| 欧美刺激脚交jootjob| 精品99一区二区| 亚洲少妇30p| 午夜精品福利视频网站| 极品少妇xxxx偷拍精品少妇| 国产成人免费av在线| 色94色欧美sute亚洲13| 欧美日韩一二三| 精品久久久久99| 国产精品国产三级国产a| 亚洲第四色夜色| 国产精品原创巨作av| 97久久人人超碰| 91精品国产综合久久久久久久| 久久午夜羞羞影院免费观看| 亚洲女人小视频在线观看| 婷婷六月综合网| 成人蜜臀av电影| 91精品一区二区三区在线观看| 国产精品三级视频| 亚洲午夜久久久久中文字幕久| 韩国视频一区二区| 色999日韩国产欧美一区二区| 欧美变态口味重另类| 亚洲欧美欧美一区二区三区| 极品瑜伽女神91| 日本韩国精品一区二区在线观看| 26uuu国产在线精品一区二区| 亚洲视频在线一区二区| 久久国产精品99久久人人澡| 99久久婷婷国产精品综合| 欧美成人精品福利| 亚洲一区在线看| 成人sese在线| 久久伊99综合婷婷久久伊| 夜夜精品视频一区二区| 粉嫩绯色av一区二区在线观看| 欧美一区二区三区免费大片 | 天天av天天翘天天综合网| 国产一区二区三区精品视频 | 欧美成人官网二区| 亚洲黄色免费网站| 成人午夜免费电影| 日韩一区二区三区免费观看| 亚洲成av人在线观看| 不卡欧美aaaaa| 久久网这里都是精品| 日本欧美一区二区在线观看| 精品视频1区2区| 亚洲激情自拍偷拍| 成人免费毛片嘿嘿连载视频| 久久综合999| 青青草国产成人av片免费| 欧美视频在线观看一区| 中文字幕亚洲欧美在线不卡| 国产精品一区免费在线观看| 欧美va天堂va视频va在线| 日日噜噜夜夜狠狠视频欧美人| 在线视频你懂得一区| 欧美国产精品专区| 国产一区二区不卡在线| 日韩视频在线一区二区| 秋霞电影网一区二区| 欧美视频日韩视频在线观看| 亚洲制服丝袜av| 一本一本大道香蕉久在线精品 | 偷拍日韩校园综合在线| 色94色欧美sute亚洲线路一ni| 樱花草国产18久久久久| 91亚洲永久精品| 亚洲欧美日韩久久精品| 95精品视频在线| 亚洲夂夂婷婷色拍ww47| 在线看一区二区| 亚洲国产美女搞黄色| 91精品免费在线观看| 日本人妖一区二区| 亚洲美女一区二区三区| 97精品久久久久中文字幕| 中文字幕日本不卡| 成人av综合一区| 亚洲男人的天堂网| 色成年激情久久综合| 亚洲动漫第一页| 欧美一区二区视频在线观看2020| 男女男精品视频网| 欧美成人女星排名| 国产不卡在线视频| 亚洲青青青在线视频| 色婷婷综合在线| 午夜精品久久久久久久99樱桃| 日韩欧美中文字幕公布| 国产高清无密码一区二区三区| 国产精品国模大尺度视频| 欧洲av在线精品| 国精产品一区一区三区mba视频|