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

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

?? led_key.lst

?? 王紹偉先生的單片機入門資料
?? LST
字號:
C51 COMPILER V7.10   LED_KEY                                                               01/02/2005 16:12:26 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE LED_KEY
OBJECT MODULE PLACED IN .\Led_key.obj
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE ..\SourceFile\Led_key.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT
                    -(.\Led_key.lst) OBJECT(.\Led_key.obj)

line level    source

   1          /*************************************************/
   2          
   3          /********************顯示與鍵盤接口********/
   4          
   5          /*************2002年12月13日*******************/
   6          
   7          /************WROTE BY WANGSW********************/
   8          #include "reg52x2.h"  
   9          #include <intrins.h>
  10          
  11          #include "define.h"
  12          
  13          #include "led_key.h"
  14          
  15          #define KEY_SHORT_INTERVAL              2
  16          #define KEY_LONG_INTERVAL               40
  17          
  18          sbit SDA = P1^0;                        /*模擬串行轉并行口,下降沿有效,輸出為低電平可控點亮*/
  19          sbit SCL = P1^1;                        /*模擬串并行轉換的時鐘信號線*/
  20          
  21          sbit KEY = P1^2;                        /*鍵盤,低電平有效,檢測位*/
  22          
  23          sbit DISPLAY0 = P1^3;           /*EBIT4, 低電平有效*/
  24          sbit DISPLAY1 = P1^4;           /*EBIT3*/
  25          sbit DISPLAY2 = P1^5;           /*EBIT2*/
  26          sbit DISPLAY3 = P1^6;           /*EBIT1*/
  27          
  28          sbit LED = P1^7;                        /*EBIT0,低電平有效*/
  29          
  30          bool  LED_KEY_SIGN = FALSE;
  31          
  32          byte data KeyCounter = 0;
  33          
  34          byte data KeyIntervalSafeguard = 0;             /*用于連續兩個按鍵速度過快導致按鍵混亂*/
  35          
  36          byte data g_KeyStore = 0x00;
  37          
  38          static byte code KeyMap[8] =                            /*鍵盤轉換*/
  39          {
  40                  KEY1, KEY2, KEY3, KEY4, KEY5, KEY6, KEY7, KEY8
  41          };
  42          
  43          static byte code LedDisplayMap[2][16] =
  44          {
  45                  {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E},
  46                  {0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10, 0x08, 0x03, 0x46, 0x21, 0x06, 0x0E}
  47          };
  48          
  49          static void SendData(byte value);
  50          
  51          static byte KeyCheck(void);                                                     /*鍵值檢測*/
  52                                          
  53          
  54          /******************************************************************************************
C51 COMPILER V7.10   LED_KEY                                                               01/02/2005 16:12:26 PAGE 2   

  55          *函數名:                SendData
  56          *參數:                  value                   需要進行串并轉換的數據,是一字節8位數據
  57          *返回值:                無
  58          *描述:                  把數據value按照從高位到低位串行發送到串并轉換電路輸
  59                                          入端,主要可以用來協助完成底層LED顯示
  60          *編寫:                  王紹偉
  61          *版本信息:              V1.0                    2003年8月15日
  62          ******************************************************************************************/
  63          static void SendData(byte value)
  64          {
  65   1              byte data counter;
  66   1              SCL = 1;
  67   1              for(counter = 0; counter < 8; counter++)
  68   1              {
  69   2                      if(value & 0x80)        /*判斷數據*/
  70   2                      {
  71   3                              SDA = 1;
  72   3                      }
  73   2                      else
  74   2                      {
  75   3                              SDA = 0;
  76   3                      }
  77   2                      SCL = 0;                                        /*產生時鐘動作*/
  78   2                      SCL = 1;
  79   2                      value = value << 1;
  80   2              }
  81   1      }
  82          
  83          
  84          /******************************************************************************************
  85          *函數名:                KeyCheck
  86          *參數:                  無
  87          *返回值:                counter                 返回鍵值
  88                                          ERROR                   返回出錯信息
  89          *描述:                  通過掃描鍵盤返回按下的按鍵號
  90          *編寫:                  王紹偉
  91          *版本信息:              V1.0                    2003年8月15日
  92          ******************************************************************************************/
  93          static byte KeyCheck(void)
  94          {
  95   1              byte counter;
  96   1              SDA = 1;                        /*注意,原來數據為0,現在為1*/
  97   1              for(counter = 0; counter < 8; counter++)                        /*r先將掃描線上都置為高電平*/
  98   1              {
  99   2                      SCL = 0;                                        
 100   2                      SCL = 1;
 101   2              }
 102   1              SDA = 0;                                                                                /*r然后逐行置為低電平,偵測P1.2(KEY反饋線)*/
 103   1              
 104   1              for(counter = 0; counter < 8; counter++)                        /*需要修改計數值*/
 105   1              {
 106   2                      SCL = 0;                                        
 107   2                      SCL = 1;
 108   2                      delay(1);                                                               /*必須的延遲,否則數據出錯*/
 109   2                      if(!KEY)
 110   2                      {
 111   3                              return(counter);                                        /*r掃描出按下鍵就返回按下的鍵值并退出函數*/
 112   3                      }
 113   2              }
 114   1              return(ERROR);                          /*r若沒有掃描到按下鍵就返回ERROR*/
 115   1      }
 116          
C51 COMPILER V7.10   LED_KEY                                                               01/02/2005 16:12:26 PAGE 3   

 117          
 118          
 119          
 120          /******************************************************************************************
 121          *函數名:                led_key_led_control
 122          *參數:                  LedIndex                點亮的LED發光管號,其取值從1~8有效
 123          *返回值:                無
 124          *描述:                  根據LedIndex的值決定選擇點亮哪一只LED管
 125          *編寫:                  王紹偉
 126          *版本信息:              V1.0                    2003年8月15日
 127          ******************************************************************************************/
 128          
 129          extern void led_key_led_control(byte LedIndex)
 130          {
 131   1              P1 = 0xFF;
 132   1              if(LedIndex)
 133   1              {
 134   2                      LedIndex = 1 << (LedIndex - 1);         /*r當1左移(LedIndex-1)位后,發送到串并行轉換電路*/
 135   2                      SendData(~LedIndex);
 136   2                      LED = 0;                                                        /*r開啟DP-51的Q1三極管,這樣就可以開啟LED管點亮*/
 137   2              }
 138   1              
 139   1              
 140   1      }
 141          
 142          
 143          /******************************************************************************************
 144          *函數名:                led_key_led_display_control
 145          *參數:                  value                   LED顯示數碼值
 146                                          boDp                    是否顯示小數點
 147                                          LedDisplayIndex 代表顯示那一塊LED
 148          *返回值:                無
 149          *描述:                  對選擇的LED模塊讓其顯示一個數碼的程序
 150          *編寫:                  王紹偉
 151          *版本信息:              V1.0                    2003年8月15日
 152          ******************************************************************************************/
 153          extern void led_key_led_display_control(byte LedDisplayIndex, bool boDp, byte value)
 154          {
 155   1              byte i;
 156   1              i = boDp;
 157   1              P1 = 0xFF;
 158   1              SendData(LedDisplayMap[i][value]);              /*r發送LED顯示數據到串并轉換電路*/
 159   1      
 160   1              P1 &= ~(0x04 << LedDisplayIndex);
 161   1      }
 162          
 163          
 164          /******************************************************************************************
 165          *函數名:                led_key_key_check
 166          *參數:                  無
 167          *返回值:                無
 168          *描述:                  按鍵掃描判定程序                
 169          *編寫:                  王紹偉
 170          *版本信息:              V1.0                    2003年8月15日
 171          ******************************************************************************************/
 172          extern void led_key_key_check(void)                     /*5*5=25mS*/
 173          {
 174   1              byte i;
 175   1      
 176   1              P1 = 0xFF;                                      /*初始化原狀態,以免引起錯誤*/
 177   1              SDA = 0;
 178   1              for(i = 0; i < 8; i++)          /*r基于DP-51硬件構造,先向掃描線上發送低電平*/
C51 COMPILER V7.10   LED_KEY                                                               01/02/2005 16:12:26 PAGE 4   

 179   1              {
 180   2                      SCL = 0;
 181   2                      SCL = 1;
 182   2              }
 183   1              
 184   1              if(KEY)                                 /*r檢測反饋線,若無鍵按下,則KEY(P1.2)則會保持高電平,此時判定無鍵按下,退出鍵掃程序*/
 185   1              {
 186   2                      KeyCounter = 0;
 187   2                      return;
 188   2              }
 189   1                                      
 190   1              if(KeyIntervalSafeguard)        /*設置這段程序是為了讓判定兩次按鍵之間的時間間隔大于等于0.1s,此段程序在初始化后

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av一二三不卡影片| 国产精品素人视频| 欧美日韩精品一区视频| 色综合天天综合在线视频| 高清国产一区二区三区| 国产盗摄一区二区三区| 国产中文字幕精品| 久久国产精品第一页| 免费在线成人网| 久久99久久久欧美国产| 韩国精品一区二区| 国产在线精品一区在线观看麻豆| 极品少妇xxxx精品少妇偷拍| 久久se精品一区精品二区| 激情小说亚洲一区| 国产麻豆精品视频| 成人黄色a**站在线观看| 99re热视频精品| 91国偷自产一区二区三区观看| 一本久道中文字幕精品亚洲嫩| 色狠狠一区二区三区香蕉| 色一区在线观看| 欧美日韩激情在线| 欧美刺激午夜性久久久久久久| 精品国产sm最大网站免费看| 337p粉嫩大胆噜噜噜噜噜91av| 国产日产精品一区| 亚洲青青青在线视频| 午夜精品久久久久久久| 久久精品国产99| 盗摄精品av一区二区三区| jizzjizzjizz欧美| 欧美日韩在线精品一区二区三区激情| 91精品在线一区二区| 久久久不卡影院| 亚洲六月丁香色婷婷综合久久| 亚洲h动漫在线| 国产综合成人久久大片91| 91啪亚洲精品| 日韩欧美精品在线| 亚洲欧洲国产日韩| 美女视频黄a大片欧美| 成人免费的视频| 欧美精品123区| 国产午夜精品久久久久久免费视| 亚洲精品精品亚洲| 久久99国产精品免费网站| 色综合中文字幕| 精品区一区二区| 亚洲美女免费在线| 国产一区免费电影| 欧美综合在线视频| 久久男人中文字幕资源站| 亚洲男人都懂的| 狠狠色2019综合网| 色诱亚洲精品久久久久久| 26uuuu精品一区二区| 亚洲综合图片区| 国产大陆精品国产| 欧美欧美欧美欧美首页| 国产精品乱人伦中文| 日韩精品三区四区| 99久久国产综合色|国产精品| 日韩女优视频免费观看| 亚洲欧美国产毛片在线| 国产精品一区二区91| 欧美日韩成人综合天天影院 | 成人国产精品免费观看动漫| 欧美性受极品xxxx喷水| 国产日产欧美一区二区视频| 天天色天天爱天天射综合| av一区二区久久| 久久综合九色综合97_久久久| 婷婷一区二区三区| 91免费看`日韩一区二区| 久久久国际精品| 青青草原综合久久大伊人精品 | 麻豆精品一区二区av白丝在线 | 成人欧美一区二区三区白人 | 7777女厕盗摄久久久| 日韩理论片中文av| 成人一区二区三区在线观看| 欧美tk丨vk视频| 无吗不卡中文字幕| 91久久精品一区二区三区| 国产精品入口麻豆原神| 国产一区二区三区四区在线观看| 欧美日韩国产小视频在线观看| 中文字幕综合网| 成人av网站在线观看免费| 久久久精品影视| 激情伊人五月天久久综合| 91精品国产欧美日韩| 亚洲一区欧美一区| 在线亚洲一区二区| 亚洲精品高清在线观看| 91在线观看污| 国产精品久久久一区麻豆最新章节| 国产在线视频精品一区| 精品久久久久久久久久久久包黑料| 性做久久久久久久免费看| 色婷婷激情久久| 亚洲精品亚洲人成人网 | 精品欧美一区二区三区精品久久| 天天操天天干天天综合网| 欧美日韩国产精品自在自线| 亚洲成人中文在线| 欧美日韩国产高清一区二区三区| 亚洲一区二区精品3399| 欧美性受xxxx| 亚洲成av人片在线观看无码| 欧美少妇性性性| 午夜精品福利视频网站| 337p亚洲精品色噜噜| 国产成人啪免费观看软件| 久久亚洲私人国产精品va媚药| 精品无码三级在线观看视频| 精品日本一线二线三线不卡| 国产资源在线一区| 国产蜜臀av在线一区二区三区 | 久久综合九色综合97_久久久| 精品一区二区免费视频| 久久久亚洲精品石原莉奈| 国产综合久久久久久久久久久久| 久久这里只有精品首页| 国产成人av电影在线观看| 中文字幕在线不卡一区二区三区| 91在线国产福利| 亚洲丰满少妇videoshd| 日韩欧美成人激情| 国产精品18久久久久久久久久久久 | 欧美吻胸吃奶大尺度电影| 亚洲18女电影在线观看| 精品91自产拍在线观看一区| 粉嫩aⅴ一区二区三区四区五区| 国产精品国产馆在线真实露脸| 色94色欧美sute亚洲线路二| 三级影片在线观看欧美日韩一区二区| 欧美一级高清大全免费观看| 韩国v欧美v亚洲v日本v| 1024成人网| 欧美中文字幕不卡| 久国产精品韩国三级视频| 国产精品视频一二三| 欧美伊人久久久久久久久影院 | zzijzzij亚洲日本少妇熟睡| 亚洲黄色免费网站| 日韩一级黄色片| 成人avav在线| 天堂va蜜桃一区二区三区 | 国产精品色哟哟网站| 欧美性色aⅴ视频一区日韩精品| 久久精品噜噜噜成人av农村| 国产精品久久毛片| 日韩一区二区免费视频| 成人av片在线观看| 麻豆成人综合网| 日韩毛片在线免费观看| 91麻豆精品国产91久久久久久久久 | 欧美高清在线视频| 精品视频1区2区| 成人午夜免费电影| 视频在线观看一区二区三区| 欧美国产在线观看| 91精品国产综合久久蜜臀 | 中文字幕在线不卡一区二区三区| 91精品国产综合久久久久久久久久 | 中文字幕在线不卡一区| 欧美成人综合网站| 欧美视频一区二| 成人免费视频播放| 美女被吸乳得到大胸91| 一区二区三区四区中文字幕| 26uuu成人网一区二区三区| 欧美日韩精品一区二区| 成人黄色小视频在线观看| 国产曰批免费观看久久久| 日韩国产在线一| 亚洲色图欧美激情| 国产精品视频看| 精品电影一区二区| 日韩亚洲欧美一区| 欧美撒尿777hd撒尿| 91小视频在线| 成人午夜视频免费看| 国产一区二区在线影院| 免费高清在线一区| 亚洲成av人在线观看| 亚洲一区二区在线播放相泽| 国产精品久久久久婷婷二区次| 久久久久久电影| 亚洲国产精品一区二区尤物区| 国产欧美精品区一区二区三区| 91麻豆精品国产自产在线观看一区 | 欧美午夜精品免费| 亚洲欧美日韩国产综合| 99re免费视频精品全部| 亚洲啪啪综合av一区二区三区| 99久久精品免费| 亚洲欧美日韩国产另类专区 |