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

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

?? main.lst

?? USB鼠標程序
?? LST
字號:
C51 COMPILER V7.06   MAIN                                                                  11/16/2008 15:59:42 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Main.c BROWSE DEBUG OBJECTEXTEND TABS(1)

stmt level    source

   1          /******************************************************************
   2             本程序只供學習使用,未經作者許可,不得用于其它任何用途
   3             
   4                  歡迎訪問我的USB專區:http://group.ednchina.com/93/
   5                  歡迎訪問我的blog:   http://www.ednchina.com/blog/computer00
   6                                       http://computer00.21ic.org
   7          
   8                  感謝PCB贊助商——電子園: http://bbs.cepark.com/
   9          
  10          main.c file
  11          
  12          作者:電腦圈圈
  13          建立日期: 2008.06.27
  14          修改日期: 2008.07.10
  15          版本:V1.1
  16          版權所有,盜版必究。
  17          Copyright(C) 電腦圈圈 2008-2018
  18          All rights reserved            
  19          *******************************************************************/
  20          
  21          #include <AT89X52.H>  //頭文件
  22          #include "Key.h"
  23          #include "Led.h"
  24          #include "UART.h"
  25          #include "pdiusbd12.h"
  26          #include "UsbCore.h"
  27          #include "config.h"
  28          
  29          code uint8 HeadTable[][74]={
  30          "********************************************************************\r\n",
  31          "******             《圈圈教你玩USB》之 USB鼠標                ******\r\n",
  32          "******                      AT89S52 CPU                       ******\r\n",
  33          "******                  建立日期:",__DATE__,"                 ******\r\n",
  34          "******                   建立時間:",__TIME__,"                   ******\r\n",
  35          "******                    作者:電腦圈圈                      ******\r\n",
  36          "******                    歡迎訪問作者的                      ******\r\n",
  37          "******           USB專區:http://group.ednchina.com/93/       ******\r\n",
  38          "******      BLOG1:http://www.ednchina.com/blog/computer00    ******\r\n",
  39          "******                BLOG2:http://computer00.21ic.org       ******\r\n",
  40          "******                  請按K1-K8分別進行測試                 ******\r\n",
  41          "******    K1:光標左移  K2:光標右移  K3:光標上移 K4:光標下移   ******\r\n",
  42          "******    K5:滾輪下滾  K6:滾輪上滾  K7:鼠標左鍵 K8:鼠標右鍵   ******\r\n",
  43          "********************************************************************\r\n",
  44          };
  45          
  46          /********************************************************************
  47          函數功能:根據按鍵情況返回報告的函數。
  48          入口參數:無。
  49          返    回:無。
  50          備    注:無。
  51          ********************************************************************/
  52          void SendReport(void)
  53          {
  54   1       //需要返回的4字節報告的緩沖
  55   1       //Buf[0]的D0就是左鍵,D1就是右鍵,D2就是中鍵(這里沒有)
C51 COMPILER V7.06   MAIN                                                                  11/16/2008 15:59:42 PAGE 2   

  56   1       //Buf[1]為X軸,Buf[2]為Y軸,Buf[3]為滾輪
  57   1       uint8 Buf[4]={0,0,0,0};
  58   1       
  59   1       //我們不需要KEY1~KEY6按鍵改變的信息,所以先將它們清0
  60   1       KeyUp &=~(KEY1|KEY2|KEY3|KEY4|KEY5|KEY6);
  61   1       KeyDown &=~(KEY1|KEY2|KEY3|KEY4|KEY5|KEY6);
  62   1       
  63   1       //如果有按鍵按住,并且不是KEY7、KEY8(左、右鍵)
  64   1       //或者KEY7、KEY8任何一個鍵有變動的話,則需要返回報告
  65   1       if((KeyPress&(~(KEY7|KEY8)))||KeyUp||KeyDown)
  66   1       {
  67   2        if(KeyPress & KEY1) //如果KEY1按住,則光標需要左移,即X軸為負值。
  68   2        {
  69   3         Buf[1]=-1;  //這里一次往左移動一個單位。
  70   3        }
  71   2        if(KeyPress & KEY2) //如果KEY2按住,則光標需要右移,即X軸為正值。
  72   2        {
  73   3         Buf[1]=1;   //這里一次往右移動一個單位。
  74   3        }
  75   2        if(KeyPress & KEY3) //如果KEY3按住,則光標需要上移,即Y軸為負值。
  76   2        {
  77   3         Buf[2]=-1;   //這里一次往上移動一個單位。
  78   3        }
  79   2        if(KeyPress & KEY4)  //如果KEY4按住,則光標需要下移,即Y軸為正值。
  80   2        {
  81   3         Buf[2]=1;  //這里一次往下移動一個單位。
  82   3        }
  83   2        if(KeyPress & KEY5)  //如果KEY5按住,則滾輪下滾,即滾輪值為負。
  84   2        {
  85   3         Buf[3]=-1;  //這里一次往下滾動一個單位。
  86   3        }
  87   2        if(KeyPress & KEY6)  //如果KEY6按住,則滾輪上滾,既滾輪值為正
  88   2        {
  89   3         Buf[3]=1;   //這里一次往上滾動一個單位。
  90   3        }
  91   2        if(KeyPress & KEY7)  //鼠標左鍵
  92   2        {
  93   3         Buf[0]|=0x01;  //D0為鼠標左鍵
  94   3        }
  95   2        if(KeyPress & KEY8)  //鼠標右鍵
  96   2        {
  97   3         Buf[0]|=0x02;  //D1為鼠標右鍵
  98   3        }
  99   2        //報告準備好了,通過端點1返回,長度為4字節。
 100   2        D12WriteEndpointBuffer(3,4,Buf);
 101   2        Ep1InIsBusy=1;  //設置端點忙標志。
 102   2       }
 103   1       //記得清除KeyUp和KeyDown
 104   1       KeyUp=0;
 105   1       KeyDown=0;
 106   1      }
 107          ////////////////////////End of function//////////////////////////////
 108          
 109          /********************************************************************
 110          函數功能:主函數。
 111          入口參數:無。
 112          返    回:無。
 113          備    注:無。
 114          ********************************************************************/
 115          void main(void)  //主函數
 116          {
 117   1       uint8 i;
C51 COMPILER V7.06   MAIN                                                                  11/16/2008 15:59:42 PAGE 3   

 118   1       uint16 id;
 119   1       uint8 InterruptSource;
 120   1       
 121   1       EA=1; //打開中斷
 122   1       InitKeyboard(); //初始化按鍵
 123   1       InitUART();  //初始化串口
 124   1       
 125   1       for(i=0;i<18;i++)   //顯示信息
 126   1       {
 127   2        Prints(HeadTable[i]);
 128   2       }
 129   1       
 130   1       id=D12ReadID();
 131   1      
 132   1       Prints("Your D12 chip\'s ID is: ");
 133   1       PrintShortIntHex(id);
 134   1      
 135   1       if(id==0x1012)
 136   1       {
 137   2        Prints(". ID is correct! Congratulations!\r\n\r\n");
 138   2       }
 139   1       else
 140   1       {
 141   2        Prints(". ID is incorrect! What a pity!\r\n\r\n");
 142   2       }
 143   1       
 144   1       UsbDisconnect();  //先斷開USB連接
 145   1       UsbConnect();  //將USB連接上
 146   1       ConfigValue=0; //配置值初始化為0
 147   1       
 148   1       while(1)  //死循環
 149   1       {
 150   2        if(D12GetIntPin()==0) //如果有中斷發生
 151   2        {
 152   3         D12WriteCommand(READ_INTERRUPT_REGISTER);  //寫讀中斷寄存器的命令
 153   3         InterruptSource=D12ReadByte(); //讀回第一字節的中斷寄存器
 154   3         if(InterruptSource&0x80)UsbBusSuspend(); //總線掛起中斷處理
 155   3         if(InterruptSource&0x40)UsbBusReset();   //總線復位中斷處理
 156   3         if(InterruptSource&0x01)UsbEp0Out();     //端點0輸出中斷處理
 157   3         if(InterruptSource&0x02)UsbEp0In();      //端點0輸入中斷處理
 158   3         if(InterruptSource&0x04)UsbEp1Out();     //端點1輸出中斷處理
 159   3         if(InterruptSource&0x08)UsbEp1In();      //端點1輸入中斷處理
 160   3         if(InterruptSource&0x10)UsbEp2Out();     //端點2輸出中斷處理
 161   3         if(InterruptSource&0x20)UsbEp2In();      //端點2輸入中斷處理
 162   3        }
 163   2        if(ConfigValue!=0) //如果已經設置為非0的配置,則可以返回報告數據
 164   2        {
 165   3         LEDs=~KeyPress;  //利用板上8個LED顯示按鍵狀態,按下時亮
 166   3         if(!Ep1InIsBusy)  //如果端點1輸入沒有處于忙狀態,則可以發送數據
 167   3         {
 168   4          KeyCanChange=0;  //禁止按鍵掃描
 169   4          if(KeyUp||KeyDown||KeyPress) //如果有按鍵事件發生
 170   4          {
 171   5           SendReport();  //則返回報告
 172   5          }
 173   4          KeyCanChange=1;  //允許按鍵掃描
 174   4         }
 175   3        }
 176   2       }
 177   1      }
 178          ////////////////////////End of function//////////////////////////////

C51 COMPILER V7.06   MAIN                                                                  11/16/2008 15:59:42 PAGE 4   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    358    ----
   CONSTANT SIZE    =   1434    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
首页国产欧美久久| 亚洲国产欧美一区二区三区丁香婷| 欧美一区二区三区在线看| 欧美性xxxxxxxx| 欧美精品自拍偷拍| 欧美一区二区视频免费观看| 欧美日韩国产首页在线观看| 欧美另类变人与禽xxxxx| 欧美一级黄色录像| 国产亚洲欧美激情| 中文字幕第一页久久| 国产精品国产三级国产有无不卡 | 国产精品久久久久影院老司| 欧美激情在线一区二区| 国产精品久久久久久亚洲伦| 《视频一区视频二区| 亚洲综合无码一区二区| 爽爽淫人综合网网站| 久久99精品国产麻豆婷婷洗澡| 国产在线精品一区在线观看麻豆| 成人亚洲一区二区一| 在线免费观看视频一区| 日韩视频永久免费| 中文av字幕一区| 视频一区欧美精品| 成人一区二区三区| 欧美精选一区二区| 中文字幕av一区二区三区| 亚洲综合成人网| 国产最新精品精品你懂的| 97超碰欧美中文字幕| 欧美一区二区视频免费观看| 国产精品视频一区二区三区不卡| 亚洲线精品一区二区三区八戒| 久久av老司机精品网站导航| 91麻豆免费观看| 国产亚洲欧美一区在线观看| 视频一区视频二区中文字幕| 成人毛片在线观看| 51精品视频一区二区三区| 亚洲色图另类专区| 国产福利视频一区二区三区| 欧美少妇性性性| 国产精品久久久久久亚洲毛片| 麻豆一区二区99久久久久| 欧日韩精品视频| 中文字幕一区日韩精品欧美| 麻豆精品精品国产自在97香蕉| 色香蕉成人二区免费| 久久久久久毛片| 久久精品噜噜噜成人av农村| 欧美中文字幕不卡| 亚洲天堂成人在线观看| 东方aⅴ免费观看久久av| 欧美一区二区三区啪啪| 亚洲一二三区不卡| 色视频成人在线观看免| 中文字幕一区av| 国产精品一色哟哟哟| 日韩午夜激情免费电影| 丝袜美腿亚洲一区| 欧美日韩高清一区二区不卡| 伊人婷婷欧美激情| 日本高清无吗v一区| 亚洲天堂久久久久久久| 99精品一区二区三区| 亚洲欧洲另类国产综合| 成+人+亚洲+综合天堂| 国产女人水真多18毛片18精品视频| 久久成人18免费观看| 精品少妇一区二区三区日产乱码 | 亚洲免费观看高清在线观看| 国产成人小视频| 中文字幕精品三区| 99re这里都是精品| 亚洲激情图片小说视频| 在线影院国内精品| 性做久久久久久免费观看| 欧美精品在线一区二区| 日韩精品欧美成人高清一区二区| 91精品国产综合久久久久久久 | 亚洲人xxxx| 色综合久久66| 亚洲成人一区在线| 欧美一区二区三区思思人| 卡一卡二国产精品| 国产欧美一区视频| 91丝袜美腿高跟国产极品老师| 成人欧美一区二区三区黑人麻豆| 欧美亚日韩国产aⅴ精品中极品| 亚洲午夜久久久久久久久久久| 日韩一区二区在线观看视频| 国内精品国产成人国产三级粉色 | 99国产一区二区三精品乱码| 亚洲你懂的在线视频| 欧美性色黄大片| 美腿丝袜亚洲综合| 国产精品久久777777| 精品视频一区二区不卡| 精一区二区三区| 国产精品高清亚洲| 日韩午夜激情视频| 99精品欧美一区二区蜜桃免费| 午夜精品123| 国产女人aaa级久久久级| 欧美亚一区二区| 国产凹凸在线观看一区二区| 亚洲成人一区在线| 国产精品美女久久福利网站| 欧美精品1区2区3区| 成人国产精品免费观看动漫| 丝袜美腿亚洲一区二区图片| 国产精品丝袜黑色高跟| 7799精品视频| 91美女片黄在线观看| 国产伦精品一区二区三区免费 | 18成人在线视频| 91精品国产福利在线观看| 懂色av噜噜一区二区三区av| 日本伊人色综合网| 亚洲精选一二三| 国产婷婷色一区二区三区四区| 69精品人人人人| 在线影视一区二区三区| 成人精品鲁一区一区二区| 九九精品一区二区| 日韩精品免费专区| 亚洲最快最全在线视频| 国产精品污www在线观看| 日韩精品综合一本久道在线视频| 在线观看日韩高清av| 97久久精品人人爽人人爽蜜臀| 国产一区二区免费看| 另类调教123区 | 国产精品美女一区二区在线观看| 欧美一级xxx| 欧美日韩国产另类一区| 日本福利一区二区| 99视频在线观看一区三区| 成人在线一区二区三区| 国产高清在线观看免费不卡| 国产乱人伦偷精品视频不卡| 久久福利资源站| 极品少妇一区二区| 另类小说视频一区二区| 久久黄色级2电影| 蜜桃久久久久久久| 看电视剧不卡顿的网站| 麻豆91精品视频| 久草在线在线精品观看| 久久av老司机精品网站导航| 久久99久久久久| 国产一区二区h| 国产很黄免费观看久久| 成人性生交大片免费| 99这里只有精品| 欧美吻胸吃奶大尺度电影| 欧美色视频一区| 欧美伦理视频网站| 精品国产成人系列| 久久精品一区二区三区av| 国产欧美一区在线| 亚洲人成电影网站色mp4| 亚洲成人中文在线| 精东粉嫩av免费一区二区三区| 九九**精品视频免费播放| 成人激情小说乱人伦| 色婷婷综合中文久久一本| 欧美午夜片在线看| 精品久久久久av影院| 欧美伦理视频网站| 日韩精品一区二区三区视频在线观看| 欧美另类高清zo欧美| 91精品国产91久久久久久最新毛片 | 91免费观看国产| 欧美精品一区二区在线播放| 亚洲国产美女搞黄色| av在线一区二区| 国产午夜精品一区二区三区视频| 免费观看日韩电影| 欧美三级韩国三级日本一级| 中文字幕一区av| 岛国一区二区三区| 国产亚洲一区字幕| 国产精品影视天天线| 精品久久久三级丝袜| 免费看精品久久片| 在线综合视频播放| 天堂蜜桃91精品| 欧美精选一区二区| 午夜精品视频一区| 欧美日韩二区三区| 视频一区视频二区中文字幕| 欧美日韩一区不卡| 亚洲成人1区2区| 欧美乱妇15p| 久久av资源站| 久久久久久久久免费| 国产精品18久久久久| 日本一区二区三区dvd视频在线 |