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

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

?? mplxkey.lst

?? 四通道的AD采樣轉換數據
?? LST
?? 第 1 頁 / 共 2 頁
字號:
MPASM 01.40 Released          MPLXKEY.ASM   1-16-1997  16:24:40         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00001 ;*********************************************************************
                    00002 ;This program is to demonstrate how to multiplex four 7 segment LED
                    00003 ;digits and a 4X4 keypad using a PIC16C71. 
                    00004 ;The four digits will start as '0000' and when a key is hit
                    00005 ;it is displayed on the 7 segment leds as a hex value 0 to F. The last
                    00006 ;digit hit is always displayed on the right most led with the rest of
                    00007 ;the digits shifted to the left. The left most digit is deleted.
                    00008 ;The LEDs are updated every 20mS, the keypad is scanned at a rate of 20 mS.
                    00009 ;The RTCC timer is used in internal interrupt mode to generate the
                    00010 ;5 mS.
                    00011 ;
                    00012 ;                                       Stan D'Souza 5/8/93
                    00013 ;
                    00014 ;       Program:          MPLXKEY.ASM 
                    00015 ;       Revision Date:   
                    00016 ;                         1-15-97      Compatibility with MPASMWIN 1.40
                    00017 ;
                    00018 ;**********************************************************************
                    00019         LIST P=16C71
                    00020         ERRORLEVEL  -302
                    00021 ;
                    00022         include     <p16c71.inc>
                    00001         LIST
                    00002 ; P16C71.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
                    00142         LIST
                    00023 ;
  0000000C          00024 TempC   equ     0x0c            ;temp general purpose regs
  0000000D          00025 TempD   equ     0x0d
  0000000E          00026 TempE   equ     0x0e
  00000020          00027 PABuf   equ     0x20
  00000021          00028 PBBuf   equ     0x21
  0000000F          00029 Count   equ     0x0f            ;count
  00000010          00030 MsdTime equ     0x10            ;most significant Timer
  00000011          00031 LsdTime equ     0x11            ;Least significant Timer
  00000012          00032 KeyFlag equ     0x12            ;flags related to key pad
  00000000          00033 keyhit  equ     0       ;bit 0 --> key-press on
  00000001          00034 DebnceOn equ    1       ;bit 1 --> debounce on
  00000002          00035 noentry equ     2       ;no key entry = 0 
  00000003          00036 ServKey equ     3       ;bit 3 --> service key
  00000013          00037 Debnce  equ     0x13            ;debounce counter
  00000014          00038 NewKey  equ     0x14
  0000002F          00039 WBuffer equ     0x2f
  0000002E          00040 StatBuffer equ  0x2e
  00000001          00041 OptionReg equ   1
  00000002          00042 PCL     equ     2
                    00043 ;
                    00044 ;
                    00045 push    macro
                    00046         movwf   WBuffer         ;save w reg in Buffer
                    00047         swapf   WBuffer, F      ;swap it
                    00048         swapf   STATUS,W        ;get status
                    00049         movwf   StatBuffer      ;save it
                    00050         endm
MPASM 01.40 Released          MPLXKEY.ASM   1-16-1997  16:24:40         PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00051 ;
                    00052 pop     macro
                    00053         swapf   StatBuffer,W    ;restore status
                    00054         movwf   STATUS          ;       /
                    00055         swapf   WBuffer,W       ;restore W reg
                    00056         endm
                    00057 ;
0000                00058         org     0
0000 280D           00059         goto    Start           ;skip over interrupt vector
                    00060 ;        
0004                00061         org     4
                    00062 ;It is always a good practice to save and restore the w reg,
                    00063 ;and the status reg during a interrupt.
                    00064         push
0004 00AF               M         movwf   WBuffer         ;save w reg in Buffer
0005 0EAF               M         swapf   WBuffer, F      ;swap it
0006 0E03               M         swapf   STATUS,W        ;get status
0007 00AE               M         movwf   StatBuffer      ;save it
0008 2036           00065         call    ServiceInterrupts
                    00066         pop
0009 0E2E               M         swapf   StatBuffer,W    ;restore status
000A 0083               M         movwf   STATUS          ;       /
000B 0E2F               M         swapf   WBuffer,W       ;restore W reg
000C 0009           00067         retfie
                    00068 ;
000D                00069 Start
000D 2020           00070         call    InitPorts
000E 202A           00071         call    InitTimers
000F                00072 loop
000F 1992           00073         btfsc   KeyFlag,ServKey ;key service pending
0010 2012           00074         call    ServiceKey      ;yes then service
0011 280F           00075         goto    loop
                    00076 ;
                    00077 ;ServiceKey, does the software service for a keyhit. After a key service,
                    00078 ;the ServKey flag is reset, to denote a completed operation.
0012                00079 ServiceKey
0012 0814           00080         movf    NewKey,W        ;get key value
0013 008E           00081         movwf   TempE           ;save in TempE
0014 0E10           00082         swapf   MsdTime,W       ;move MSD out
0015 39F0           00083         andlw   B'11110000'     ;clr lo nibble
0016 0090           00084         movwf   MsdTime         ;save back
0017 0E11           00085         swapf   LsdTime,W       ;get Lsd
0018 390F           00086         andlw   B'00001111'     ;mask off lsd
0019 0490           00087         iorwf   MsdTime, F      ;and left shift 3rd
001A 0E11           00088         swapf   LsdTime,W       ;get Lsd again
001B 39F0           00089         andlw   B'11110000'     ;mask off 2nd
001C 040E           00090         iorwf   TempE,W         ;or with new lsd
001D 0091           00091         movwf   LsdTime         ;make Lsd
001E 1192           00092         bcf     KeyFlag,ServKey ;reset service flag
001F 0008           00093         return
                    00094 
                    00095 ;
0020                00096 InitPorts
MPASM 01.40 Released          MPLXKEY.ASM   1-16-1997  16:24:40         PAGE  3


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0020 1683           00097         bsf     STATUS,RP0      ;select pg 1
0021 3003           00098         movlw   3               ;make RA0-3 digital I/O
0022 0088           00099         movwf   ADCON1          ;       /
0023 0185           00100         clrf    TRISA           ;make RA0-4 outputs
0024 0186           00101         clrf    TRISB           ;make RB0-7 outputs
0025 1283           00102         bcf     STATUS,RP0      ;select page 0
0026 0185           00103         clrf    PORTA          ;make all outputs low
0027 0186           00104         clrf    PORTB          ;       /
0028 1585           00105         bsf     PORTA,3        ;enable MSB digit sink
0029 0008           00106         return
                    00107 ;
                    00108 ;
                    00109 ;The clock speed is 4.096Mhz. Dividing internal clk. by a 32 prescaler,
                    00110 ;the rtcc will be incremented every 31.25uS. If rtcc is preloaded 
                    00111 ;with 96, it will take (256-96)*31.25uS to overflow i.e. 5mS. So the 
                    00112 ;end result is that we get a rtcc interrupt every 5mS.
002A                00113 InitTimers
002A 0190           00114         clrf    MsdTime         ;clr timers
002B 0191           00115         clrf    LsdTime         ;       /
002C 0192           00116         clrf    KeyFlag         ;clr all flags
002D 1683           00117         bsf     STATUS,RP0      ;select pg 1
002E 3084           00118         movlw   B'10000100'     ;assign ps to rtcc
002F 0081           00119         movwf   OptionReg       ;ps = 32
0030 1283           00120         bcf     STATUS,RP0      ;select pg 0
0031 3020           00121         movlw   B'00100000'     ;enable rtcc interrupt
0032 008B           00122         movwf   INTCON          ;
0033 3060           00123         movlw   .96             ;preload rtcc
0034 0081           00124         movwf   TMR0            ;start counter
0035 0009           00125         retfie                  
                    00126 ;        
0036                00127 ServiceInterrupts
0036 190B           00128         btfsc   INTCON,T0IF     ;rtcc interrupt?
0037 283B           00129         goto    ServiceTMR0     ;yes then service
0038 018B           00130         clrf    INTCON          ;else clr all int
0039 168B           00131         bsf     INTCON,T0IE
003A 0008           00132         return
                    00133 ;
003B                00134 ServiceTMR0
003B 3060           00135         movlw   .96             ;initialize rtcc
003C 0081           00136         movwf   TMR0            
003D 110B           00137         bcf     INTCON,T0IF     ;clr int flag
003E 1805           00138         btfsc   PORTA,0        ;if msb on then do
003F 2042           00139         call    ScanKeys        ;do a quick key scan
0040 20A1           00140         call    UpdateDisplay   ;update display
0041 0008           00141         return                  
                    00142 ;
                    00143 ;
                    00144 ;ScanKeys, scans the 4X4 keypad matrix and returns a key value in
                    00145 ;NewKey (0 - F) if a key is pressed, if not it clears the keyhit flag.
                    00146 ;Debounce for a given keyhit is also taken care of.
                    00147 ;The rate of key scan is 20mS with a 4.096Mhz clock.
0042                00148 ScanKeys
0042 1C92           00149         btfss   KeyFlag,DebnceOn ;debounce on?
MPASM 01.40 Released          MPLXKEY.ASM   1-16-1997  16:24:40         PAGE  4


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0043 2848           00150         goto    Scan1           ;no then scan keypad
0044 0B93           00151         decfsz  Debnce, F       ;else dec debounce time
0045 0008           00152         return                  ;not over then return
0046 1092           00153         bcf     KeyFlag,DebnceOn ;over, clr debounce flag
0047 0008           00154         return                  ;and return
0048                00155 Scan1                           
0048 208A           00156         call    SavePorts       ;save port values
0049 30EF           00157         movlw   B'11101111'     ;init TempD
004A 008D           00158         movwf   TempD
004B                00159 ScanNext
004B 0806           00160         movf    PORTB,W        ;read to init port
004C 100B           00161         bcf     INTCON,RBIF     ;clr flag
004D 0C8D           00162         rrf     TempD, F        ;get correct column
004E 1C03           00163         btfss   STATUS,C        ;if carry set?
004F 2862           00164         goto    NoKey           ;no then end
0050 080D           00165         movf    TempD,W         ;else output
0051 0086           00166         movwf   PORTB          ;low column scan line
0052 0000           00167         nop
0053 1C0B           00168         btfss   INTCON,RBIF     ;flag set? 
0054 284B           00169         goto    ScanNext        ;no then next
0055 1812           00170         btfsc   KeyFlag,keyhit  ;last key released?
0056 2860           00171         goto    SKreturn        ;no then exit
0057 1412           00172         bsf     KeyFlag,keyhit  ;set new key hit
0058 0E06           00173         swapf   PORTB,W        ;read port        
0059 008E           00174         movwf   TempE           ;save in TempE
005A 2064           00175         call    GetKeyValue     ;get key value 0 - F
005B 0094           00176         movwf   NewKey          ;save as New key
005C 1592           00177         bsf     KeyFlag,ServKey ;set service flag
005D 1492           00178         bsf     KeyFlag,DebnceOn ;set flag
005E 3004           00179         movlw   4
005F 0093           00180         movwf   Debnce          ;load debounce time
0060                00181 SKreturn
0060 2097           00182         call    RestorePorts    ;restore ports
0061 0008           00183         return
                    00184 ;
0062                00185 NoKey
0062 1012           00186         bcf     KeyFlag,keyhit  ;clr flag
0063 2860           00187         goto    SKreturn
                    00188 ;        
                    00189 ;GetKeyValue gets the key as per the following layout
                    00190 ;
                    00191 ;                  Col1    Col2    Col3    Col3       
                    00192 ;                  (RB3)   (RB2)   (RB1)   (RB0)
                    00193 ;
                    00194 ;Row1(RB4)           0       1       2       3
                    00195 ;
                    00196 ;Row2(RB5)           4       5       6       7
                    00197 ;
                    00198 ;Row3(RB6)           8       9       A       B
                    00199 ;
                    00200 ;Row4(RB7)           C       D       E       F
                    00201 ;
0064                00202 GetKeyValue
MPASM 01.40 Released          MPLXKEY.ASM   1-16-1997  16:24:40         PAGE  5


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0064 018C           00203         clrf    TempC
0065 1D8D           00204         btfss   TempD,3         ;first column
0066 286E           00205         goto    RowValEnd
0067 0A8C           00206         incf    TempC, F
0068 1D0D           00207         btfss   TempD,2         ;second col.
0069 286E           00208         goto    RowValEnd
006A 0A8C           00209         incf    TempC, F
006B 1C8D           00210         btfss   TempD,1         ;3rd col.
006C 286E           00211         goto    RowValEnd
006D 0A8C           00212         incf    TempC, F        ;last col.
006E                00213 RowValEnd
006E 1C0E           00214         btfss   TempE,0         ;top row?
006F 2878           00215         goto    GetValCom       ;yes then get 0,1,2&3
0070 1C8E           00216         btfss   TempE,1         ;2nd row?
0071 2877           00217         goto    Get4567         ;yes the get 4,5,6&7
0072 1D0E           00218         btfss   TempE,2         ;3rd row?
0073 2875           00219         goto    Get89ab         ;yes then get 8,9,a&b
0074                00220 Getcdef
0074 150C           00221         bsf     TempC,2         ;set msb bits   
0075                00222 Get89ab
0075 158C           00223         bsf     TempC,3         ;       /
0076 2878           00224         goto    GetValCom       ;do common part
0077                00225 Get4567
0077 150C           00226         bsf     TempC,2
0078                00227 GetValCom
0078 080C           00228         movf    TempC,W
0079 0782           00229         addwf   PCL, F
007A 3400           00230         retlw   0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91热门视频在线观看| 精品国产污污免费网站入口| 欧美一区二区日韩| 国产亚洲一区二区三区四区| 天天操天天干天天综合网| 丁香婷婷综合五月| 欧美人与性动xxxx| 国产精品国产精品国产专区不片| 亚洲成人黄色小说| 91女人视频在线观看| 久久综合九色综合欧美亚洲| 五月激情六月综合| 色成年激情久久综合| 中文成人综合网| 久久精品噜噜噜成人av农村| 欧美天堂亚洲电影院在线播放| 国产婷婷精品av在线| 精品影视av免费| 91精品久久久久久久91蜜桃| 一区二区三区成人| fc2成人免费人成在线观看播放| 欧美大片在线观看一区二区| 日本美女视频一区二区| 欧美性高清videossexo| 亚洲色欲色欲www| 粉嫩久久99精品久久久久久夜 | 久久国产麻豆精品| 欧美日韩欧美一区二区| 亚洲永久免费视频| 一本大道综合伊人精品热热| 中文字幕不卡三区| 成人免费毛片app| 国产亚洲一二三区| 国产成人精品亚洲777人妖 | 国产午夜精品一区二区| 精品一区在线看| 久久亚洲综合色| 国产一区三区三区| 精品福利视频一区二区三区| 国产最新精品免费| www国产成人| 国产成人在线视频播放| 国产精品青草久久| 91免费版pro下载短视频| 亚洲丝袜制服诱惑| 欧美亚洲综合网| 爽好久久久欧美精品| 欧美第一区第二区| 国产成人啪免费观看软件 | 国产99久久久国产精品 | 91精品久久久久久久久99蜜臂| 午夜日韩在线电影| 日韩一级成人av| 国产在线视频精品一区| 国产精品久久午夜夜伦鲁鲁| 色狠狠桃花综合| 日韩vs国产vs欧美| 欧美成人国产一区二区| 国产盗摄精品一区二区三区在线 | 日韩午夜在线观看视频| 国产一区不卡视频| 中文字幕中文字幕在线一区| 91国在线观看| 久久精品国产一区二区| 国产女同互慰高潮91漫画| av在线这里只有精品| 一区二区三区日韩在线观看| 69精品人人人人| 国产成人综合自拍| 亚洲mv大片欧洲mv大片精品| 日韩欧美一二三四区| 99久久精品费精品国产一区二区| 亚洲地区一二三色| 欧美激情艳妇裸体舞| 欧美日韩一区二区在线观看| 国产在线看一区| 亚洲一区二区三区爽爽爽爽爽 | 日本一区二区三区视频视频| 在线观看av一区| 国产老肥熟一区二区三区| 亚洲男人的天堂在线观看| 欧美一区二区三区四区久久 | 国产麻豆精品在线| 亚洲综合男人的天堂| 久久久精品免费免费| 欧美日韩日日摸| 波多野结衣一区二区三区| 日韩精品三区四区| 亚洲免费伊人电影| 中文字幕免费观看一区| 日韩你懂的在线播放| 欧美无人高清视频在线观看| 成人理论电影网| 国产在线一区二区| 免费观看日韩电影| 亚洲国产aⅴ天堂久久| 中文字幕一区二区三区不卡| 日韩一二三区不卡| 91麻豆精品国产91久久久更新时间| 国产a级毛片一区| 久久狠狠亚洲综合| 天天亚洲美女在线视频| 亚洲美女视频在线| 国产精品天干天干在观线| 欧美大片一区二区三区| 欧美日本一区二区在线观看| 91麻豆文化传媒在线观看| 大陆成人av片| 国产成人av资源| 国产一区二区三区黄视频 | 黄色小说综合网站| 久久精品国产网站| 免费成人性网站| 午夜精品免费在线观看| 亚洲国产美国国产综合一区二区| 18成人在线视频| 亚洲日本欧美天堂| 亚洲乱码日产精品bd| 亚洲欧美一区二区久久 | 在线亚洲免费视频| av激情综合网| 色呦呦网站一区| 日本国产一区二区| 91九色最新地址| 欧美日韩一二区| 91麻豆精品国产91久久久久| 日韩一区二区三区在线观看| 日韩精品一区在线| 日韩一级欧美一级| 久久精品亚洲麻豆av一区二区| 久久精品视频在线免费观看| 国产亚洲欧美一级| 国产精品福利一区二区三区| 一区二区三区在线免费| 亚洲bdsm女犯bdsm网站| 秋霞午夜鲁丝一区二区老狼| 久久99国内精品| 国产成a人亚洲| 色屁屁一区二区| 欧美一区二区免费| 国产亚洲精品超碰| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区中文在线观看| 日韩av一区二| 粉嫩在线一区二区三区视频| 色婷婷综合五月| 欧美福利电影网| 国产日产欧美精品一区二区三区| 日韩一区有码在线| 日韩精品一区第一页| 大白屁股一区二区视频| 欧洲av一区二区嗯嗯嗯啊| 91精品国产91久久综合桃花 | 国产曰批免费观看久久久| 播五月开心婷婷综合| 在线不卡a资源高清| 日本一区二区视频在线观看| 亚洲最快最全在线视频| 精品亚洲免费视频| 色婷婷精品久久二区二区蜜臂av| 日韩欧美亚洲国产另类| 亚洲精品少妇30p| 国模套图日韩精品一区二区 | 亚洲欧洲三级电影| 青青草原综合久久大伊人精品 | 亚洲欧洲日韩女同| 久草在线在线精品观看| 色94色欧美sute亚洲线路一ni | 久久国内精品自在自线400部| 国产suv精品一区二区6| 日韩亚洲欧美在线| 亚洲裸体xxx| 国产在线一区观看| 91麻豆精品国产91久久久久久久久| 国产精品你懂的| 精品在线免费观看| 884aa四虎影成人精品一区| 中文字幕中文在线不卡住| 美国三级日本三级久久99| 色婷婷av一区二区三区软件| 日本一区二区三区四区在线视频 | 丁香桃色午夜亚洲一区二区三区| 欧美日韩电影一区| 一区二区欧美在线观看| 成人国产精品免费观看视频| 精品久久久久久无| 全部av―极品视觉盛宴亚洲| 欧美色大人视频| 亚洲卡通动漫在线| 91影院在线免费观看| 国产精品婷婷午夜在线观看| 国产在线播精品第三| 欧美精品一区二区三区在线| 日韩电影免费一区| 欧美日韩一区二区三区四区| 亚洲综合区在线| 欧美日韩小视频| 石原莉奈在线亚洲三区| 欧美午夜一区二区| 一区二区三区在线视频播放|