<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機匯編實(shí)驗六:I2C串行總線(xiàn)存儲器讀寫(xiě)實(shí)驗

單片機匯編實(shí)驗六:I2C串行總線(xiàn)存儲器讀寫(xiě)實(shí)驗

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò ) 收藏
實(shí)驗要求:由AT89S52內部定時(shí)器1,按方式1工作,每1秒鐘24C02的0001H單元內容加2,以鍵盤(pán)作為外部中斷輸入信號,有鍵按下時(shí),讀取0001H單元內容并由LED顯示。

//This is the sixthprogramof the homework;
//Name :Wang Qi Date:2013/3/11 北京化工大學(xué) 自實(shí)1001
SDA EQU P2.0
SCL EQU P2.1
ORG 0000H //主函數入口
SJMP MAIN
ORG 0013H //外部中斷1入口
LJMP WZD0
ORG 001BH //計時(shí)器1入口
LJMP WT1
ORG 0050H
MAIN: MOV SP,#60H
MOV TMOD,#10H //設置T1工作方式
MOV TH1,#4CH //設初值
MOV TL1,#00H
MOV R7,#10 //計數器
SETB EA //全局中斷
SETB ET1 //允許定時(shí)器1
SETB TR1 //啟動(dòng)定時(shí)器1
SETB IT1 //外部中斷跳變觸發(fā)方式
SETB EX1 //允許外部中斷1
OK: MOV C,P3.4 //掃描鍵盤(pán)
JNC OK1
MOV C,P3.5
JNC OK1
MOV C,P3.6
JNC OK1
MOV C,P3.7
JNC OK1
SJMP OK
OK1: CLR P3.3 //中斷信號
SETB P3.3
SJMP OK
WZD0:
SETB P3.3 //中斷程序
PUSH TH1 //保護現場(chǎng)
PUSH TL1
CLR TR1 //停止T1計數
MOV R2,#01H
CALL DU
MOV P1,R3
POP TL1
POP TH1
SETB TR1
RETI
WT1: MOV TH1,#4CH //定時(shí)函數
MOV TL1,#00H
DJNZ R7,RET0
MOV R7,#10 //1秒到來(lái)了
INC 30H
INC 30H
mov R2,#01H
MOV R3,30H
CALL XIE
RET0: RETI

//////////////I2C協(xié)議摘自網(wǎng)絡(luò ) Thanks to the author
XIE: //寫(xiě)數據子程序,R2是要寫(xiě)入的24c02的字節位置地址,R3是要寫(xiě)入的內容
LCALL STAR;起始條件
MOV A,#10100000B //尋址24C02的總線(xiàn)硬件地址并使用寫(xiě)入命令
LCALL SDATA //傳輸數據A給24C02
MOV A,R2 //確定要寫(xiě)入的字節位置地址
LCALL SDATA //傳輸數據A給24C02
MOV A,R3 //把數據R3寫(xiě)入剛指定的字節地址
LCALL SDATA //傳輸數據A給24C02
LCALL STOP //寫(xiě)入結束
LCALL CHULI //提供2ms給24C02內部處理剛寫(xiě)入的數據
RET
DU: ;讀數據子程序,R2是要讀的24c02的字節位置地址,讀完后A傳給R3
LCALL STAR;起始條件
MOV A,#10100000B//尋址24C02的總線(xiàn)硬件地址并使用寫(xiě)入命令
LCALL SDATA //傳輸數據A給24C02
MOV A,R2 //注意,這里是使24C02的字節地址指針變成R2的值,也就是確定要讀取的字節位置地址
LCALL SDATA //傳輸數據A給24C02
LCALL STAR //重復起始條件
MOV A,#10100001B//尋址24C02的總線(xiàn)硬件地址并使用讀出命令(這里正式發(fā)起讀命令)
LCALL SDATA//傳輸數據A給24C02
LCALL RDATA//從之前指定的字節地址中讀出字節內容到A
LCALL STOP //讀取完畢(這里并沒(méi)有連續讀取,只能讀一個(gè)字節,要多個(gè)字節連續讀取,請自己在R2上做變址讀取循環(huán))


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>