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

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

?? i2c.asm

?? 一個用匯編寫的I2C通信程序
?? ASM
字號:
;I2C  讀寫程序
;BYTE WRITR AND  RANDOM READ (字節寫,任意讀)
;用來寫一個指定的數據到一個指定的地址,或用來讀一個指定的地址的數據。
;晶振4MHZ,HT46R47


       
#include ht46r47.inc

 	  
data  .section  'data'               
  
  WORD_ADDRESS         EQU         [071H]          ;寫入或讀出數據的存儲器地址
  WRITE_IN             EQU         [072H]          ;寫入存儲中的數據暫存器
  READ_OUT             EQU         [073H]          ;讀出存儲器中的數據暫存器
  DATA_8               EQU         [074H]          ;移位用臨時變量
  COUNT1               EQU         [075H]          ;定時用臨時變量
  COUNT2               EQU         [076H]          ;定時用臨時變量

TIME_6US    MACRO             ;宏延遲6US,
   NOP
   NOP
   NOP
   NOP
   NOP
   NOP
ENDM
   
;-----------------------------------------------
code  .section  at 0  'code'

  SCL                   EQU         PA.0             ;存儲器CLK
  SCL_C                 EQU         PAC.0
  SDA                   EQU         PB.3             ;存儲器DATA
  SDA_C                 EQU         PBC.3           
       
        org	   00h
        nop
        nop
        nop
        jmp    star 	
	    
        org    04h                 ;外部中斷
        RETI
    
        org    08h                
        reti                       ;定時/計數中斷

        ORG    0CH
        RETI                       ;AD中斷
 
star:            
        clr    intc                ;清除中斷控制寄存器       
        clr    tmrc                ;清除定時/計數控制寄存器
        clr    tmr                 ;清除定時/計數器        
        CLR    STATUS
        clr    pac                 ;將PA口設為輸出,防止輸入懸空
        clr    pbc                 ;將PB口設為輸出,防止輸入懸空
        clr    pdc                 ;將PD口設為輸出,防止輸入懸空
        clr    pa                  ;將PA口設為L,
        clr    pb                  ;將PB口設為L
        CLR    PD

MAIN:       
        MOV    A,02EH
        MOV    WRITE_IN,A          ;要寫入的數據
        MOV    A,001H
        MOV    WORD_ADDRESS,A      ;要將數據存入的地址位置,或要從那地址讀數據
        CALL   WRITE_ROM
        CALL   READ_ROM
        nop
        MOV    A,READ_OUT          ;檢驗寫數據是否正確
        NOP
        JMP MAIN
         


;--------------------------------------------------------------------------
WRITE_ROM:
;寫ROM;    
;MOV    A,001H
;MOV    WRITE_IN,A        ;要寫入的數據    
;MOV    A,001H            
;MOV    WORD_ADDRESS,A    ;要把數據寫在ROM的什么位置  
;START......ACK......寫地址......ACK......寫數據......ACK......STOP (5MS--24LC02B)寫數據時間
;START......ACK......寫地址......ACK......寫數據1......ACK......寫數據2......STOP (5MS--24LC02B)寫數據時間            

            CLR    SDA_C         ;設SDA為輸出
            CLR    SCL_C         ;設SCL為輸出

            SET   SDA
            SET   SCL            
            TIME_6US
            CLR   SDA            ;START
            TIME_6US
        
            CLR    SCL
            SET    SDA            ;1
            TIME_6US
            SET    SCL        
            TIME_6US    
            
            CLR    SCL
            CLR    SDA            ;0
            TIME_6US              
            SET    SCL
            TIME_6US
     
            CLR    SCL   
            SET    SDA            ;1
            TIME_6US
            SET    SCL
            TIME_6US
            
            CLR    SCL
            CLR    SDA            ;0
            TIME_6US             
            SET    SCL
            TIME_6US
           
            CLR    SCL
            CLR    SDA            ;A2=0
            TIME_6US              ;為零時可不用
            SET    SCL
            TIME_6US

            CLR    SCL
            CLR    SDA            ;A1=0
            TIME_6US              ;為零時可不用
            SET    SCL
            TIME_6US
          
            CLR    SCL
            CLR    SDA            ;A0=0
            TIME_6US              ;為零時可不用
            SET    SCL
            TIME_6US
   
            CLR    SCL
            CLR    SDA            ;0 寫模式
            TIME_6US              ;可不用
            SET    SCL
            TIME_6US
            
            CLR    SCL             
            SET    SDA_C           ;設IC地址ACK       ;設SDA為輸入模式     ;之前地址對會自動為零,若不對會馬上為高,后面程序執行不下去               
            SET    SCL            
                            
 IC_ADDRESS_ACK:                   ;等待應答信號,確認IC地址是否正確   ;判斷地址對不對,對-過關,不對-死機
            SZ     SDA                 
            JMP    IC_ADDRESS_ACK
            CLR    SCL              ; 此語句之后,SDA會很快的自動產生一個上升沿          
            CLR    SDA_C            ;設輸出為L  SDA產生下降沿
            MOV    A,08H            ;設傳輸數據長度
            MOV    DATA_8,A 
 
  WRITE_ADDRESS_IN:                 ;輸入寫入地址   ;寫地址
            CLR    SDA
            SZ     WORD_ADDRESS.7
            SET    SDA
            TIME_6US
            SET    SCL
            TIME_6US         
            CLR    SCL  
            RL     WORD_ADDRESS
            SDZ    DATA_8
            JMP    WRITE_ADDRESS_IN
   
            SET    SDA_C             ;設寫地址ACK ;設SDA為輸入模式
            SET    SCL 

  WRITE_ADDRESS_ACK:                 ;確認寫地址是否正確;等待應答信號
            SZ     SDA
            JMP    WRITE_ADDRESS_ACK
            CLR    SCL
            CLR    SDA_C           ;設輸出為L
            MOV    A,08H           ;設傳輸數據長度
            MOV    DATA_8,A
       
  WRITE_DATA_IN:                   ;寫數據
           CLR     SDA
           SZ      WRITE_IN.7
           SET     SDA
           TIME_6US
           SET     SCL
           TIME_6US
        
           CLR    SCL
           RL     WRITE_IN
           SDZ    DATA_8
           JMP    WRITE_DATA_IN

           SET    SDA_C            ;設寫數據ACK   ;設SDA為輸入模式
           SET    SCL 

 WRITE_DATA_ACK:                   ;確認寫數據是否正確;等待應答信號
           SZ     SDA
           JMP    WRITE_DATA_ACK
                      
           CLR    SCL  
           CLR    SDA_C    
           CLR    SDA
           SET     SCL	      
	       TIME_6US		
	       SET     SDA		     ;STOP
	       TIME_6US		

           CLR    SCL           ;為了結束置低
           CLR    SDA           ;為了結束置低

 ;DELAY5MS:                     ;為了給寫足夠的時間,24LC02B=5MS  ;延時 (2*R2+3)*R1+2=(2*27+3)*98+2=6000us 約6ms
           mov    a,27             
           mov    count1,a         
   ROM_D1:
           mov    a,98            
           mov    count2,a        
   ROM_D2:
          sdz    count2
          jmp    ROM_D2
          sdz    count1
          jmp    ROM_D1      
          RET
;---------------------------------------------------------
READ_ROM:
;讀ROM                
;MOV    A,001H            
;MOV    WORD_ADDRESS,A   ;讀地址 
; START...IC認證...ACK...寫地址......ACK...START...IC認證...ACK...讀數據......STOP

            CLR    SDA_C         ;設SDA為輸出
            CLR    SCL_C         ;設SCL為輸出

            SET   SDA
            SET   SCL            
            TIME_6US
            CLR   SDA            ;START
            TIME_6US
        
            CLR    SCL
            SET    SDA            ;1
            TIME_6US
            SET    SCL        
            TIME_6US    
            
            CLR    SCL
            CLR    SDA            ;0
            TIME_6US              ;可不用(24AA02工作在2.5V以下時要用)以下同
            SET    SCL
            TIME_6US
     
            CLR    SCL   
            SET    SDA            ;1
            TIME_6US
            SET    SCL
            TIME_6US
            
            CLR    SCL
            CLR    SDA            ;0
            TIME_6US              ;可不用
            SET    SCL
            TIME_6US
           
            CLR    SCL
          ; CLR    SDA            ;A2=0  ;可以不用,已經為L
            TIME_6US                    ;可不用
            SET    SCL
            TIME_6US

            CLR    SCL
          ; CLR    SDA            ;A1=0
            TIME_6US                     ;可不用
            SET    SCL
            TIME_6US
          
            CLR    SCL
          ; CLR    SDA            ;A0=0
            TIME_6US                      ;可不用
            SET    SCL
            TIME_6US
   
            CLR    SCL
            CLR    SDA            ;0 寫模式
            TIME_6US              ;可不用
            SET    SCL
            TIME_6US
            
            CLR    SCL         
            SET    SDA_C           ;設IC地址ACK ;設SDA為輸入模式
            ;TIME_6US                  
            SET    SCL
            ;TIME_6US                   
  
 R_IC_ACK:                        ;等待ACK應答信號,確認IC地址是否正確 
            SZ     SDA
            JMP    R_IC_ACK
            CLR    SCL

            CLR    SDA_C           ;設輸出為L
            MOV    A,08H           ;設傳輸數據長度
            MOV    DATA_8,A
 
 READ_ADDRESS_IN:                 ;讀入地址   ;讀地址
            CLR    SDA
            SZ     WORD_ADDRESS.7
            SET    SDA
            TIME_6US
            SET    SCL
            TIME_6US
            CLR    SCL
            RL     WORD_ADDRESS
            SDZ    DATA_8
            JMP    READ_ADDRESS_IN

            SET    SDA_C          ;設輸入
            SET    SCL
          
 R_ADDRESS_ACK: 
            SZ    SDA            ;等待ACK應答信號,確認讀地址是否正確         SZ     SDA
            JMP    R_ADDRESS_ACK

            CLR    SCL        
            CLR    SDA_C         ;設SDA為輸出                  

REREADROM:
           SET    SDA
           SET    SCL
           TIME_6US
           CLR    SDA             ;START
           TIME_6US
                      
           CLR    SCL
           SET    SDA             ;1
           TIME_6US
           SET    SCL
           TIME_6US
 
           CLR    SCL
           CLR    SDA             ;0
           TIME_6US               ;可不用
           SET    SCL        
           TIME_6US

           CLR    SCL
           SET    SDA             ;1
           TIME_6US
           SET    SCL
           TIME_6US

           CLR    SCL
           CLR    SDA              ;0
           TIME_6US                ;可不用
           SET    SCL        
           TIME_6US

           CLR    SCL
           ;CLR    SDA             ;A2=0
           TIME_6US                ;可不用
           SET    SCL        
           TIME_6US

           CLR    SCL
           ;CLR    SDA             ;A1=0
           TIME_6US                ;可不用
           SET    SCL        
           TIME_6US

           CLR    SCL
           ;CLR    SDA             ;A0=0
           TIME_6US                ;可不用
           SET    SCL        
           TIME_6US

           CLR    SCL
           SET    SDA              ;1 讀模式
           TIME_6US
           SET    SCL        
           TIME_6US

           CLR    SCL
           SET    SDA_C            ;設IC地址ACK  ;設SDA為輸入模式       
           SET    SCL
    
 RE_IC_ACK:                
           SZ     SDA              ;等待ACK應答信號,確認IC地址是否正確 
           JMP    RE_IC_ACK
           MOV    A,08H
           MOV    DATA_8,A
           
 RE_DATA_OUT:                      ;讀數據輸出
           CLR    SCL
           TIME_6US
           CLR    READ_OUT.7
           SZ     SDA
           SET    READ_OUT.7
           TIME_6US
           SET    SCL
           TIME_6US
           RL     READ_OUT
           SDZ    DATA_8
           JMP    RE_DATA_OUT 

           CLR    SCL
           CLR    SDA_C          
           CLR    SDA
           SET     SCL	      
	       TIME_6US		
	       SET     SDA			    ;STOP
	       TIME_6US		       

           CLR    SCL               ;為了結束置低
           CLR    SDA               ;為了結束置低
           RET


;---------------------------------------


end


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品成a人在线观看| 在线观看区一区二| 日产国产欧美视频一区精品| 亚洲欧美偷拍三级| 亚洲丝袜精品丝袜在线| 国产婷婷色一区二区三区四区| 26uuu欧美| 国产精品久久久久影院老司| 国产精品视频一二| 亚洲欧美日韩国产一区二区三区| 日韩理论片一区二区| 亚洲综合在线观看视频| 亚洲大片精品永久免费| 日本不卡的三区四区五区| 人人超碰91尤物精品国产| 亚洲激情校园春色| 亚洲高清免费视频| 另类小说色综合网站| 国产成人午夜精品影院观看视频 | 久久久久高清精品| 中文字幕免费观看一区| 亚洲人亚洲人成电影网站色| 亚洲日本一区二区| 三级欧美在线一区| 国产精品一区二区三区四区| av亚洲精华国产精华精华| 欧美艳星brazzers| 日韩欧美电影一区| 日韩美女视频19| 日韩电影在线一区二区| 国产激情一区二区三区| 欧美性猛交xxxx黑人交| 精品国产乱码久久久久久浪潮| 亚洲欧美综合网| 午夜影院久久久| 岛国一区二区在线观看| 欧美视频自拍偷拍| 欧美国产精品v| 五月婷婷久久丁香| a在线播放不卡| 欧美成人aa大片| 亚洲精品国产无天堂网2021| 久久99国产精品久久| 色综合视频一区二区三区高清| 日韩亚洲电影在线| 亚洲精品伦理在线| 国产高清不卡二三区| 欧美精品久久天天躁| 欧美国产在线观看| 精品一区二区三区影院在线午夜| 日本电影亚洲天堂一区| 中文字幕免费不卡| 美国毛片一区二区三区| 欧美日韩国产高清一区二区三区| 国产欧美一区二区三区沐欲| 日韩av一区二区在线影视| 91色porny| 久久久久高清精品| 日韩av一级片| 7777女厕盗摄久久久| 亚洲男人电影天堂| www.亚洲精品| 国产精品麻豆网站| 成人一道本在线| 久久九九全国免费| 国产麻豆精品95视频| 久久这里都是精品| 精品亚洲国产成人av制服丝袜| 欧美浪妇xxxx高跟鞋交| 一区二区三区成人| 在线亚洲高清视频| 亚洲综合色在线| 欧美视频在线一区二区三区 | 夜色激情一区二区| 色国产综合视频| 一区二区成人在线| 欧美日韩视频不卡| 免费美女久久99| 欧美一二三在线| 久久99深爱久久99精品| 久久综合九色综合97婷婷女人| 久久99国产精品成人| 日韩欧美电影一二三| 久久精品国产亚洲5555| 久久久影院官网| 高清视频一区二区| 亚洲免费资源在线播放| 在线亚洲一区观看| 午夜电影网亚洲视频| 538在线一区二区精品国产| 日本不卡中文字幕| 337p日本欧洲亚洲大胆色噜噜| 国产精品自拍在线| 国产精品久久久久久久久久免费看 | 色天使色偷偷av一区二区| 亚洲色图在线播放| 欧美日韩免费观看一区二区三区| 亚洲主播在线播放| 欧美电影免费观看高清完整版在线观看| 日韩电影免费一区| 国产精品欧美久久久久无广告| 99精品1区2区| 日本大胆欧美人术艺术动态| 久久久久88色偷偷免费| 91丨porny丨户外露出| 五月激情六月综合| 久久久.com| 欧美三级电影网站| 国产精一区二区三区| 亚洲精品视频在线观看网站| 日韩欧美国产午夜精品| 不卡大黄网站免费看| 调教+趴+乳夹+国产+精品| 国产清纯白嫩初高生在线观看91 | 成人激情动漫在线观看| 亚洲第一激情av| 国产视频一区在线播放| 欧美私模裸体表演在线观看| 国产成人在线视频网站| 婷婷综合久久一区二区三区| 欧美国产97人人爽人人喊| 欧美日韩精品欧美日韩精品一| 国产乱码精品一区二区三区忘忧草| 日韩一区中文字幕| 久久综合久色欧美综合狠狠| 欧美网站大全在线观看| 高清国产一区二区三区| 毛片av一区二区三区| 亚洲永久精品国产| 综合婷婷亚洲小说| 久久久国产精华| 欧美猛男超大videosgay| 97久久超碰国产精品电影| 国产精品自产自拍| 理论电影国产精品| 亚洲国产精品麻豆| 亚洲欧美一区二区三区孕妇| 26uuu亚洲婷婷狠狠天堂| 欧美一区二区在线视频| 欧美午夜精品久久久久久超碰| 国产成人av电影在线播放| 精品制服美女丁香| 免费在线观看成人| 青椒成人免费视频| 婷婷久久综合九色国产成人| 一区二区三区不卡视频| 亚洲免费在线观看| 国产精品久久久久四虎| 国产校园另类小说区| 久久久久久久综合狠狠综合| 日韩免费视频线观看| 日韩精品一区二区三区视频播放| 欧美日韩成人激情| 884aa四虎影成人精品一区| 欧美人与z0zoxxxx视频| 欧美理论在线播放| 欧美一区二区视频在线观看| 日韩欧美在线一区二区三区| 欧美一区二区三区白人| 日韩欧美国产电影| 久久日韩粉嫩一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 国产婷婷精品av在线| 国产精品入口麻豆原神| 中文字幕一区二区在线播放| 亚洲黄色片在线观看| 亚洲va在线va天堂| 九一久久久久久| 国产精品一二一区| 91亚洲精品久久久蜜桃网站| 欧美丝袜丝交足nylons| 欧美一区二区二区| 国产日韩欧美高清| 亚洲色图清纯唯美| 视频一区二区三区中文字幕| 黑人精品欧美一区二区蜜桃| 成人高清伦理免费影院在线观看| 色婷婷亚洲婷婷| 日韩三级伦理片妻子的秘密按摩| 精品欧美一区二区在线观看| 国产日韩三级在线| 亚洲制服欧美中文字幕中文字幕| 免费在线观看不卡| 不卡的电影网站| 91精品国产日韩91久久久久久| 国产偷v国产偷v亚洲高清| 一区二区三区免费网站| 九九**精品视频免费播放| 国产不卡免费视频| 欧美精品久久久久久久久老牛影院 | 亚洲综合一区二区精品导航| 日韩av中文在线观看| 波多野结衣视频一区| 欧美日韩在线三区| 国产精品午夜在线观看| 天天操天天色综合| 99精品热视频| 久久久一区二区三区捆绑**| 亚洲午夜精品17c| 成人激情视频网站|