freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機應(yīng)用技術(shù)第9章-在線瀏覽

2025-07-15 11:46本頁面
  

【正文】 DISP: MOV A, R3 ;將字形碼送串口 MOV DPTR, TABLE MOVC A, A+DPTR MOV SBUF, A WAIT: JNB TI, WAIT ;等待串口傳送 CLR TI RET DELAY1: MOV R6, 10H ;動態(tài)掃描的時間 LOOP1: MOV R7, 38H ;間隔 DJNZ R7, $ DJNZ R6, LOOP1 RET TABLE: DB 3FH, 06H,, 5BH ; 0~9的字形碼 DB 4FH, 66H, 6DH DB 7DH, 07H,, 7FH,, 6FH 參考程序 : I2C串行擴展總線 ? I2C總線的結(jié)構(gòu)原理 ? I2C總線的軟件模擬 ? I2C串行擴展應(yīng)用實例 I2C總線的結(jié)構(gòu)原理 ? I2C總線是 芯片間串行傳輸總線 。 ? I2C總線采用了 器件地址的硬件設(shè)置 方法,通過 軟件尋址 完全避免了器件的片選線尋址方法,從而使硬件系統(tǒng)具有簡單靈活的擴展方法。 I2C總線的結(jié)構(gòu)原理 1 2 3 4 V DD S DA S CL R P R P S DA S DA S DA S DA S CL S CL S CL S CL I2C總線接口電路結(jié)構(gòu) I2C總線的結(jié)構(gòu)原理 ? I2C總線接口為 開漏 或 開集電極輸出 ,需 加上拉電阻 。 ? 系統(tǒng)中可以 直接連接 具有 I2C總線接口的單片機,也可以通過 總線擴展芯片 或 I/O口的軟件仿真 與 I2C總線相連。 I2C總線的結(jié)構(gòu)原理 ? SDA 和 SCL 都是雙向線路,都通過一個電流源或上拉電阻連接到正的電源電壓;當總線空閑時,這兩條線路都是高電平;連接到總線的器件輸出級必須是漏極開路或集電極開路才能執(zhí)行線與的功能。 ? 在快速模式下可達 400kbit/s。 ? 連接到總線的 接口數(shù)量 只由總線電容是 400pF 的限制決定關(guān)于高速模式主機器件的信息。主從器件之間一次傳輸?shù)臄?shù)據(jù)稱為一幀,由啟動信號、若干個數(shù)據(jù)字節(jié)和應(yīng)答位以及停止信號組成。 ? 下位機只要具備 I2C的基本時序即可。 I2C總線的結(jié)構(gòu)原理 ? I2C總線最顯著的特點是 規(guī)范的完整性 、 結(jié)構(gòu)的獨立性 和 用戶使用時的 “ 傻瓜 ” 化 。 ? 在 I2C總線規(guī)范中,總線上的器件節(jié)點的電氣特性及地址給定都具有較強的獨立性,而且各節(jié)點上的器件、模塊都有相對獨立的地址編號。 I2C總線的軟件模擬 I2C總線的起始和停止條件如下圖所示。程序如下: S DA S CL 起始條件 停止條件 SDL EQU SCA EQU I2C總線的軟件模擬 當時鐘 SCL為高電平時,數(shù)據(jù)線 SDA從高電平向低電平切換表示起始條件,即啟動 I2C總線數(shù)據(jù)傳送。 START: SETB SDA SETB SCL NOP ; NOP的數(shù)目根據(jù)時鐘頻率確定 NOP ;此處用 NOP來延時 CLR SDA NOP NOP CLR SCL RET I2C總線的軟件模擬 當時鐘 SCL為高電平時,數(shù)據(jù)線 SDA由低電平向高電平切換表示停止條件,即停止 I2C總線數(shù)據(jù)傳送。 STOP: CLR SDA SETB SCL NOP ; NOP的數(shù)目根據(jù)時鐘頻率確定 NOP ;此處用 NOP來延時 SETB SDA NOP NOP CLR SDA CLR SCL RET I2C總線的軟件模擬 4. I2C總線上的第 9個時鐘脈沖對應(yīng)于應(yīng)答位,當該位為低電平表示應(yīng)答 ACK,當該位為高電平表示非應(yīng)答 ACK。發(fā)送 ACK和 ACK子程序如下。當檢查結(jié)果為正常應(yīng)答時,則標志位置 0;否則,標志位置 0。模擬 I2C總線的 SDA接在并行口線,并口中無移位寄存器,要通過指令完成移位后再從 SDA串行輸出。將待發(fā)送的字節(jié)存于累加器 A中,字節(jié)數(shù)據(jù)發(fā)送子程序如下: S CL S DA 起始 停止 1 A CK 2 I2C總線的軟件模擬 WOBYT: MOV R4, 08H ;要發(fā)送的數(shù)據(jù)長度為 8位 LOOP2: RLC A ;將待發(fā)送的位送入位 CY中 JC LOOP1 ; CY位為 1轉(zhuǎn)到 LOOP1 CLR SDA ;置為低電平,發(fā)送 0 SETB SCL ;時鐘高電平數(shù)據(jù)保持數(shù)據(jù)穩(wěn)定 NOP ;調(diào)節(jié) NOP的個數(shù),使延時 ≥ s NOP CLR SCL ;時鐘脈沖變?yōu)榈碗娖?,準備改變?shù)據(jù) DJNZ R4, LOOP2 ;若 8位未發(fā)送完,轉(zhuǎn) LOOP2繼續(xù) RET ; 8位發(fā)送完成返回 LOOP1: SETB SDA ;置為高電平,發(fā)送 1 SETB SCL ;時鐘為高電平保持數(shù)據(jù)穩(wěn)定 NOP ;調(diào)節(jié) NOP的個數(shù),使延時 ≥ s NOP CLR SCL ;時鐘脈沖變?yōu)榈碗娖?,準備改變?shù)據(jù) CLR SDA ;將數(shù)據(jù)改為低電平 DJNZ R4, LOOP2 ;若 8位未發(fā)送完,轉(zhuǎn) LOOP2繼續(xù) RET ; 8位發(fā)送完成返回 字節(jié)數(shù)據(jù)發(fā)送子程序 I2C總線的軟件模擬 根據(jù) I2C總線協(xié)議,數(shù)據(jù)必須在時鐘處于高電平期間,數(shù)據(jù)穩(wěn)定時才能讀取數(shù)據(jù),在經(jīng)過八次的時鐘轉(zhuǎn)換后,讀出八位即一個字節(jié)數(shù)據(jù)。將讀出的字節(jié)數(shù)據(jù)存于 R5中,接收字節(jié)數(shù)據(jù)子程序如下: A C K 起始字節(jié) S C L S D A 起始 停止 1 2 7 8 9 I2C總線的軟件模擬 接收字節(jié)數(shù)據(jù)子程序 ROBYT: MOV R4, 08H ;要接收的數(shù)據(jù)長度為 8位 LOOP3: SETB SDA ;設(shè)置 SDA為輸入方式 SETB SCL ; SDA上數(shù)據(jù)有效 MOV C, SDA ;讀入 SDA引腳狀態(tài) MOV A, R5 ;將存放結(jié)果送入 A中 RLC A ;將讀出的 1位移入 A中 MOV R5, A CLR SCL ;一個脈沖結(jié)束, SDA上數(shù)據(jù)無效 DJNZ R4, LOOP3 ;未讀完 8位,轉(zhuǎn)到 LOOP3 RET ;讀完返回 I2C總線的軟件模擬 在完成上述模擬子程序后,根據(jù) I2C總線協(xié)議,可編寫多個字節(jié)數(shù)據(jù)發(fā)送子程序。要接收的字節(jié)數(shù)存放在 R5中,要接收的數(shù)據(jù)塊存放的首地址為 50H,外圍器件的地址存放在 60H中,參考程序如下: RDBYT: LCALL START ;起始 RLP1: MOV A, 60H ;設(shè) 60H為存放的控制字 LCALL WOBYT ;發(fā)送讀控制字節(jié) LCALL TACK ;檢查應(yīng)答位 JB 30H, RLP1 ;無應(yīng)答位,重發(fā) MOV R0, 50H ; 50H為第一個數(shù)據(jù)的首地址 RLP2: LCALL ROBYT ;讀入一個字節(jié) MOV R0, A DJNZ R5, RLP3 ;要接收數(shù)據(jù)未讀完,再讀入 LCALL YNACK ;發(fā)送非應(yīng)答位 LCALL STOP ;全部數(shù)據(jù)發(fā)完,停止 RET ;返回 RLP3: LCALL YACK ;發(fā)送應(yīng)答位 INC R0 ;指向下一個要存放數(shù)據(jù)的地址 SJMP RLP2 ;調(diào)節(jié) NOP的個數(shù),使延時 ≥ s I2C串行擴展應(yīng)用實例 【 例 2】 將 AT89C2051片內(nèi) RAM40H~ 47H單元中的八個 8位數(shù)據(jù)通過 I2C總線接口傳送到存儲器 AT24C01的 50H~ 57H單元中。 AT24C01引腳如下圖所示。 ? SDA:串行數(shù)據(jù)端,漏極開路, 需接上拉電阻到 VCC。 ? A2~ A0:芯片地址。因 AT89C2051沒有 I2C總線接口,可用軟件的辦法來模擬 I2C總線操作。 A T 8 9 C 2 0 5 1 P 1 .0 P 1 .1 A T 2 4 C 0 1 SC L SC A V CC 10 k Ω 2 AT89C2051與 AT24C01的接口接線 I2C串行擴展應(yīng)用實例 AT24C01的讀寫操作有多種形式,寫操作有兩種類型: 字節(jié)寫 和 頁面寫 ;讀操作有三種
點擊復制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1