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

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

?? 100個匯編范例.txt

?? 基于AVR的100個匯編范例
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
        SBRC    R16,7
        RJMP    DSTTL        ;任一鍵按下,結束顯示累加和
        RJMP    DEALK0       ;程序執行完畢,轉回
DSCLS:  RJMP    DSCLOS       ;轉去關顯示
SLFTS: ;.............
       ;.............
        RJMP    DEALK0        ; 自檢程序執行完畢,轉回

FDPAP: ;.............
       ;.............
        RJMP    DEALK0        ; 走紙程序執行完畢,轉回
PRSMP: ;.............
       ;.............
        RJMP    DEALK0        ; 打印采樣程序執行完畢,轉回
PRTTL: ;.............
       ;.............
        RJMP    DEALK0        ;打印累加和程序執行完畢,轉回

DSCLK:  RCALL    BRCLK       ;分解系統時鐘送入顯示緩存區         
        RCALL    DL1S        ;延時1秒
        RCALL    DSPA        ;顯示時鐘
        SBRC     R16,7       ;任一鍵按下,結束顯示時鐘
        RJMP     DSCLK       
        RJMP     DEALK0      ;程序執行完畢,轉回

       ;.............
       ;.............        ;其他功能鍵處理略
       ;.............
       
       ;范例27               ;主顯子程序
DSPA:   SBRC    R16,7        ;USE R0,R2,R11,R12,r13,r14,r15,r16,r17&Z,X POINTERS
        RJMP    DSA2         ;無鍵按下,跳轉
DSA0:   CLR     R12  
        INC     R12          ;有鍵按下,將計數器置1
DSA1:   RCALL   DSPY
        DEC     R12
        BRNE    DSA1         ;等待鍵釋放
DSA2:   RCALL   DSPY
        LDS     R16,$A3      
        SBRS    R16,7        ;有進入功能表程序標志?
        RET                  ;沒有返回
        SBI     PORTA,0      ;
        SBIS    PINA,0       ;退出功能表程序嗎?
        RET                  
        CBR     R16,$80      ;是,清除進入功能表程序標志($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        ;轉到主程序(包括對堆棧)初始化
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               ;基顯子程序,顯示緩存區:$6C--$73,執行時間4.618ms/晶振4MHZ
                             ;主程序應對看門狗初始化,設置溢出時間為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    ;關顯
DPY1:   LDI     R26,$6C      ;指向顯示緩存區首址:$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          ;保護PA3--PA0輸出
        OUT     PORTA,R16    ;提拉PA7-PA4
        IN      R14,PINA     ;讀入列值
NEX:    ROL     R14          ;use high 4bits!
        BRCC    L1           ;有鍵按下,跳轉
NEX1:   INC     R17          ;指向下一列
        CPI     R17,4
        BRNE    NEX          ;各列都查完?
NEX2:   SER     R17
        OUT     PORTC,R17    ;將$FF寫入位選口(關顯)
        CPI     R26,$74
        BRNE    L0D          ;每位LED都顯示一遍??
        MOV     R16,R15      ;YES 
        INC     R2           ;增一調DSPY次數寄存器
        MOV     R17,R2
        CPI     R17,100      ;到100次?
        BRNE    NEX3         
        CLR     R2           ;清除看門狗定時器時間到計數器/4.618ms×100=0.462s(<0.49s)
        WDR                  ;看門狗定時器復位
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          ;計數器增1以備判斷鍵釋放
        RJMP    NEX1         ;轉回查下一列
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  ;鍵入數字序列左移處理子程序
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         ;清除顯示緩存區($6c-$73)!
        LDS     R16,$A3
        SBR     R16,8
        STS     $A3,R16      ;建清除顯示緩存區標志$A3,3=1
        RET
DDL:    INC     R26          ;數字鍵按下,序列左移
        LD      R16,X        ;
        SUBI    R16,$29      ;數字帶小數點?
        BRCC    DD4          ;若帶則將其復原(參考DSPY子程序段碼表)
        SUBI    R16,$D7      ;恢復
DD4:    ST      -X,R16       ;移入左鄰單元
DD5:    INC     R26         
        CPI     R26,$73      
        BRNE    DDL          ;各數字都左移了一位?
        ST      X,R15        ;新鍵入數字進入數字序列末位
        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          ;緩存區檢查完畢?
        RJMP    DELRT
DEL2:   CPI     R16,0
        BRNE    DELRT
        LDI     R16,$24      ;0改為空白
        ST      X,R16
        RJMP    DELA         ;
DELRT:  LDS     R16,$A0      ;小數點位置單元
        TST     R16
        BREQ    DDRET        ;($a0)=0,無小數點
        NEG     R16
        ADD     R16,$73
        MOV     R26,R16      ;找到緩存區內帶小數點的數據位
        LD      R16,X
        SUBI    R16,$D7      ;加上小數點
        ST      X,R16
        CPI     R16,$4D      ;在空白碼加了小數點($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        ;在顯示緩存區內填充空白
        MOV     R14,R26
FIL2A:  LDI     R26,$6C
FIL:    CLR     R27
        LDI     R16,$24
FILP:   ST      X+,R16
        DEC     R14
        BRNE    FILP
        RET

       ;范例30               ;雙鍵輸入檢查數據子程序,Ky1數據鍵/Ky2回車鍵
KYIN2:  LDI     R26,$60      ;寄存器地址:portb:$18/ddrb:$17/pinb:$16
        CLR     R27          ;指向數據區首地址
        CBI     DDRB,7
        CBI     DDRB,6       ;pb7和pb6皆為輸入口
        SER     R17
        OUT     DDRC,R17     ;c口為數據顯示口
LA0:    LD      R17,X        ;取數據
        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         ;數字鍵未按下,轉
        RCALL   DL50         ;否則延時
XA2:    SBI     PORTB,6
        SBIC    $16,6
        RJMP    XA0          ;只有數字鍵按下,轉
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         ;先按數字鍵,再按回車鍵,待2都鍵釋放后退出子程序
XA0:    SBI     PORTB,7
        SBIS    $16,7
        RJMP    XA2          ;等待數字鍵釋放
XA1:    RCALL   DL50         ;延時
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    XA1          ;再次等待釋放
        INC     R17          ;數字增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       ;數字轉入緩存區
        SER     R17
        OUT     PORTB,R17    ;關顯
        RCALL   DL50         ;
        CPI     R26,$70      ;到規定數字個數?
        BRNE    LA0          ;
        LDI     R17,$86      ;顯示'E'nd
        OUT     PORTC,R17    ;
NXA4:   SBI     PORTB,6
        SBIS    $16,6
        RJMP    NXA5         ;回車鍵按下,轉
        SBI     PORTB,7
        SBIC    $16,7        ;數字鍵按下,轉
        RJMP    NXA4         ;否則反復查鍵
NXA40:  RCALL   DL50
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    NXA40        
        SBI     PORTB,7
        SBIS    $16,7
        RJMP    NXA40        ;等待鍵釋放
        RJMP    KYIN2        ;轉檢查鍵入數據
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    ;關顯,結束子程序
        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      ;發出選通信號
        NOP                  
        NOP
        NOP
        SBI     PORTD,7      ;strobe
        LDI     R16,50
TSPRT:  SBI     PORTD,3
        SBIc    PIND,3       
        RJMP    LPRT2        ;50次內忙信號高起來為正常
        DEC     R16          ;否則為非正常狀態
        BRNE    TSPRT
ERR5:   LDI     R16,5
        RCALL   ERRX         ;顯示5號錯誤
        RJMP    DIPA1        ;轉主程序初始化

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性做久久久久久| 中文字幕不卡一区| 免费观看在线色综合| 欧美天天综合网| 日日摸夜夜添夜夜添精品视频| 在线播放91灌醉迷j高跟美女 | 在线观看日韩国产| 亚洲成人动漫在线观看| 日韩欧美的一区| 国产剧情一区二区| 亚洲精品成人精品456| 欧美性生交片4| 久久电影国产免费久久电影| 国产欧美一区二区精品性| 99久久精品免费看国产免费软件| 亚洲一区精品在线| 欧美v亚洲v综合ⅴ国产v| 成人app下载| 亚洲精品日韩综合观看成人91| 久久婷婷国产综合精品青草 | 日韩不卡一二三区| 久久久久久日产精品| 国产超碰在线一区| 一区二区三区四区激情| 欧美电视剧免费全集观看 | 色综合网站在线| 亚洲成av人片一区二区| 国产日韩在线不卡| 在线精品亚洲一区二区不卡| 美女网站视频久久| 亚洲欧美日韩久久精品| 欧美精品一区二区久久久| 91极品视觉盛宴| 国产一区二区在线影院| 亚洲在线视频网站| 国产精品蜜臀在线观看| 日韩欧美在线不卡| 91小视频免费看| 精品一区二区在线免费观看| 亚洲欧美视频在线观看视频| 欧美成人video| 在线精品视频免费观看| 国产精品18久久久久久vr| 亚洲一区二区欧美激情| 国产精品天天摸av网| 欧美mv日韩mv国产网站app| 日本大香伊一区二区三区| 国产成人午夜片在线观看高清观看| 亚欧色一区w666天堂| 国产精品高潮久久久久无| 精品国产乱码久久久久久免费| 色视频欧美一区二区三区| 国产99久久久国产精品潘金| 麻豆91小视频| 午夜精品福利一区二区蜜股av| 亚洲欧洲韩国日本视频 | 国产精品色在线| 日韩欧美另类在线| 欧美蜜桃一区二区三区| 色婷婷精品大视频在线蜜桃视频 | 不卡一区二区三区四区| 奇米精品一区二区三区在线观看| 亚洲精品成a人| 中文字幕一区二区在线播放| 国产亚洲一区二区三区在线观看| 4438x成人网最大色成网站| 精品视频一区三区九区| 欧美午夜影院一区| 欧美视频在线一区| 欧美日韩精品三区| 欧美午夜寂寞影院| 欧美三级乱人伦电影| 91福利在线播放| 一本一本大道香蕉久在线精品| av亚洲产国偷v产偷v自拍| 色综合天天综合在线视频| 国产91在线|亚洲| 懂色av噜噜一区二区三区av| 国产精品99久久久久久久女警| 精品一区免费av| 国产尤物一区二区| 国产一区二区三区香蕉| 国产精品自拍一区| 国产91精品一区二区麻豆亚洲| 国产福利视频一区二区三区| 成人一道本在线| 99热99精品| 日本高清视频一区二区| 欧美日韩一区二区三区在线 | 久久久久久久久久久电影| 久久免费国产精品| 国产精品麻豆一区二区| 亚洲欧美电影一区二区| 一区二区三区91| 日本特黄久久久高潮| 精品一区二区三区蜜桃| 国产精品一区二区三区99| 波多野结衣在线一区| 日本韩国精品一区二区在线观看| 欧日韩精品视频| 日韩欧美一区中文| 国产婷婷一区二区| 亚洲乱码国产乱码精品精98午夜| 亚洲国产欧美日韩另类综合| 久久激五月天综合精品| 成人精品视频一区二区三区 | 青娱乐精品视频| 国产资源在线一区| 99久久久国产精品免费蜜臀| 欧美少妇xxx| 久久久久久影视| 日韩伦理av电影| 秋霞影院一区二区| 成人免费精品视频| 91精品国产色综合久久久蜜香臀| 久久无码av三级| 一区二区国产视频| 国产丶欧美丶日本不卡视频| 3atv在线一区二区三区| 中文字幕av一区 二区| 午夜精品福利一区二区蜜股av| 国产一区二区久久| 在线日韩国产精品| 久久精子c满五个校花| 亚洲激情成人在线| 久久精品久久综合| 欧美在线观看一区| 国产欧美综合在线| 日韩国产一二三区| 成人av影视在线观看| 日韩一区二区三区三四区视频在线观看 | 9色porny自拍视频一区二区| 欧美精品乱人伦久久久久久| 国产精品成人在线观看| 久久99久国产精品黄毛片色诱| 一本到不卡免费一区二区| 精品国产成人在线影院 | 亚洲色图在线看| 久久91精品国产91久久小草| 欧美性生活影院| 国产精品剧情在线亚洲| 国产在线精品国自产拍免费| 欧美精品色综合| 亚洲午夜羞羞片| 色婷婷激情一区二区三区| 中文在线一区二区| 国产精品夜夜嗨| 欧美xxxxx牲另类人与| 无码av免费一区二区三区试看| 在线视频一区二区三| 国产精品久久久久久久裸模| 国产精品888| 久久免费精品国产久精品久久久久 | 91碰在线视频| 亚洲国产高清在线| 国产精品综合视频| 久久久久久久久久美女| 久久99国产精品成人| 精品国精品国产| 成人黄色片在线观看| 国产视频一区在线观看| 久久www免费人成看片高清| 91麻豆精品国产| 亚洲成a人片在线不卡一二三区| 色婷婷av一区二区三区软件| 亚洲精品免费在线观看| 91老师国产黑色丝袜在线| 国产精品超碰97尤物18| 成人av午夜影院| 亚洲精品写真福利| 在线精品视频免费播放| 亚洲午夜在线视频| 欧美一卡2卡3卡4卡| 麻豆精品一区二区av白丝在线| 日韩区在线观看| 国产精品一区在线观看你懂的| 久久久久久免费毛片精品| 成人一级片在线观看| 亚洲美女免费视频| 在线观看国产一区二区| 午夜精品福利一区二区蜜股av| 91精品国产色综合久久不卡电影 | 久久久久97国产精华液好用吗| 国产成人在线影院| 国产精品传媒视频| 欧美日韩精品欧美日韩精品一| 日本不卡一区二区三区| 久久这里只有精品6| 国产高清精品网站| 亚洲靠逼com| 日韩一区和二区| 国产一区不卡在线| 综合分类小说区另类春色亚洲小说欧美 | 国产一区二区免费视频| 国产精品久久久久影院| 91国偷自产一区二区开放时间 | 2014亚洲片线观看视频免费| 免费看欧美女人艹b| 久久精品一区二区三区四区| 久久精品免费观看|