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

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

?? combi.lst

?? 使用Cypress單片機的光電鼠標程序
?? LST
?? 第 1 頁 / 共 5 頁
字號:
                                  
                                  
                                  //*************************************************************************************************
                                  //COMMON DECLARATIONS USED BY BOTH INTERFACES
                                  
                                  #asm
                        
                        ;define special macros for manipulating PS2 clock and data.
                        ;
                        
                        
                            MACRO READ_PS2_CLOCK_DATA
                            iord    PORT2
                            ENDM
                        
                            MACRO WRITE_PS2_CLOCK_DATA VALUE
                            mov     A,(VALUE | a0h)
                            iowr    USB_STATUS
                            ENDM
                            MACRO WRITE_ACC_PS2_CLOCK_DATA
                            or    A,a0h
                            iowr    USB_STATUS
                            and    A,07h
                            ENDM
                        
                            MACRO   ASSERT_PS2_CLOCK
                            index   drive_table
                            or      A,a0h
                            iowr    USB_STATUS
                            and    A,07h
                            ENDM
                        
                            MACRO   DEASSERT_PS2_CLOCK
                            index   drive_table
                            or      A,a0h
                            iowr    USB_STATUS
                            and     A,07h
                            ENDM
                        
                        
                        
                            ;delay macro is the front-end for a call to the delay subroutine
                            ;The fixed overhead of the macro plus the subroutine is 3 us,
                            ;so this technique is good for delays of 4us or greater.
                            ;
                        
                            MACRO DELAY US
                            push    A
                            mov     A, (US-3)
                            call    delay
                            ENDM
                        ;
                        
                            ;clear carry
                            MACRO CLEARC
                            or    A,0
                            ENDM
                        
                            MACRO SETC
                            cpl
                            cpl
                            ENDM
                        
                        
                           ;set carry
                            MACRO CARRY
                            push    A
                            mov     A, (US-3)
                            call    delay
                             ENDM
                        
                                  #endasm
                                  
                                  
                                  
                                  /*
                                  ** define port data and mode initial values for the 3 operating states -- normal, suspend, and suspend with remote
                                  ** wakeup -- based on the masks provided by the user
                                  */
                                  /*
                                  **normal operating mode
                                  */
0080                              #define PORT0_INIT    PORT0_SWITCH_MASK
0003                              #define PORT1_INIT    PORT1_SWITCH_MASK
0080                              #define PORT0_MODE1_INIT  PORT0_SWITCH_MASK
0003                              #define PORT1_MODE1_INIT  PORT1_SWITCH_MASK
0040                              #define PORT0_MODE0_INIT  PORT0_LED_MASK
0000                              #define PORT1_MODE0_INIT  PORT1_LED_MASK
                                  
                                  /*
                                  ** suspend mode (no remote wakeup)
                                  */
                                  
                                  
0040                              #define PORT0_SUSPEND     PORT0_LED_MASK
0000                              #define PORT1_SUSPEND     PORT1_LED_MASK
0040                              #define PORT0_MODE1_SUSPEND    PORT0_LED_MASK
0000                              #define PORT1_MODE1_SUSPEND    PORT1_LED_MASK
0080                              #define PORT0_MODE0_SUSPEND    PORT0_SWITCH_MASK
0003                              #define PORT1_MODE0_SUSPEND    PORT1_SWITCH_MASK
                                  /*
                                  ** remote wakeup
                                  */
0031                              #define PORT0_RW      (PORT0_LED_MASK | PORT0_SWITCH_MASK)
0032                              #define PORT1_RW      (PORT1_LED_MASK | PORT1_SWITCH_MASK)
0033                              #define PORT0_MODE1_RW     (PORT0_SWITCH_MASK | PORT0_LED_MASK)
0034                              #define PORT1_MODE1_RW     (PORT1_SWITCH_MASK | PORT1_LED_MASK)
0000                              #define PORT0_MODE0_RW     0
0000                              #define PORT1_MODE0_RW     0
                                  
                                  
0035                              #define LEFT_SWITCH_ASSERTED  (!(LEFT_SWITCH_PORT & LEFT_SWITCH_MASK))
0036                              #define MIDDLE_SWITCH_ASSERTED  (!(MIDDLE_SWITCH_PORT & MIDDLE_SWITCH_MASK))
0037                              #define RIGHT_SWITCH_ASSERTED  (!(RIGHT_SWITCH_PORT & RIGHT_SWITCH_MASK))
                                  
                                  
                                  /*
                                  ** switches are debounced in a routine that is called every 4 msec.  10
                                  ** successive stable samples are required for a switch change to be reported.
                                  */
000A                              #define DEBOUNCE_COUNT    10    //10 identical samples must be taken to recognize switch changes
                                  
                                  
                                  
                                  
                                  
                                  /*
                                  ** define a structure containing variables updated in the 1-msec interrupt
                                  */
                                  
                                  typedef struct
                                  {
                                   char b1msCounter;    //incremented inside 1msec interrupt for general timing
                                   char b1msFlags;     //flag set inside 1msec interrupt
0038                              }ONE_MSEC_STATUS;
0001                              #define ONE_MSEC_FLAG 1
                                  
                                  
                                  /*
                                  ** Quadrature inputs are sampled inside the 128 usec interrupt and placed in a queue for later
                                  ** processing in the main loop.
                                  **
                                  */
                                  typedef struct
                                  {
                                   char near *headP;     //head of queue
                                   char near *tailP;     //tail of queue
                                   char bLen;       //length of queue
0039                              }QUEUE_STRUCT;
                                  
                                  
                                  /*
                                  ** current state of each quadrature pair is stored to compare with the next sample.
                                  **
                                  */
                                  
                                  typedef struct
                                  {
                                   char bXstate;      //current state of X optics
                                   char bYstate;      //current state of Y optics
                                   char bZstate;      //current state of Z optics
                                  
003A                              }OPTICS_STATE;
                                  
                                  
                                  
                                  /*
                                  ** the order of the bytes in this structure is important! These bytes are in the
                                  ** proper order for a packet returned to a USB host in response to a Get_Report command.
                                  */
                                  typedef struct
                                  {
                                   char bChange;      //set to 1 if mouse state has changed
                                   char bButtons;      //current state of mouse buttons
                                   signed char bXcount;      //current accumulation of X counts
                                   signed char bYcount;      //current accumulation of Y counts
                                   signed char bZcount;      //current accumulation of Z counts
003B                              }MOUSE_STATE;
                                  
                                  
                                  
                                  /*
                                  ** global variables used by both USB and PS2 interfaces
                                  */
                                  
004E 0003                         QUEUE_STRUCT  OpticsQueue;  //optics queue
                                  
0051 0002                         ONE_MSEC_STATUS  MsecStatus;   //status of 1msec interrupt
0053 0003                         OPTICS_STATE  Optics;    //current state of optics
0056 0005                         MOUSE_STATE   Mouse;    //current state of mouse (buttons, x,y,z)
0030                              char bLastButtons;
0031                              char bDebounceCount;
                                  
                                  
0032 0010                         char bOpticsArray[16];     //16-byte array used for optics queue data
                                  
                                  
                                  const signed char quad_table[] =
                                  /*
                                  ;***
                                  ; Quadrature state table. This table assists processing of quadrature state
                                  ; transitions. The table index is calculated as:
                                  ;       [(last_state)*4 + current_state],
                                  ; and the table entry at that point is 1, 0 or -1 indicating increment, hold
                                  ; or decrement the count, respectively.
                                  ;***
                                  */
                                  {
                                   0,     //;State 0 => state 0 (NoChange)
                                   1,     //;        => state 1 (Increment)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美中文字幕一二三区视频| 99久久久无码国产精品| 亚洲综合在线视频| 一区二区三区四区在线播放 | 久久免费偷拍视频| 91精品免费在线| 7777精品伊人久久久大香线蕉超级流畅 | 欧美日韩一区二区三区视频| 91国内精品野花午夜精品| 欧美自拍偷拍一区| 91精品国产欧美一区二区| 日韩欧美一区在线观看| 久久久午夜电影| 国产精品沙发午睡系列990531| 成人免费一区二区三区视频| 亚洲精品欧美激情| 午夜欧美视频在线观看| 国产精品99久久不卡二区| 国产成人av福利| 欧洲激情一区二区| 日韩精品一区二区三区老鸭窝| 国产日产欧美一区| 夜夜操天天操亚洲| 精品系列免费在线观看| 成人动漫中文字幕| 宅男在线国产精品| 国产女主播在线一区二区| 亚洲色图制服诱惑| 精品亚洲aⅴ乱码一区二区三区| 不卡的看片网站| 欧美日韩免费观看一区二区三区 | 成人av综合在线| 在线欧美日韩国产| 国产午夜三级一区二区三| 夜夜嗨av一区二区三区网页| 久久国内精品视频| 91免费看视频| 久久精品一区蜜桃臀影院| 午夜精品久久久久久久99水蜜桃| 精品无人区卡一卡二卡三乱码免费卡 | 欧美r级电影在线观看| 一区二区三区视频在线观看| 免费在线观看不卡| 在线亚洲免费视频| 国产午夜精品久久久久久免费视| 亚洲国产成人av好男人在线观看| 国产精品一区二区果冻传媒| 欧美三级蜜桃2在线观看| 国产精品色眯眯| 久草在线在线精品观看| 91福利精品第一导航| 国产丝袜在线精品| 日本美女一区二区| 欧美日韩视频第一区| 1024成人网色www| 国产成人在线色| 欧美一卡2卡3卡4卡| 亚洲大尺度视频在线观看| 风流少妇一区二区| 精品精品国产高清一毛片一天堂| 五月婷婷另类国产| 欧洲人成人精品| 亚洲色图视频网| www.欧美色图| 中文字幕不卡三区| 成人妖精视频yjsp地址| 欧美精品一区二区三区在线| 日本亚洲最大的色成网站www| 欧美午夜精品理论片a级按摩| 樱桃国产成人精品视频| 91麻豆国产福利精品| 国产精品乱码人人做人人爱| 国产福利一区在线观看| 久久久www成人免费无遮挡大片| 美女视频黄 久久| 欧美一区二区三区视频在线| 日韩电影在线观看电影| 日韩午夜激情av| 麻豆精品久久精品色综合| 欧美三级蜜桃2在线观看| 性久久久久久久久| 欧美高清dvd| 免费黄网站欧美| 精品va天堂亚洲国产| 精品夜夜嗨av一区二区三区| 久久久噜噜噜久久人人看| 国产精品99久久久久久久女警 | 51精品国自产在线| 轻轻草成人在线| 国产日韩影视精品| 北条麻妃一区二区三区| 亚洲欧美aⅴ...| 欧美日韩精品一区二区| 蜜臀av一区二区三区| 久久精品亚洲精品国产欧美 | 国产精品久久免费看| 色欲综合视频天天天| 亚洲成人精品一区| www一区二区| 色猫猫国产区一区二在线视频| 一区二区三区欧美久久| 91精品国产综合久久久久久漫画| 久久不见久久见中文字幕免费| 欧美国产日韩亚洲一区| 欧亚一区二区三区| 国产一区福利在线| 亚洲黄色免费电影| 欧美刺激脚交jootjob| 99re亚洲国产精品| 麻豆91在线观看| 亚洲精品日韩综合观看成人91| 91精品国产麻豆| 91麻豆国产精品久久| 久久不见久久见免费视频1| 国产校园另类小说区| 欧美日韩日日摸| 91女人视频在线观看| 激情综合色播激情啊| 一区二区三区免费| 国产调教视频一区| 欧美一卡二卡在线观看| 在线中文字幕一区| 丁香婷婷综合色啪| 蓝色福利精品导航| 一区二区三区成人在线视频| 国产欧美一区二区精品久导航 | 亚洲免费在线观看视频| 久久久国产午夜精品| 欧美日韩电影在线| 91看片淫黄大片一级在线观看| 精品一区二区久久久| 日韩国产欧美在线观看| 一区二区三区精品视频| 国产精品久久久久久久裸模 | 色综合咪咪久久| 国产盗摄一区二区三区| 麻豆精品一区二区| 日韩电影在线一区二区三区| 亚洲一区在线视频观看| 亚洲欧美激情插| 国产精品亲子乱子伦xxxx裸| 久久久久久99精品| 国产亚洲精久久久久久| 精品久久久久久久久久久久包黑料| 欧美精品久久99久久在免费线 | 奇米色一区二区| 亚洲成人激情综合网| 亚洲国产日韩在线一区模特| 亚洲欧美韩国综合色| 亚洲精品国产高清久久伦理二区| 国产精品国产三级国产aⅴ无密码| 国产色产综合产在线视频| 国产亚洲综合在线| 久久久不卡影院| 国产精品久久久久天堂| 亚洲国产高清aⅴ视频| 欧美激情在线看| 日韩伦理av电影| 夜夜爽夜夜爽精品视频| 亚洲成av人片在www色猫咪| 亚洲v日本v欧美v久久精品| 日韩电影在线看| 韩国欧美国产一区| 成人午夜视频在线| 91美女片黄在线观看| 91同城在线观看| 这里只有精品视频在线观看| 日韩欧美精品在线| 中文字幕乱码日本亚洲一区二区| 国产精品久久久久久久久晋中 | 中文字幕中文字幕一区二区| 亚洲猫色日本管| 日韩电影在线观看网站| 国产乱人伦偷精品视频免下载| 成人av资源在线观看| 欧洲av在线精品| 久久综合九色综合97婷婷女人| 成人欧美一区二区三区小说 | 一区二区日韩av| 久久精品999| 9久草视频在线视频精品| 欧美精品一级二级三级| 欧美大片一区二区三区| 国产精品高潮呻吟久久| 日本欧美在线观看| eeuss鲁一区二区三区| 欧美精品电影在线播放| 久久久精品免费观看| 亚洲国产cao| 丁香另类激情小说| 91精品欧美久久久久久动漫| 国产精品美女久久久久久2018 | 在线观看欧美日本| 26uuu国产在线精品一区二区| 日韩理论片一区二区| 精品一区二区三区视频在线观看| 色综合中文综合网| 成人av中文字幕| 日韩欧美电影一二三| 亚洲综合999|