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

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

?? 矩陣鍵盤反轉掃描.c

?? LY-51S c語言 程序
?? C
字號:

/*-----------------------------------------------
  名稱:矩陣鍵盤依次輸入控制
  論壇:www.doflye.net
  編寫:shifang
  日期:2009.5
  修改:無
  內容:如計算器輸入數據形式相同 從右至左
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義


#define DataPort P0 //定義數據端口 程序中遇到DataPort 則用P0 替換
#define KeyPort P1
sbit LATCH1=P2^2;//定義鎖存使能端口 段鎖存
sbit LATCH2=P2^3;//                 位鎖存

unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
		                  	         0x77,0x7c,0x39,0x5e,0x79,0x71};// 顯示段碼值0~F
unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分別對應相應的數碼管點亮,即位碼
unsigned char TempData[8]; //存儲顯示值的全局變量

void DelayUs2x(unsigned char t);//us級延時函數聲明 
void DelayMs(unsigned char t); //ms級延時
void Display(unsigned char FirstBit,unsigned char Num);//數碼管顯示函數
unsigned char KeyScan(void);//鍵盤掃描
unsigned char KeyPro(void);
void Init_Timer0(void);//定時器初始化
/*------------------------------------------------
                    主函數
------------------------------------------------*/
void main (void)
{
unsigned char num,i,j;                  
unsigned char temp[8];
Init_Timer0();

while (1)         //主循環
  {


 num=KeyPro();
 if(num!=0xff)
   {
    if(i<8)
      {
       temp[i]=dofly_DuanMa[num];
	   for(j=0;j<=i;j++)
          TempData[7-i+j]=temp[j];
       }
	i++;
	if(i==9)//多出一個按鍵輸入為了清屏 原本應該為8
      {
	  i=0;
      for(j=0;j<8;j++)//清屏
         TempData[j]=0;
       }
   }
  //Display(0,8); //顯示全部8位
     //主循環中添加其他需要一直工作的程序
	
  }
}
/*------------------------------------------------
 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);
 }
}
/*------------------------------------------------
 顯示函數,用于動態掃描數碼管
 輸入參數 FirstBit 表示需要顯示的第一位,如賦值2表示從第三個數碼管開始顯示
 如輸入0表示從第一個顯示。
 Num表示需要顯示的位數,如需要顯示99兩位數值則該值輸入2
------------------------------------------------*/
void Display(unsigned char FirstBit,unsigned char Num)
{
      static unsigned char i=0;
	  

	   DataPort=0;   //清空數據,防止有交替重影
       LATCH1=1;     //段鎖存
       LATCH1=0;

       DataPort=dofly_WeiMa[i+FirstBit]; //取位碼 
       LATCH2=1;     //位鎖存
       LATCH2=0;

       DataPort=TempData[i]; //取顯示數據,段碼
       LATCH1=1;     //段鎖存
       LATCH1=0;
       
	   i++;
       if(i==Num)
	      i=0;


}
/*------------------------------------------------
                    定時器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
 TMOD |= 0x01;	  //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響		     
 //TH0=0x00;	      //給定初值
 //TL0=0x00;
 EA=1;            //總中斷打開
 ET0=1;           //定時器中斷打開
 TR0=1;           //定時器開關打開
}
/*------------------------------------------------
                 定時器中斷子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 
{
 TH0=(65536-2000)/256;		  //重新賦值 2ms
 TL0=(65536-2000)%256;
 
 Display(0,8);       // 調用數碼管掃描

}

/*------------------------------------------------
          按鍵掃描函數,返回掃描鍵值
------------------------------------------------*/
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;
 }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国精品主播一区二区在线观看 | 97久久精品人人做人人爽50路 | 3atv一区二区三区| 国产日韩一级二级三级| 午夜视频在线观看一区二区三区| 国产福利电影一区二区三区| 欧美三级一区二区| 亚洲色图制服诱惑 | 免费成人在线观看视频| 99re66热这里只有精品3直播 | 亚洲免费高清视频在线| 激情文学综合网| 欧美日韩一区二区电影| 亚洲色图视频网站| av高清久久久| 久久久精品免费网站| 免费人成在线不卡| 6080yy午夜一二三区久久| 亚洲欧美一区二区三区国产精品| 国产成人在线视频网址| 欧美一区二区三区的| 亚洲电影一级片| 在线日韩一区二区| 亚洲精品免费播放| 色综合久久中文字幕综合网| 国产精品久久久久久妇女6080| 国产精品亚洲一区二区三区在线| 精品久久人人做人人爰| 久久精品99久久久| 日韩欧美电影在线| 精品一区二区在线播放| 欧美一区二区视频网站| 丝袜诱惑制服诱惑色一区在线观看| 91久久精品网| 亚洲午夜免费视频| 欧美日韩一区不卡| 天堂影院一区二区| 日韩免费电影一区| 国内成+人亚洲+欧美+综合在线| 日韩欧美激情四射| 国产在线不卡一卡二卡三卡四卡| 久久综合精品国产一区二区三区| 国产一区91精品张津瑜| 国产三级一区二区| 99热精品国产| 亚洲aaa精品| 日韩片之四级片| 国产精品99久久久| 亚洲天堂中文字幕| 久久久久久99精品| 国产麻豆视频一区二区| 国产精品高潮呻吟久久| 色综合久久久久网| 婷婷久久综合九色国产成人 | 欧美国产乱子伦| 99热国产精品| 性欧美疯狂xxxxbbbb| 精品国产一区二区三区av性色| 国产一区视频导航| 亚洲日本护士毛茸茸| 欧美日韩国产经典色站一区二区三区| 日本aⅴ免费视频一区二区三区| 久久人人超碰精品| 欧美性猛交xxxx乱大交退制版| 秋霞午夜av一区二区三区| 久久久久久免费网| 色综合欧美在线| 久久国产欧美日韩精品| 国产拍揄自揄精品视频麻豆| 精品视频全国免费看| 国产一区二区三区免费看| 亚洲激情自拍偷拍| 日韩欧美高清一区| 91成人免费在线| 国产精品66部| 日本一区中文字幕| 亚洲欧美日韩一区| 久久综合久久久久88| 欧美日韩美女一区二区| 成人午夜电影网站| 麻豆精品在线看| 亚洲欧美区自拍先锋| 精品国产乱码久久| 欧美日韩视频第一区| 成人免费视频视频| 另类小说一区二区三区| 一区二区在线观看av| 久久九九影视网| 91精品国产综合久久久久久漫画| 成人国产免费视频| 久久精品99国产精品日本| 亚洲一区二区三区四区五区黄| 日本一区二区三区免费乱视频| 7777女厕盗摄久久久| 色综合久久99| 大白屁股一区二区视频| 秋霞午夜鲁丝一区二区老狼| 亚洲高清免费在线| 亚洲乱码国产乱码精品精的特点| 国产欧美日韩精品a在线观看| 欧美成人免费网站| 日韩午夜精品电影| 91精品国产福利在线观看| 色悠悠亚洲一区二区| aaa亚洲精品| 国产宾馆实践打屁股91| 韩国av一区二区| 久久激情五月婷婷| 麻豆成人在线观看| 日韩高清在线观看| 肉丝袜脚交视频一区二区| 亚洲二区视频在线| 亚洲综合图片区| 亚洲精选在线视频| 一区二区三区成人| 亚洲激情一二三区| 亚洲最大色网站| 亚洲一区二区在线视频| 成人h版在线观看| 国产凹凸在线观看一区二区| 国产一级精品在线| 国产白丝网站精品污在线入口| 国产精品羞羞答答xxdd| 奇米色一区二区三区四区| 国产在线播放一区三区四| 另类欧美日韩国产在线| 麻豆成人91精品二区三区| 久久99深爱久久99精品| 久久电影网站中文字幕 | 国产成人免费av在线| 国产成人免费网站| av中文字幕亚洲| 91麻豆国产自产在线观看| 欧美午夜一区二区三区免费大片| 欧美日韩精品系列| 91精品中文字幕一区二区三区| 精品少妇一区二区| 中文字幕成人av| 亚洲欧美欧美一区二区三区| 婷婷久久综合九色综合绿巨人 | 久久久精品黄色| 国产精品久久精品日日| 一区二区在线免费| 日韩av中文在线观看| 国产成人精品aa毛片| 欧美国产精品久久| ㊣最新国产の精品bt伙计久久| 亚洲精品少妇30p| 日本午夜一本久久久综合| 国产乱理伦片在线观看夜一区| 不卡的av在线播放| 欧美群妇大交群的观看方式| 精品国产免费人成电影在线观看四季 | 欧美一级久久久| 国产精品无人区| 日韩在线一区二区三区| 粉嫩绯色av一区二区在线观看| 欧美制服丝袜第一页| 精品国产伦一区二区三区观看方式| 亚洲天堂久久久久久久| 日韩av一区二区三区四区| 99久久精品99国产精品| 精品国内二区三区| 一区二区在线观看免费| 岛国精品在线播放| 5566中文字幕一区二区电影| 自拍偷拍国产亚洲| 国产一区二区视频在线播放| 欧美吞精做爰啪啪高潮| 国产精品毛片高清在线完整版 | 91超碰这里只有精品国产| 26uuu亚洲综合色欧美| 亚洲午夜久久久久中文字幕久| 国产精品资源网| 日韩欧美中文字幕一区| 夜夜爽夜夜爽精品视频| 懂色av一区二区三区免费观看| 欧美精品1区2区3区| 亚洲蜜臀av乱码久久精品蜜桃| 国模套图日韩精品一区二区| 91精品国产综合久久久久久久| 亚洲美腿欧美偷拍| a级精品国产片在线观看| 精品国产免费一区二区三区四区 | 国产在线一区观看| 日韩一级免费观看| 性做久久久久久免费观看欧美| 色婷婷av久久久久久久| 国产日韩av一区二区| 日韩精品乱码av一区二区| 99re这里只有精品首页| 欧美极品少妇xxxxⅹ高跟鞋| 麻豆国产一区二区| 欧美精品视频www在线观看 | 亚洲精品日产精品乱码不卡| 国产一区二区0| 久久久亚洲精品石原莉奈| 另类中文字幕网| 日韩欧美综合一区| 久久国产精品99精品国产|