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

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

?? emc-epprom.txt

?? 義隆單片機(jī)讀寫24C** ** 24CXX 接口I2C總線讀/寫的程序 ** (所有時(shí)序均基于4MHZ晶體震蕩器頻率)
?? TXT
?? 第 1 頁 / 共 2 頁
字號(hào):
;******************************************
;** 24CXX  接口I2C總線讀/寫的程序
;**  (所有時(shí)序均基于4MHZ晶體震蕩器頻率)
;******************************************
/*
;****************************
;隨機(jī)讀寫測(cè)試程序(示范程序)
;****************************
TEST:
    MOV    A,@0XAE        ;A2=A1=A0=1
    MOV    SLAVE_24,A    ;設(shè)置器件碼
    MOV    A,@2        ;R/W LOC. = 2
    MOV    ADDR_24,A    ;設(shè)置地址碼
    MOV    A,@55        ;
    MOV    DATA_24,A    ;寫55到E2PROM
    CALL    WRBYTE        ;寫一個(gè)字節(jié)
    CALL    DL10MS        ;延時(shí)10MS,等待寫操作完成(注意,此語句非常重要)
    CALL     RDBYTE        ;讀回原數(shù)據(jù)
    MOV    A,@55        ;
    XOR    A,DATA_24    ;
    JBS    R3,Z        ;讀出數(shù)據(jù)=寫入數(shù)據(jù)跳
WRONG:
    JMP    WRONG        ;校驗(yàn)失敗
CORRECT:
    JMP    CORRECT        ;校驗(yàn)通過
DL10MS:
    RET    
;****************************
;存儲(chǔ)器定義
;****************************
PROT_I2C    EQU    0X05    ;I2C操作口
    SDA    EQU    3    ;數(shù)據(jù)腳
    SCL    EQU    2    ;時(shí)鐘腳

ADDR_24    EQU    0X1B        ;地址寄存器
DATA_24    EQU    0X1C        ;寫入/讀自I2C的數(shù)據(jù)寄存器
SLAVE_24 EQU    0X1D        ;從器件地址寄存器(1010XXX0)
DBUF_24    EQU    0X1E        ;發(fā)送/接受自SDA口的數(shù)據(jù)緩沖器
COUNT_24 EQU    0X1F        ;位計(jì)數(shù)器
TT_24    EQU    0X20        ;標(biāo)志寄存器
    REND_24    EQU    1    ;讀完畢標(biāo)志(0=未完畢,1=完畢)
NUM_24    EQU    0X21        ;頁寫/頁讀字節(jié)數(shù)

*/
;****************************
;宏定義
;****************************
;=================
;設(shè)置SCL,SDA為輸出口
;=================
SDA_OUT    MACRO
    MOV    A,@0B00000001   
    IOW    PROT_I2C
ENDM
;=================
;設(shè)置SCL為輸出口,SDA為輸入口
;=================
SDA_IN    MACRO
    MOV    A,@0B00001001
    IOW    PROT_I2C
ENDM
;****************************
;字節(jié)寫程序
;功能:    寫一個(gè)字節(jié)到EEPROM器件
;入口:    DATA_24    =要寫的數(shù)據(jù)
;    ADDR_24    =數(shù)據(jù)地址
;    SLAVE_24=從器件地址1010XXX0)
;****************************
WRBYTE:
    MOV    A,SLAVE_24               
    MOV    DBUF_24,A        
    CALL    BSTART            ;送起始位
    CALL    TX            ;送從器件地址并檢測(cè)應(yīng)答信號(hào)
    MOV    A,ADDR_24        
    MOV    DBUF_24,A        
    CALL    TX            ;送數(shù)據(jù)地址并檢測(cè)應(yīng)答信號(hào)
    MOV    A,DATA_24        
    MOV    DBUF_24,A        
    CALL    TX            ;送數(shù)據(jù)并檢測(cè)應(yīng)答信號(hào)
    CALL    BSTOP            ;送停止位
    RET
;****************************
;字節(jié)讀程序
;功能:    從EEPROM器件讀一個(gè)字節(jié)
;入口:    ADDR_24    =數(shù)據(jù)地址
;    SLAVE_24=從器件地址(1010XXX0)
;出口:    DATA_24    =讀到的數(shù)據(jù)
;****************************
RDBYTE:
    MOV    A,SLAVE_24
    MOV    DBUF_24,A
    CALL    BSTART            ;送起始位
    CALL    TX            ;送從器件地址并檢測(cè)應(yīng)答信號(hào)
    MOV    A,ADDR_24        
    MOV    DBUF_24,A
    CALL    TX            ;送數(shù)據(jù)地址并檢測(cè)應(yīng)答信號(hào)
;轉(zhuǎn)入讀狀態(tài)    
    CALL    BSTART            ;送起始位    
    MOV    A,SLAVE_24           
    MOV    DBUF_24,A
    BS     DBUF_24,0            
    CALL    TX            ;送從器件地址并檢測(cè)應(yīng)答信號(hào)
    BS    TT_24,REND_24        
    CALL    RX            ;讀數(shù)據(jù)并發(fā)送應(yīng)答信號(hào)
    CALL    BSTOP            ;送停止位
    MOV    A,DBUF_24        
    MOV    DATA_24,A        ;保存數(shù)據(jù)到DATA_24
    RET
;****************************
;頁寫程序
;功能:    寫一個(gè)字節(jié)到EEPROM器件
;入口:    R4    =要寫的數(shù)據(jù)在RAM中存放首地址
;    NUM_24    =字節(jié)數(shù)
;    ADDR_24    =數(shù)據(jù)地址
;    SLAVE_24=從器件地址1010XXX0)
;****************************
WRPAGE:
    MOV    A,SLAVE_24               
    MOV    DBUF_24,A        
    CALL    BSTART            ;送起始位
    CALL    TX            ;送從器件地址并檢測(cè)應(yīng)答信號(hào)
    MOV    A,ADDR_24        
    MOV    DBUF_24,A        
    CALL    TX            ;送數(shù)據(jù)地址并檢測(cè)應(yīng)答信號(hào)
WRPAGE1:
    MOV    A,R0        
    MOV    DBUF_24,A        
    CALL    TX            ;送數(shù)據(jù)并檢測(cè)應(yīng)答信號(hào)
    INC    R4
    DJZ    NUM_24
    JMP    WRPAGE1            ;未寫完繼續(xù)
    CALL    BSTOP            ;送停止位
    RET
;****************************
;頁讀程序
;功能:    從EEPROM器件讀一個(gè)字節(jié)
;入口:    ADDR_24    =數(shù)據(jù)地址
;    SLAVE_24=從器件地址(1010XXX0)
;    NUM_24    =字節(jié)數(shù)
;出口:    R4    =讀到的數(shù)據(jù)在RAM中存放首地址
;****************************
RDPAGE:
    MOV    A,SLAVE_24
    MOV    DBUF_24,A
    CALL    BSTART            ;送起始位
    CALL    TX            ;送從器件地址并檢測(cè)應(yīng)答信號(hào)
    MOV    A,ADDR_24        
    MOV    DBUF_24,A
    CALL    TX            ;送數(shù)據(jù)地址并檢測(cè)應(yīng)答信號(hào)
;轉(zhuǎn)入讀狀態(tài)    
    CALL    BSTART            ;送起始位    
    MOV    A,SLAVE_24           
    MOV    DBUF_24,A
    BS     DBUF_24,0            
    CALL    TX            ;送從器件地址并檢測(cè)應(yīng)答信號(hào)
RDPAGE1:
    MOV    A,@1
    XOR    A,NUM_24
    BS    TT_24,REND_24        
    JBS    R3,Z            ;NUM_24=1跳;判斷是否最后一個(gè)字節(jié),決定應(yīng)答信號(hào)    
    BC    TT_24,REND_24        
    CALL    RX            ;讀數(shù)據(jù)并發(fā)送應(yīng)答信號(hào)
    MOV    A,DBUF_24        
    MOV    R0,A            ;保存數(shù)據(jù)到R0
    INC    R4
    DJZ    NUM_24
    JMP    RDPAGE1            ;未讀完繼續(xù)
    CALL    BSTOP            ;送停止位
    RET
;****************************
;I2C操作子程序(時(shí)序)集合
;****************************
;=================
;發(fā)送起始位程序
;說明:    當(dāng)SCL=1時(shí),向SDA發(fā)一個(gè)下降沿
;=================
BSTART:
    SDA_OUT                ;設(shè)置SDA為輸出口
    BS    PROT_I2C,SDA        ;SDA=1
    NOP                ;延時(shí)0.6US
    BS    PROT_I2C,SCL        ;SCL=1
    NOP                ;延時(shí)0.6US
    BC    PROT_I2C,SDA        ;SDA=0
    NOP                ;延時(shí)0.6US
    BC    PROT_I2C,SCL        ;SCL=0
    NOP                ;延時(shí)0.6US
    RET
;=================
;發(fā)送結(jié)束位程序
;說明:    當(dāng)SCL=1時(shí),向SDA發(fā)一個(gè)上升沿
;=================
BSTOP:
    SDA_OUT                ;設(shè)置SDA為輸出口
    BC    PROT_I2C,SDA        ;SDA=0
    NOP                ;延時(shí)0.6US
    BS    PROT_I2C,SCL        ;SCL=1
    NOP                ;延時(shí)0.6US
    BS    PROT_I2C,SDA        ;SDA=1
    NOP                ;延時(shí)0.6US
    RET
;=================
;位輸入子程序
;說明:    當(dāng)SCL=1時(shí),從SDA上讀電平
;出口:    C=從SDA上讀入的位值    
;=================
BITIN:
    SDA_IN                ;設(shè)置SDA為輸入口
    BS    PROT_I2C,SDA        ;SDA=1
    NOP                ;延時(shí)0.6US
    BS    PROT_I2C,SCL        ;SCL=1
    NOP                ;延時(shí)0.6US
    BC    R3,C
    JBC    PROT_I2C,SDA        
    BS    R3,C            ;C=SDA
    NOP                ;延時(shí)0.6US
    BC    PROT_I2C,SCL        ;SCL=0
    NOP                ;延時(shí)0.6US
    RET
;=================
;位輸出子程序
;說明:    每當(dāng)SCL=0時(shí),改寫SDA上的電平
;入口:    C=要寫到SDA上的位值
;=================
BITOUT:
    SDA_OUT                ;設(shè)置SDA為輸出口
    JBS    R3,C
    JMP    BIT0
    BS    PROT_I2C,SDA        ;SDA=C=1
    JMP    CLK1        
BIT0:
    BC    PROT_I2C,SDA        ;SDA=C=0
CLK1:
    NOP                ;延時(shí)0.6US
    BS    PROT_I2C,SCL        ;SCL=1
BIT2:
    NOP
    NOP
    BC    PROT_I2C,SCL        ;SCL=0
    RET
;============================
;接收數(shù)據(jù)子程序
;入口:    TT_24.REND_24    =讀完畢標(biāo)志
;出口:    DBUF_24    =接受到的數(shù)據(jù)(8_BIT)
;============================
RX:
    MOV    A,@8            ;循環(huán)次數(shù)=8
    MOV    COUNT_24,A
    CLR    DBUF_24
RXLP:
    CALL    BITIN            ;輸入1_BIT
    RLC    DBUF_24            ;左移(帶C)
    DJZ    COUNT_24        ;循環(huán)結(jié)束?
    JMP    RXLP
;設(shè)置應(yīng)答信號(hào)位,如果讀完畢則送1(NO_ACK)停止接受,否則送0(ACK)繼續(xù)接受
    BS    R3,C        
    JBS    TT_24,REND_24        ;讀完畢信號(hào)->C
    BC    R3,C        
    CALL    BITOUT            ;應(yīng)答            
    RET
;============================
;發(fā)送數(shù)據(jù)子程序
;入口:    DBUF_24    =要發(fā)送的數(shù)據(jù)(8_BIT)
;============================
TX:
    MOV    A,@8            ;循環(huán)次數(shù)=8
    MOV    COUNT_24,A
TXLP:
    RLC    DBUF_24            ;左移(帶C)
    CALL    BITOUT            ;輸出1_BIT
    DJZ    COUNT_24        ;循環(huán)結(jié)束?
    JMP    TXLP        
    CALL    BITIN            ;讀應(yīng)答信號(hào)
    RET

;****************************
;I2C總線讀/寫的程序全部結(jié)束 !
;****************************

 

 

簽名:


如果你的‘芯’是一座作坊,
我愿做那不知疲倦的程序匠……

 

 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品欧美一区二区三区麻豆| av电影在线不卡| 欧美精品第一页| 天天综合色天天综合| 91精品久久久久久久久99蜜臂| 日日嗨av一区二区三区四区| 日韩午夜在线观看视频| 极品少妇xxxx精品少妇偷拍| 国产精品色噜噜| 欧美一a一片一级一片| 日本欧美一区二区三区乱码| 久久久亚洲精品一区二区三区| 国产成人丝袜美腿| 亚洲精品国产一区二区三区四区在线| 91国产丝袜在线播放| 蜜臀av性久久久久av蜜臀妖精| 久久婷婷综合激情| 97精品超碰一区二区三区| 五月综合激情网| 国产欧美日韩久久| 欧美在线观看一区二区| 激情综合网天天干| 亚洲视频综合在线| 日韩精品一区二区三区四区 | 国产美女在线精品| 亚洲品质自拍视频| 日韩一区二区三区免费看| 成人福利在线看| 美女爽到高潮91| 18成人在线观看| 亚洲精品在线免费播放| 91免费版pro下载短视频| 日本不卡一二三区黄网| 136国产福利精品导航| 日韩精品一区二区三区视频| 色婷婷综合中文久久一本| 久久国产综合精品| 亚洲欧美激情一区二区| 久久综合久久鬼色中文字| 色猫猫国产区一区二在线视频| 久久精品国产免费| 亚洲影视在线观看| 国产精品家庭影院| 日韩欧美在线123| 欧美在线你懂的| 成人激情免费视频| 国产一区激情在线| 日韩福利电影在线| 亚洲高清一区二区三区| 国产精品久久久久久久蜜臀| 精品美女在线观看| 欧美日韩精品一区视频| 91在线视频网址| 国产黑丝在线一区二区三区| 男男成人高潮片免费网站| 亚洲人成网站色在线观看| 久久综合九色综合97婷婷女人| 91丨porny丨首页| 国产高清亚洲一区| 久久99精品国产91久久来源| 亚洲电影第三页| 一个色在线综合| 亚洲精品写真福利| 中文字幕一区二| 亚洲国产高清在线| 国产三级精品视频| 亚洲精品在线一区二区| 日韩一区二区三区高清免费看看 | 日韩激情一二三区| 亚洲综合在线观看视频| 国产精品久久久久影院亚瑟| 国产欧美精品在线观看| 国产午夜三级一区二区三| 国产亚洲精品精华液| 国产日本欧美一区二区| 久久蜜桃av一区二区天堂 | 亚洲欧美日韩国产手机在线| 国产欧美日韩精品a在线观看| 欧美激情一区二区三区| 国产日韩v精品一区二区| 久久午夜羞羞影院免费观看| 久久综合九色综合欧美就去吻| 26uuu精品一区二区三区四区在线| 精品久久久久久最新网址| 日韩精品中文字幕一区二区三区| 精品日韩av一区二区| 久久久99久久| 中文字幕亚洲视频| 一区二区三区在线高清| 亚洲高清不卡在线| 美腿丝袜亚洲一区| 高清在线不卡av| 一本大道久久a久久综合婷婷| 色偷偷88欧美精品久久久| 精品视频全国免费看| 日韩午夜电影av| 日本一区二区三区在线不卡| 国产精品久久久久一区| 亚洲男同性视频| 日韩高清一区在线| 国产乱码精品一区二区三区av| 成人午夜电影网站| 精品视频999| 精品国产免费人成电影在线观看四季| 中文字幕av不卡| 亚洲伊人伊色伊影伊综合网| 秋霞影院一区二区| 成人性生交大片免费看在线播放| 9久草视频在线视频精品| 在线免费观看日本欧美| 日韩精品一区二区三区中文不卡| 国产精品久久久久影院色老大| 亚洲一区二区三区中文字幕| 老汉av免费一区二区三区| 成人精品视频一区二区三区| 欧美系列日韩一区| 久久先锋资源网| 午夜精品久久久久久不卡8050| 国产真实乱偷精品视频免| 91亚洲精品久久久蜜桃网站| 欧美精品成人一区二区三区四区| www欧美成人18+| 一区二区三区欧美| 国产精品原创巨作av| 在线看不卡av| 欧美激情一区二区| 亚洲伊人伊色伊影伊综合网| 国产在线国偷精品免费看| 在线区一区二视频| 中文字幕乱码一区二区免费| 日产精品久久久久久久性色| a在线欧美一区| 久久久蜜桃精品| 爽好久久久欧美精品| 成人在线视频一区二区| 欧美一区二区三级| 尤物av一区二区| 成人精品免费看| 精品三级av在线| 免费观看91视频大全| 在线国产亚洲欧美| 国产精品国产三级国产aⅴ无密码| 日本麻豆一区二区三区视频| 91国产免费观看| 亚洲视频网在线直播| 国产成人精品免费网站| 欧美第一区第二区| 亚洲不卡一区二区三区| 色哟哟国产精品免费观看| 亚洲国产精品成人综合 | 日本美女视频一区二区| 在线观看国产日韩| 亚洲免费在线看| 99精品欧美一区二区三区小说| 精品伦理精品一区| 麻豆一区二区在线| 欧美一区二区三区婷婷月色| 亚洲成a人v欧美综合天堂| 99久久国产免费看| 中文字幕亚洲区| 91在线国产福利| 亚洲日本韩国一区| 91麻豆免费看| 一区二区三区加勒比av| 色哟哟一区二区三区| 亚洲精品一二三四区| 在线精品视频一区二区三四| 一区二区欧美国产| 欧美三日本三级三级在线播放| 亚洲综合图片区| 欧美日韩黄色一区二区| 亚洲午夜日本在线观看| 欧美性猛片aaaaaaa做受| 午夜亚洲国产au精品一区二区| 欧美三级电影网| 日韩二区在线观看| 欧美va天堂va视频va在线| 黄色小说综合网站| 久久先锋影音av鲁色资源网| 成人丝袜高跟foot| 亚洲天堂成人网| 精品视频在线视频| 日韩影院在线观看| www国产精品av| 成人动漫视频在线| 亚洲最新视频在线观看| 欧美日韩精品一二三区| 久久国产人妖系列| 国产农村妇女毛片精品久久麻豆| 高清不卡一区二区| 国产精品久久久久一区二区三区 | 久久国产精品99精品国产| 国产日韩欧美综合在线| 99久久婷婷国产综合精品| 夜夜嗨av一区二区三区| 日韩一区二区不卡| 成人午夜免费视频| 亚洲.国产.中文慕字在线| 精品国产三级a在线观看| 成人黄页在线观看|