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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? asm.asm

?? 與AVR開發(fā)相關(guān)的一百個實例,源碼用ASM語言編寫
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
        SBRC    R16,7
        RJMP    DSTTL        ;任一鍵按下,結(jié)束顯示累加和
        RJMP    DEALK0       ;程序執(zhí)行完畢,轉(zhuǎn)回
DSCLS:  RJMP    DSCLOS       ;轉(zhuǎn)去關(guān)顯示
SLFTS: ;.............
       ;.............
        RJMP    DEALK0        ; 自檢程序執(zhí)行完畢,轉(zhuǎn)回

FDPAP: ;.............
       ;.............
        RJMP    DEALK0        ; 走紙程序執(zhí)行完畢,轉(zhuǎn)回
PRSMP: ;.............
       ;.............
        RJMP    DEALK0        ; 打印采樣程序執(zhí)行完畢,轉(zhuǎn)回
PRTTL: ;.............
       ;.............
        RJMP    DEALK0        ;打印累加和程序執(zhí)行完畢,轉(zhuǎn)回

DSCLK:  RCALL    BRCLK       ;分解系統(tǒng)時鐘送入顯示緩存區(qū)         
        RCALL    DL1S        ;延時1秒
        RCALL    DSPA        ;顯示時鐘
        SBRC     R16,7       ;任一鍵按下,結(jié)束顯示時鐘
        RJMP     DSCLK       
        RJMP     DEALK0      ;程序執(zhí)行完畢,轉(zhuǎn)回

       ;.............
       ;.............        ;其他功能鍵處理略
       ;.............
       
       ;范例27               ;主顯子程序
DSPA:   SBRC    R16,7        ;USE R0,R2,R11,R12,r13,r14,r15,r16,r17&Z,X POINTERS
        RJMP    DSA2         ;無鍵按下,跳轉(zhuǎn)
DSA0:   CLR     R12  
        INC     R12          ;有鍵按下,將計數(shù)器置1
DSA1:   RCALL   DSPY
        DEC     R12
        BRNE    DSA1         ;等待鍵釋放
DSA2:   RCALL   DSPY
        LDS     R16,$A3      
        SBRS    R16,7        ;有進(jìn)入功能表程序標(biāo)志?
        RET                  ;沒有返回
        SBI     PORTA,0      ;
        SBIS    PINA,0       ;退出功能表程序嗎?
        RET                  
        CBR     R16,$80      ;是,清除進(jìn)入功能表程序標(biāo)志($A3,7)
        STS     $A3,R16
        RCALL   FIL2
        LDI     R16,$0F      ;'F'
        STS     $6C,R16
        LDI     R16,$0E      ;'E'
        STS     $6E,R16
        LDI     R16,$17      ;'n'
        STS     $6F,R16
        LDI     R16,$0D      ;'d'
        STS     $70,R16      ;顯示‘F End'
        RCALL   DL2S         ;2秒后
        RJMP    DIPA1        ;轉(zhuǎn)到主程序(包括對堆棧)初始化
DL2S:   RCALL   DL1S         ;延時2秒子程序
DL1S:   LDI     R16,217      ;延時1秒子程序/4MHz clk
        MOV     R11,R16      ;4.618×217=1000ms
DLCOM:  RCALL   DSPA
        DEC     R11
        BRNE    DLCOM
        RET
        
       ;范例28               ;基顯子程序,顯示緩存區(qū):$6C--$73,執(zhí)行時間4.618ms/晶振4MHZ
                             ;主程序應(yīng)對看門狗初始化,設(shè)置溢出時間為0.49秒! 
DSPY:   LDI     R17,$0F      ;使用R0,R2,R12,R13,R14,R15,R16&R17/z&x pointer!
        OUT     DDRA,R15     ;PA7--PA4為鍵列值輸入
        CLR      R15
	  COM	    R15		
        OUT     DDRB,R15
        OUT     DDRC,R15     ;口B:段選輸出,口C:位選輸出
        OUT     PORTC,R15    ;關(guān)顯
DPY1:   LDI     R26,$6C      ;指向顯示緩存區(qū)首址:$6C
        CLR     R27
        LDI     R17,$7F
        MOV     R13,R17      ;位選初始化(首顯最高位)
L0D:    LD      R17,X+
        LDI     R31,HIGH(table*2)
        LDI     R30,LOW(table*2)
        ADD     R30,R17
        ADC     R31,R27
L0C:    LPM                  ;取段選碼
        OUT     PORTB,R0     ;送段選口
        OUT     PORTC,R13    ;位選口
        SEC                  ;
        ROR     R13          ;指下一位位選
        LDI     R17,3        ;4MHz(6 if 8MHz)
        CLR     R14
DLOP:   DEC     R14
        BRNE    DLOP
        DEC     R17
        BRNE    DLOP         ;延時0.5762毫秒
              IN	   R16,PORTA
        ORI    R16,$F0          ;保護(hù)PA3--PA0輸出
        OUT     PORTA,R16    ;提拉PA7-PA4
        IN      R14,PINA     ;讀入列值
NEX:    ROL     R14          ;use high 4bits!
        BRCC    L1           ;有鍵按下,跳轉(zhuǎn)
NEX1:   INC     R17          ;指向下一列
        CPI     R17,4
        BRNE    NEX          ;各列都查完?
NEX2:   SER     R17
        OUT     PORTC,R17    ;將$FF寫入位選口(關(guān)顯)
        CPI     R26,$74
        BRNE    L0D          ;每位LED都顯示一遍??
        MOV     R16,R15      ;YES 
        INC     R2           ;增一調(diào)DSPY次數(shù)寄存器
        MOV     R17,R2
        CPI     R17,100      ;到100次?
        BRNE    NEX3         
        CLR     R2           ;清除看門狗定時器時間到計數(shù)器/4.618ms×100=0.462s(<0.49s)
        WDR                  ;看門狗定時器復(fù)位
NEX3:   RET                  
L1:     LDS     R16,$73      ;計算鍵值代碼/查鍵值
        SUB     R16,R26      ;$73-(r26)-->r16
        LSL     R16
        LSL     R16          ;行值*4
        ADD     R16,R17      ;鍵值代碼=行值*4+列值
        LDI     R30,LOW(TABL0*2)
        ADD     R30,R16
        LDI     R31,HIGH(TABL0*2)
        ADC     R31,R27
LA00:   LPM                  ;查出鍵值
        MOV     R15,R0       ;放在R15
LA10:   INC     R12          ;計數(shù)器增1以備判斷鍵釋放
        RJMP    NEX1         ;轉(zhuǎn)回查下一列
TABL0:  .DB     10,0,11,20,1,2,3,16,4,5,6,22,7,8,9,18,12,15,19,23,14,17,21,13
TABLE:  .DB      $3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$67,$77,$7C,$39 ;0--C
        .DB      $5E,$79,$71,$6F,$74,$04,$1F,$40,$38,$37,$54,$5C   ;'d'---'o'
        .DB      $73,$67,$50,$6D,$78,$1C,$3E,$7E,$F8,$6E,$49,$00  
        .DB      $48,$52,$D3,$76  ;$25(=),$26(/)$27(?) END AT $28(H)
        .DB      $BF,$86,$DB,$CF,$E6,$ED,$FD,$87,$FF,$E7;THE  0.($29)--9.($32)
        .DB      $D7,$C9,$80      ;THE 'X.' 'Z.' &'.'($33--$35)
        .DB      $DE,$EF,$B8,$F3,$E7,$D0,$DC,$ED,$86,$F9,$B9H,$F7,$F1,$B7,$D4
                ;the d.,g.,L.,p.,q.,r.,o.,s.,l.,E.,C.,A.,F.,M.,n.(36--44h)
                
       ;范例29  ;鍵入數(shù)字序列左移處理子程序
LSDD8:  LDI     R26,$6C      ;8bcd碼($6C--$73H)
        LDS     R27,$A3
        CBR     R27,8        ;清$A3,3
        STS     $A3,R27
        CLR     R27
        CPI     R16,10       ;10為清除鍵
        BRNE    DDL
        RCALL   FIL2         ;清除顯示緩存區(qū)($6c-$73)!
        LDS     R16,$A3
        SBR     R16,8
        STS     $A3,R16      ;建清除顯示緩存區(qū)標(biāo)志$A3,3=1
        RET
DDL:    INC     R26          ;數(shù)字鍵按下,序列左移
        LD      R16,X        ;
        SUBI    R16,$29      ;數(shù)字帶小數(shù)點?
        BRCC    DD4          ;若帶則將其復(fù)原(參考DSPY子程序段碼表)
        SUBI    R16,$D7      ;恢復(fù)
DD4:    ST      -X,R16       ;移入左鄰單元
DD5:    INC     R26         
        CPI     R26,$73      
        BRNE    DDL          ;各數(shù)字都左移了一位?
        ST      X,R15        ;新鍵入數(shù)字進(jìn)入數(shù)字序列末位
        LDI     R26,$6C
DEL:    LD      R16,X
        CPI     R16,10       ;是BCD碼?
        BRCS    DEL2         
        CPI     R16,$29
        BRCC    DELRT        ;大于$29為錯誤!
DELA:   INC     R26          ;0--9/$24/$14為有效!
        CPI     R26,$73
        BRNE    DEL          ;緩存區(qū)檢查完畢?
        RJMP    DELRT
DEL2:   CPI     R16,0
        BRNE    DELRT
        LDI     R16,$24      ;0改為空白
        ST      X,R16
        RJMP    DELA         ;
DELRT:  LDS     R16,$A0      ;小數(shù)點位置單元
        TST     R16
        BREQ    DDRET        ;($a0)=0,無小數(shù)點
        NEG     R16
        ADD     R16,$73
        MOV     R26,R16      ;找到緩存區(qū)內(nèi)帶小數(shù)點的數(shù)據(jù)位
        LD      R16,X
        SUBI    R16,$D7      ;加上小數(shù)點
        ST      X,R16
        CPI     R16,$4D      ;在空白碼加了小數(shù)點($24(空白)+$29=$4d)?
        BRNE    STLR1
        LDI     R16,$29
        ST      X,R16        ;是,將其改為'0.'
STLR1:  CPI     R26,$73
        BREQ    DDRET        ;并將其后所有空白都改為0
        INC     R26
        LD      R16,X
        CPI     R16,$24
        BRNE    DDRET
        CLR     R16
        ST      X,R16
        RJMP    STLR1
DDRET:  RET

FIL2:   LDI     R26,8        ;在顯示緩存區(qū)內(nèi)填充空白
        MOV     R14,R26
FIL2A:  LDI     R26,$6C
FIL:    CLR     R27
        LDI     R16,$24
FILP:   ST      X+,R16
        DEC     R14
        BRNE    FILP
        RET

       ;范例30               ;雙鍵輸入檢查數(shù)據(jù)子程序,Ky1數(shù)據(jù)鍵/Ky2回車鍵
KYIN2:  LDI     R26,$60      ;寄存器地址:portb:$18/ddrb:$17/pinb:$16
        CLR     R27          ;指向數(shù)據(jù)區(qū)首地址
        CBI     DDRB,7
        CBI     DDRB,6       ;pb7和pb6皆為輸入口
        SER     R17
        OUT     DDRC,R17     ;c口為數(shù)據(jù)顯示口
LA0:    LD      R17,X        ;取數(shù)據(jù)
        CPI     R17,$0A
        BRCS    LA1
        CLR     R17
LA1:    LDI     R31,HIGH(table*2)
        LDI     R30,LOW(table*2);DSPY段選碼表
        ADD     R30,R17
        ADC     R31,R27      
        LPM
        COM     R0           ;段選碼取出并取反
        OUT     PORTC,R0     ;送C口
        SBI     PORTB,7
        SBIC    $16,7
        RJMP    NXA1         ;數(shù)字鍵未按下,轉(zhuǎn)
        RCALL   DL50         ;否則延時
XA2:    SBI     PORTB,6
        SBIC    $16,6
        RJMP    XA0          ;只有數(shù)字鍵按下,轉(zhuǎn)
XA20:   RCALL   DL50         ;兩鍵都按下,先延時50mS
        SBI     PORTB,6
        SBIS    $16,6
        RJMP    XA20
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    XA20         ;等兩鍵都釋放
        RCALL   DL50
XA21:   SBI     PORTB,6
        SBIS    $16,6
        RJMP    XA21         ;等待釋放
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    XA21         ;再次等待釋放
        RJMP    NXA6         ;先按數(shù)字鍵,再按回車鍵,待2都鍵釋放后退出子程序
XA0:    SBI     PORTB,7
        SBIS    $16,7
        RJMP    XA2          ;等待數(shù)字鍵釋放
XA1:    RCALL   DL50         ;延時
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    XA1          ;再次等待釋放
        INC     R17          ;數(shù)字增1
        CPI     R17,10
        BRCS    NXA1
        CLR     R17          ;超過10,將鍵值歸為0
NXA1:   SBI     PORTB,6
        SBIC    $16,6
        RJMP    LA1          ;回車鍵也未按下,重新查鍵
        RCALL   DL50         ;延時
NXA3:   SBI     PORTB,6
        SBIS    $16,6
        RJMP    NXA3         ;再次等待回車鍵釋放
        RCALL   DL50
        SBI     PORTB,6
        SBIS    $16,6
        RJMP    NXA3         
        ST      X+,R17       ;數(shù)字轉(zhuǎn)入緩存區(qū)
        SER     R17
        OUT     PORTB,R17    ;關(guān)顯
        RCALL   DL50         ;
        CPI     R26,$70      ;到規(guī)定數(shù)字個數(shù)?
        BRNE    LA0          ;
        LDI     R17,$86      ;顯示'E'nd
        OUT     PORTC,R17    ;
NXA4:   SBI     PORTB,6
        SBIS    $16,6
        RJMP    NXA5         ;回車鍵按下,轉(zhuǎn)
        SBI     PORTB,7
        SBIC    $16,7        ;數(shù)字鍵按下,轉(zhuǎn)
        RJMP    NXA4         ;否則反復(fù)查鍵
NXA40:  RCALL   DL50
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    NXA40        
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    NXA40        ;等待鍵釋放
        RJMP    KYIN2        ;轉(zhuǎn)檢查鍵入數(shù)據(jù)
NXA5:   RCALL   DL50
        SBI     PORTB,6
        SBIS    $16,6        
        RJMP    NXA5
        SBI     PORTB,6
        SBIS    $16,6
        RJMP    NXA5         ;等回車鍵釋放
NXA6:   SER     R17
        OUT     PORTB,R17    ;關(guān)顯,結(jié)束子程序
        RET
DL50:  ;RCALL   DL25         ;延時50毫秒子程序/8Mhz(去掉指令前“;”號)
DL25:   CLR     R14          ;延時50毫秒子程序/4Mhz
        CLR     R15
DL50L:  DEC     R15
        NOP
        BRNE    DL50L
        DEC     R14
        BRNE    DL50L
        RET
        
       ;范例31
LPRNT:  SER     R17          ;寬行打印機檢測及控打程序
        OUT     DDRC,R17     ;C口為打印機輸出口!
        SBI     DDRD,7
        CBI     DDRD,3       ;pd7為選通輸出口,pd3(INT1)查忙輸入口
        SBI     PORTD,3
        SBIC    PIND,3       ;查打印機忙信號
        RJMP    ERR5         ;打印機尚未工作忙信號即已為高,打印機不能打印
        LDI     R17,$0D      ;寫回車命令給打印機
        OUT     PORTC,R17
        CBI     PORTD,7      ;發(fā)出選通信號
        NOP                  
        NOP
        NOP
        SBI     PORTD,7      ;strobe
        LDI     R16,50
TSPRT:  SBI     PORTD,3
        SBIc    PIND,3       
        RJMP    LPRT2        ;50次內(nèi)忙信號高起來為正常
        DEC     R16          ;否則為非正常狀態(tài)
        BRNE    TSPRT
ERR5:   LDI     R16,5
        RCALL   ERRX         ;顯示5號錯誤
        RJMP    DIPA1        ;轉(zhuǎn)主程序初始化

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级高清片| 韩国v欧美v日本v亚洲v| 麻豆精品一二三| 99久久精品免费看| 91精品国产综合久久精品性色| 久久久亚洲高清| 日韩精品电影一区亚洲| av亚洲精华国产精华| 亚洲精品在线网站| 日韩精品乱码av一区二区| 色哟哟亚洲精品| 国产精品成人免费精品自在线观看| 精油按摩中文字幕久久| 欧美乱熟臀69xxxxxx| 一区二区三区四区不卡在线 | 国产精品乱码人人做人人爱 | 色婷婷国产精品综合在线观看| 精品欧美一区二区久久| 爽爽淫人综合网网站| 在线观看亚洲a| 一区二区三区在线不卡| av一区二区三区黑人| 中文字幕一区二区日韩精品绯色| 国产sm精品调教视频网站| 精品电影一区二区| 久久66热偷产精品| 久久久久亚洲蜜桃| 国产一区二区在线免费观看| 精品国产乱码久久久久久老虎 | 亚洲精品在线观| 国产一二精品视频| 国产亚洲欧美激情| 高清不卡一二三区| 国产精品久久久久影院| 99精品久久久久久| 一个色综合av| 91麻豆精品国产综合久久久久久| 美女视频黄免费的久久| 久久综合国产精品| 国产成人精品三级麻豆| 亚洲免费av高清| 欧美三级电影一区| 美女视频黄 久久| 国产女人18水真多18精品一级做| 成人美女在线视频| 亚洲精品免费播放| 在线播放日韩导航| 久久97超碰色| 国产精品黄色在线观看| 欧洲精品视频在线观看| 日韩精品亚洲一区二区三区免费| 欧美一级爆毛片| 成人精品视频一区二区三区| 亚洲精品国产视频| 日韩你懂的电影在线观看| 国产黄色成人av| 亚洲综合丁香婷婷六月香| 日韩欧美一区二区三区在线| 国产不卡视频在线观看| 一区二区三区欧美亚洲| 日韩欧美精品在线视频| 91一区二区三区在线观看| 五月婷婷久久丁香| 久久日一线二线三线suv| 91在线视频免费观看| 日本伊人色综合网| 成人免费一区二区三区视频| 91精品国产综合久久精品性色| 丰满白嫩尤物一区二区| 亚洲一区二区三区四区五区中文| 欧美电影免费观看高清完整版在线| 成人精品小蝌蚪| 日韩经典一区二区| 椎名由奈av一区二区三区| 91精品国产综合久久福利| av色综合久久天堂av综合| 青青青伊人色综合久久| 亚洲你懂的在线视频| 久久久亚洲综合| 欧美电影一区二区| 91色porny在线视频| 国产精品99久久久久| 亚洲成人激情av| 亚洲欧洲色图综合| 国产亚洲婷婷免费| 欧美一区二区日韩| 在线观看免费视频综合| 波多野结衣的一区二区三区| 美女一区二区视频| 婷婷中文字幕一区三区| 亚洲免费看黄网站| 国产免费成人在线视频| 日韩精品一区二区在线观看| 欧美日韩亚洲不卡| 一本到高清视频免费精品| 床上的激情91.| 99久久精品免费观看| 国产精品1区2区| 捆绑变态av一区二区三区| 午夜欧美在线一二页| 一区二区高清在线| 亚洲丝袜制服诱惑| 国产精品免费aⅴ片在线观看| 久久日韩精品一区二区五区| 欧美成人一区二区三区片免费| 欧美精品777| 欧美精品三级在线观看| 欧美色欧美亚洲另类二区| 91免费国产在线观看| 99久久99久久精品免费观看| 不卡视频在线看| 97久久久精品综合88久久| 成人精品在线视频观看| 99这里只有久久精品视频| 成人国产精品视频| caoporm超碰国产精品| av亚洲精华国产精华| 91丨porny丨中文| 欧美性猛交xxxxxxxx| 欧美日韩极品在线观看一区| 欧美精品18+| 日韩欧美一级特黄在线播放| 久久综合色8888| 国产精品亲子乱子伦xxxx裸| 中文字幕在线播放不卡一区| 亚洲乱码中文字幕| 午夜电影一区二区| 久久精品国产精品亚洲红杏| 国产成人免费在线| 97精品国产97久久久久久久久久久久| 色狠狠色噜噜噜综合网| 7777精品伊人久久久大香线蕉完整版| 欧美一区二区视频在线观看 | 91精品国产入口在线| 欧美成人a视频| 国产欧美日韩不卡| 亚洲美女免费视频| 亚洲高清久久久| 伦理电影国产精品| 波多野结衣一区二区三区| 欧美色综合网站| 久久久久久久久久久电影| 国产成人精品一区二区三区网站观看| 色天天综合色天天久久| 99久久国产综合精品麻豆| 色婷婷综合视频在线观看| 日本精品裸体写真集在线观看| 欧美理论在线播放| 日韩欧美三级在线| 日韩美女在线视频| 亚洲日韩欧美一区二区在线| 成人伦理片在线| 久久久久88色偷偷免费| 久久精品99国产精品| 91精品国产综合久久精品麻豆| 亚洲一区二区四区蜜桃| 色婷婷精品大在线视频| 亚洲免费成人av| 91久久精品一区二区三| 成人深夜视频在线观看| 亚洲精品一区二区三区在线观看 | 欧美成人综合网站| 午夜精品久久久久久久99水蜜桃| 欧洲在线/亚洲| 一区二区三区四区不卡视频| 91国偷自产一区二区三区成为亚洲经典 | 国产在线精品一区二区不卡了| 欧美成人性福生活免费看| 日韩一区精品视频| 日韩一区二区视频| 国产一区二区视频在线| 久久精品综合网| av在线播放一区二区三区| 亚洲精品少妇30p| 欧美日韩aaa| 久久国产福利国产秒拍| 久久久久久久久久久久久女国产乱| 国产精品69久久久久水密桃| 中文天堂在线一区| 色婷婷久久久亚洲一区二区三区 | 91精品一区二区三区在线观看| 丝袜美腿一区二区三区| 日韩三级视频中文字幕| 国产一区91精品张津瑜| 国产精品国产三级国产a| 日本高清成人免费播放| 一级日本不卡的影视| 91精品一区二区三区久久久久久 | 一区二区三区四区精品在线视频| 欧美日韩在线直播| 秋霞午夜av一区二区三区| 久久在线免费观看| 91在线观看地址| 天天综合网 天天综合色| 欧美va亚洲va在线观看蝴蝶网| 国产丶欧美丶日本不卡视频| 亚洲三级免费电影| 日韩精品一区二区三区四区 | 国产一区二区伦理| 伊人色综合久久天天人手人婷|