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

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

?? 430io模擬spi讀寫鐵電.txt

?? 430IO模擬SPI讀寫子程序庫 當搜所用的430單片機沒有SPI接口時候 可以用軟件模擬SPI接口進行通信
?? TXT
字號:
;聲明:本原碼的版權歸 唐山美倫儀表 高曉亮 所有,使用者可以傳播但請不要更改版權信息。
          RSEG    CODE
          even
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  鐵電操作  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
FE_SET
      BIC.B   #FE_CS,FE_CS_SEL                   ;片選
      BIC.B   #FE_CLK,FE_CLK_SEL                 ;時鐘
      BIC.B   #FE_IO,FE_IO_SEL                   ;數據輸入輸出
      BIS.B   #FE_CS,FE_CS_DIR
      BIS.B   #FE_CLK,FE_CLK_DIR
      BIS.B   #FE_IO,FE_IO_DIR
      RET 

;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;鐵電字節寫 
;調用    
;第一個進棧參數:指定寫入地址,第二個:指定寫入的數據
;例子:
;push   #xxx   ;地址
;push.b #xxx   ;數據   
;call   #FE_WRITE_B
;add    #4,SP  ;恢復指針 
;-----------------------      
FE_WRITE_B
       PUSH  R15
       PUSH  R14
       PUSH  R11
       PUSH  R10
       MOV   12(SP),R15
       MOV.B 10(SP),R14
       CALL  #FE_UNPROTECT             ;USED R11 R10
       CALL  #FE_WREN                  ;USED R11 R10    
       CALL  #FE_START
       MOV.B #WRITE,R11
       CALL  #FE_OUT                   ;USED R11 R10
       SWPB  R15
       MOV.B R15,R11
       CALL  #FE_OUT                   ;USED R11 R10        
       SWPB  R15
       MOV.B R15,R11
       CALL  #FE_OUT                   ;USED R11 R10  
       MOV.B R14,R11
       CALL  #FE_OUT                   ;USED R11 R10 
       CALL  #FE_END
       CALL  #FE_PROTECT               ;USED R11 R10
       POP   R10
       POP   R11
       POP   R14
       POP   R15
       RET
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
;鐵電字節讀
;調用    
;第一個進棧參數:指定讀地址
;返回:讀出的數據
;例子:
;push  #xxx    ;地址
;call  #FE_READ_B
;push  #RXX    ;返回的數據
;--------------------------
FE_READ_B       
       PUSH  R15
       PUSH  R11
       PUSH  R10  
       MOV   8(SP),R15
       CALL  #FE_WREN                  ;USED R11 R10    
       CALL  #FE_START
       MOV.B #READ,R11
       CALL  #FE_OUT                   ;USED R11 R10
       SWPB  R15
       MOV.B R15,R11
       CALL  #FE_OUT                   ;USED R11 R10        
       SWPB  R15
       MOV.B R15,R11
       CALL  #FE_OUT                   ;USED R11 R10
       CALL  #FE_IN  
       MOV   R11,8(SP) 
       CALL  #FE_END                            
       POP   R10
       POP   R11
       POP   R15       
       RET
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
;鐵電區塊寫
;調用    
;第一個進棧參數:指定源地址,第二個:指定寫入目的地址,第三:指定寫入個數
;例子:
;push   #xxx   ;源地址
;push   #xxx   ;目的地址
;push   #xxx   ;寫入個數   
;call   #FE_WRITE_BLOCK
;add    #6,SP   ;恢復指針 
;------------------------
FE_WRITE_BLOCK
        PUSH    R15
        PUSH    R14
        PUSH    R13
        PUSH    R11
        PUSH    R10
        MOV     16(SP),R15
        MOV     14(SP),R14
        MOV     12(SP),R13        
        CALL  #FE_UNPROTECT             ;USED R11 R10
        CALL  #FE_WREN                  ;USED R11 R10    
        CALL  #FE_START
        MOV.B #WRITE,R11
        CALL  #FE_OUT                   ;USED R11 R10
        SWPB  R14
        MOV.B R14,R11
        CALL  #FE_OUT                   ;USED R11 R10        
        SWPB  R14
        MOV.B R14,R11
        CALL  #FE_OUT                   ;USED R11 R10
FE_WRITE_BLOCK_LOOP        
        CMP   #0,R13
        JZ    FE_WRITE_BLOCK1  
        MOV.B 0(R15),R11
        CALL  #FE_OUT                   ;USED R11 R10 
        INC   R15
        DEC   R13 
        JMP   FE_WRITE_BLOCK_LOOP
FE_WRITE_BLOCK1
        CALL  #FE_END
        CALL  #FE_PROTECT               ;USED R11 R10
        POP     R10
        POP     R11
        POP     R13
        POP     R14
        POP     R15
        RET    
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
;鐵電區塊讀
;調用    
;第一個進棧參數:指定源地址,第二個:指定讀出目的地址,第三:指定讀出個數
;例子:
;push   #xxx   ;源地址
;push   #xxx   ;目的地址
;push   #xxx   ;讀出個數   
;call   #FE_READ_BLOCK
;add    #6,SP  ;恢復指針
;------------------------------------------
FE_READ_BLOCK       
        PUSH  R15
        PUSH  R14
        PUSH  R13
        PUSH  R11
        PUSH  R10  
        MOV     16(SP),R15
        MOV     14(SP),R14
        MOV     12(SP),R13     
        CALL  #FE_WREN                  ;USED R11 R10    
        CALL  #FE_START
        MOV.B #READ,R11
        CALL  #FE_OUT                   ;USED R11 R10
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10        
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10
FE_READ_BLOCK_LOOP        
        CMP   #0,R13
        JZ    FE_READ_BLOCK1         
        CALL  #FE_IN  
        MOV.B R11,0(R14)
        INC   R14
        DEC   R13
        JMP   FE_READ_BLOCK_LOOP 
FE_READ_BLOCK1        
        CALL  #FE_END                            
        POP   R10
        POP   R11
        POP   R13
        POP   R14
        POP   R15       
        RET             
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;按內存數據結構指定寫鐵電,結構為:源地址DW,寫入目的地址DW,字節個數DW
;調用
;第一個進棧參數:結構地址
;例子:
;push   #xxx   ;結構地址  
;call   #FE_WRITE_FRAME
;add    #2,SP  ;恢復指針  
FE_WRITE_FRAME
        PUSH    R15
        PUSH    R14
        PUSH    R13
        PUSH    R11
        PUSH    R10
        MOV     12(SP),R11
        MOV     0(R11),R15
        MOV     2(R11),R14
        MOV     4(R11),R13        
        CALL  #FE_UNPROTECT             ;USED R11 R10
        CALL  #FE_WREN                  ;USED R11 R10    
        CALL  #FE_START
        MOV.B #WRITE,R11
        CALL  #FE_OUT                   ;USED R11 R10
        SWPB  R14
        MOV.B R14,R11
        CALL  #FE_OUT                   ;USED R11 R10        
        SWPB  R14
        MOV.B R14,R11
        CALL  #FE_OUT                   ;USED R11 R10
FE_WRITE_FRAME_LOOP        
        CMP   #0,R13
        JZ    FE_WRITE_FRAME1  
        MOV.B 0(R15),R11
        CALL  #FE_OUT                   ;USED R11 R10 
        INC   R15
        DEC   R13 
        JMP   FE_WRITE_FRAME_LOOP
FE_WRITE_FRAME1
        CALL  #FE_END
        CALL  #FE_PROTECT               ;USED R11 R10
        POP     R10
        POP     R11
        POP     R13
        POP     R14
        POP     R15
        RET
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;按內存數據結構指定讀鐵電,結構為:源地址DW,指定讀出目的地址,字節個數DW
;調用
;第一個進棧參數:結構地址
;例子:
;push   #xxx   ;結構地址  
;call   #FE_READ_FRAME
;add    #2,SP  ;恢復指針
FE_READ_FRAME
        PUSH  R15
        PUSH  R14
        PUSH  R13
        PUSH  R11
        PUSH  R10  
        MOV     12(SP),R11
        MOV     0(R11),R15
        MOV     2(R11),R14
        MOV     4(R11),R13     
        CALL  #FE_WREN                  ;USED R11 R10    
        CALL  #FE_START
        MOV.B #READ,R11
        CALL  #FE_OUT                   ;USED R11 R10
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10        
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10
FE_READ_FRAME_LOOP        
        CMP   #0,R13
        JZ    FE_READ_FRAME1         
        CALL  #FE_IN  
        MOV.B R11,0(R14)
        INC   R14
        DEC   R13
        JMP   FE_READ_FRAME_LOOP 
FE_READ_FRAME1        
        CALL  #FE_END                            
        POP   R10
        POP   R11
        POP   R13
        POP   R14
        POP   R15       
        RET         
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;鐵電字節填充
;調用    
;第一個進棧參數:指定填充目的地址,第二個:指定填充字節個數,第三:指定填充字節數據
;例子:
;push   #xxx   ;目的地址
;push   #xxx   ;填充個數
;push.b #xxx   ;字節數據   
;call   #FE_FILL_B
;add    #6,SP   ;恢復指針 
FE_FILL_B
        PUSH    R15
        PUSH    R14
        PUSH    R13
        PUSH    R11
        PUSH    R10
        MOV     16(SP),R15
        MOV     14(SP),R14
        MOV.B   12(SP),R13        
        CALL  #FE_UNPROTECT             ;USED R11 R10
        CALL  #FE_WREN                  ;USED R11 R10    
        CALL  #FE_START
        MOV.B #WRITE,R11
        CALL  #FE_OUT                   ;USED R11 R10
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10        
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10
FE_FILL_B_LOOP        
        CMP   #0,R14
        JZ    FE_FILL_B1  
        MOV.B R13,R11
        CALL  #FE_OUT                   ;USED R11 R10 
        INC   R15
        DEC   R14 
        JMP   FE_FILL_B_LOOP
FE_FILL_B1
        CALL  #FE_END
        CALL  #FE_PROTECT               ;USED R11 R10
        POP     R10
        POP     R11
        POP     R13
        POP     R14
        POP     R15
        RET     
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;鐵電字填充
;調用    
;第一個進棧參數:指定填充目的地址,第二個:指定填充字個數,第三:指定填充字數據
;例子:
;push   #xxx   ;目的地址
;push   #xxx   ;填充個數
;push   #xxx   ;字數據   
;call   #FE_FILL_W
;add    #6,SP   ;恢復指針 
FE_FILL_W
        PUSH    R15
        PUSH    R14
        PUSH    R13
        PUSH    R11
        PUSH    R10
        MOV     16(SP),R15
        MOV     14(SP),R14
        MOV     12(SP),R13        
        CALL  #FE_UNPROTECT             ;USED R11 R10
        CALL  #FE_WREN                  ;USED R11 R10    
        CALL  #FE_START
        MOV.B #WRITE,R11
        CALL  #FE_OUT                   ;USED R11 R10
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10        
        SWPB  R15
        MOV.B R15,R11
        CALL  #FE_OUT                   ;USED R11 R10
FE_FILL_W_LOOP        
        CMP   #0,R14
        JZ    FE_FILL_W1  
        MOV.B R13,R11
        CALL  #FE_OUT                   ;USED R11 R10 
        SWPB  R13
        MOV.B R13,R11
        CALL  #FE_OUT
        SWPB  R13
        INC   R15
        DEC   R14 
        JMP   FE_FILL_W_LOOP
FE_FILL_W1
        CALL  #FE_END
        CALL  #FE_PROTECT               ;USED R11 R10
        POP     R10
        POP     R11
        POP     R13
        POP     R14
        POP     R15
        RET             
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;--------------------------------------------------
FE_START
       BIS.B   #FE_CS,FE_CS_OUT       
       BIC.B   #FE_CLK,FE_CLK_OUT
       BIC.B   #FE_CS,FE_CS_OUT
       RET
;---------------------------------------------------       
FE_END
       BIC.B   #FE_CLK,FE_CLK_OUT         
       BIS.B   #FE_CS,FE_CS_OUT  
       RET
;---------------------------------------------------   
;子程序本身不保護寄存器。用到R11,R10
;輸入的數據放置在r11的低字節     
FE_IN
       BIC.B #FE_IO,FE_IO_DIR
       MOV   #8,R10
FE_IN_LOOP
       BIS.B #FE_CLK,FE_CLK_OUT
       BIT.B #FE_IO,FE_IO_IN
       JZ    FE_IN1
       BIS.B #BIT0,R11 
       JMP   FE_IN2
FE_IN1       
       BIC.B #BIT0,R11
FE_IN2
       BIC.B #FE_CLK,FE_CLK_OUT
       DEC   R10
       JZ    FE_IN3       
       RLA.B R11
       JMP   FE_IN_LOOP
FE_IN3
       RET
;---------------------------------------------------  
;子程序本身不保護寄存器。用到R11,R10 
;r11的低字節放置要輸出的數據。    
FE_OUT
       BIS.B #FE_IO,FE_IO_DIR
       MOV   #8,R10
FE_OUT_LOOP       
       RLC.B R11
       JC    FE_OUT1
       BIC.B #FE_IO,FE_IO_OUT
       JMP   FE_OUT2
FE_OUT1
       BIS.B #FE_IO,FE_IO_OUT
FE_OUT2
       BIS.B #FE_CLK,FE_CLK_OUT
       BIC.B #FE_CLK,FE_CLK_OUT
       DEC   R10 
       JNZ   FE_OUT_LOOP
       RET
;---------------------------------------------------
;鐵電命令:打開寫使能
FE_WREN
       CALL  #FE_START
       MOV.B #WREN,R11
       CALL  #FE_OUT
       CALL  #FE_END
       RET
;---------------------------------------------------
;鐵電命令:關閉寫使能
FE_WRDI
       CALL  #FE_START
       MOV.B #WRDI,R11
       CALL  #FE_OUT
       CALL  #FE_END
       RET
;---------------------------------------------------
;鐵電加寫保護
;子程序本身不保護寄存器。用到(FE_OUT)
FE_PROTECT
       CALL  #FE_WREN
       CALL  #FE_START
       MOV.B #WRSR,R11
       CALL  #FE_OUT
       MOV.B #PROTECT_3,R11
       CALL  #FE_OUT
       CALL  #FE_END
       RET
;---------------------------------------------------
;鐵電去掉寫保護
;子程序本身不保護寄存器。用到(FE_OUT)
FE_UNPROTECT
       CALL  #FE_WREN
       CALL  #FE_START
       MOV.B #WRSR,R11
       CALL  #FE_OUT       
       MOV.B #UNPROTECT,R11
       CALL  #FE_OUT
       CALL  #FE_END
       RET
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;聲明:本原碼的版權歸 唐山美倫儀表 高曉亮 所有,使用者可以傳播但請不要更改版權信息。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费资源在线播放| 日韩综合在线视频| 亚洲国产欧美在线人成| 韩国精品一区二区| 欧美三级在线播放| 中文字幕 久热精品 视频在线| 亚洲一区二区三区精品在线| 国产盗摄精品一区二区三区在线| 91国偷自产一区二区开放时间 | 图片区小说区国产精品视频| 国产精品一区二区黑丝| 666欧美在线视频| 夜夜嗨av一区二区三区四季av| 韩国欧美国产一区| 日韩三级中文字幕| 五月综合激情日本mⅴ| 91极品美女在线| 亚洲欧美另类图片小说| 粉嫩av一区二区三区粉嫩| 精品国精品国产| 日本女优在线视频一区二区| 欧美视频一区二区三区四区 | 日韩精品在线一区二区| 亚洲.国产.中文慕字在线| 一本大道久久a久久精二百| 国产精品乱码人人做人人爱 | 久久久91精品国产一区二区精品 | 中文在线资源观看网站视频免费不卡 | 成人性视频免费网站| 日韩视频国产视频| 国产精品家庭影院| 99久久亚洲一区二区三区青草| 国产欧美视频在线观看| 国产不卡在线一区| 欧美国产综合一区二区| 国产69精品久久99不卡| 欧美极品另类videosde| 成人av集中营| 一区二区三区中文字幕电影| 91麻豆产精品久久久久久| 亚洲欧美日韩在线播放| 日本高清免费不卡视频| 午夜国产精品一区| 欧美一区二区三区白人| 久久国产精品第一页| 久久综合狠狠综合| 成人黄色免费短视频| 亚洲精品视频观看| 欧美美女一区二区| 国产自产视频一区二区三区| 国产三级久久久| 91一区二区三区在线观看| 亚洲资源在线观看| 日韩一区二区三区在线| 国产mv日韩mv欧美| 夜夜夜精品看看| 精品国内二区三区| 国产剧情在线观看一区二区| 国产精品成人免费| 欧美高清激情brazzers| 国产尤物一区二区在线| 亚洲欧美在线视频| 欧美裸体bbwbbwbbw| 国产99久久久精品| 午夜激情久久久| 亚洲国产成人午夜在线一区| 色婷婷亚洲综合| 日本欧美大码aⅴ在线播放| 国产日韩精品视频一区| 欧美日韩一级黄| 国产成人av影院| 日韩—二三区免费观看av| 中日韩免费视频中文字幕| 欧美日韩精品免费观看视频| 国产精品99久久久久久久vr| 夜夜精品浪潮av一区二区三区| 精品国产污网站| 欧美视频一区二区在线观看| 国产成人综合亚洲网站| 日韩成人一级大片| 自拍偷拍欧美激情| 久久这里只有精品6| 欧美亚洲日本一区| 不卡区在线中文字幕| 久久精品国产久精国产| 一区二区三区日本| 久久九九国产精品| 日韩欧美亚洲一区二区| 欧美日韩精品系列| 色视频成人在线观看免| 国产精品88av| 久久99精品久久久久久久久久久久| 亚洲激情成人在线| 国产精品久久久久影院| 久久亚洲一级片| 91精品国产综合久久香蕉麻豆| 99久久国产免费看| 国产成人三级在线观看| 久久精品免费看| 视频一区在线视频| 亚洲444eee在线观看| 亚洲精品视频在线| 一区二区三区在线播| 亚洲欧美综合网| 国产精品网站在线| 国产精品色哟哟| 日本一区二区三级电影在线观看| 精品日韩在线一区| 欧美mv日韩mv亚洲| 精品国产免费人成在线观看| 91精品国产综合久久精品| 欧美系列亚洲系列| 欧美日韩激情一区二区| 欧美日韩国产高清一区二区三区 | 国产欧美精品日韩区二区麻豆天美| 欧美成人乱码一区二区三区| 欧美一区二区三区四区高清| 欧美人与z0zoxxxx视频| 欧美一区二区三区的| 欧美电影精品一区二区| 精品成人在线观看| 久久久久99精品一区| 国产精品色婷婷久久58| 亚洲欧美经典视频| 亚洲综合网站在线观看| 五月综合激情网| 毛片av一区二区三区| 黑人巨大精品欧美一区| 国产在线国偷精品免费看| 成人精品国产一区二区4080 | 国产成人在线观看免费网站| 国产成人欧美日韩在线电影| 成人精品亚洲人成在线| 91免费版在线| 欧美二区三区91| 欧美本精品男人aⅴ天堂| 欧美经典三级视频一区二区三区| 中文字幕亚洲精品在线观看 | 国产精品久久久久婷婷| 亚洲欧美日韩国产手机在线| 五月婷婷激情综合| 黄页网站大全一区二区| www.综合网.com| 欧美三级日韩在线| 久久久噜噜噜久久中文字幕色伊伊| 国产三级欧美三级| 亚洲午夜精品17c| 国产一区二区毛片| 欧美在线观看视频一区二区三区| 欧美精品在线一区二区三区| 久久久久99精品国产片| 亚洲精品视频在线观看网站| 蜜臀av一区二区| 色婷婷久久综合| 日韩欧美国产一二三区| 亚洲私人黄色宅男| 久久精品国产一区二区| 91理论电影在线观看| 欧美不卡激情三级在线观看| 亚洲人吸女人奶水| 久久不见久久见免费视频1| 色综合天天综合色综合av| 欧美一级片在线| 一区二区三区四区激情| 国产精品综合在线视频| 5566中文字幕一区二区电影| 1024成人网| 国产黄色成人av| 91精品午夜视频| 亚洲欧美一区二区三区久本道91 | 欧美一区二区啪啪| 亚洲人成在线观看一区二区| 精品一区二区三区不卡| 欧美色老头old∨ideo| 国产精品色眯眯| 国产中文字幕一区| 欧美一区二区视频在线观看 | 日本伦理一区二区| 欧美激情在线观看视频免费| 奇米精品一区二区三区在线观看| 日本黄色一区二区| 亚洲欧美一区二区久久| 粉嫩aⅴ一区二区三区四区五区| 日韩欧美另类在线| 亚洲mv在线观看| 欧美唯美清纯偷拍| 亚洲欧美日韩综合aⅴ视频| caoporm超碰国产精品| 日韩免费看的电影| 麻豆一区二区在线| 91麻豆精品国产91久久久久| 亚洲综合色区另类av| 色综合久久天天| 亚洲人成在线播放网站岛国| 99久久精品国产导航| 最新日韩av在线| 色综合久久中文综合久久牛| 亚洲特黄一级片| 欧美性感一类影片在线播放| 亚洲裸体xxx|