數(shù)碼管顯示常用外圍設(shè)備接口電路

上傳人:san****019 文檔編號(hào):22677442 上傳時(shí)間:2021-05-30 格式:PPT 頁數(shù):84 大小:725KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)碼管顯示常用外圍設(shè)備接口電路_第1頁
第1頁 / 共84頁
數(shù)碼管顯示常用外圍設(shè)備接口電路_第2頁
第2頁 / 共84頁
數(shù)碼管顯示常用外圍設(shè)備接口電路_第3頁
第3頁 / 共84頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)碼管顯示常用外圍設(shè)備接口電路》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)碼管顯示常用外圍設(shè)備接口電路(84頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第 9章 常 用 外 圍 設(shè) 備 接 口 電 路本 章 要 點(diǎn) :LED數(shù) 碼 管 及 編 碼 方 式靜 態(tài) 顯 示 方 式 及 其 典 型 應(yīng) 用 電 路動(dòng) 態(tài) 顯 示 方 式 及 其 典 型 應(yīng) 用 電 路虛 擬 I2C總 線 串 行 顯 示 電 路鍵 盤 去 抖 動(dòng) 和 連 接 、 控 制 方 式獨(dú) 立 式 按 鍵 及 其 接 口 電 路矩 陣 式 鍵 盤 及 其 接 口 電 路并 行 A/D ADC0809及 其 接 口 電 路串 行 A/D ADC0832及 其 接 口 電 路I 2C串 行 A/D典 型 應(yīng) 用 電 路DAC0832及 其 接 口 電 路I2C串 行 D/A典 型

2、應(yīng) 用 電 路開 關(guān) 量 驅(qū) 動(dòng) 輸 出 接 口 電 路 9-1 LED數(shù) 碼 管 顯 示 接 口一 、 LED數(shù) 碼 管 LED顯 示 器 的 擴(kuò) 展 (結(jié) 構(gòu) ) LED數(shù) 碼 管 的 結(jié) 構(gòu) : 共 陽 與 共 陰 單 片 機(jī) 系 統(tǒng) 擴(kuò) 展 LED數(shù) 碼 管 時(shí) 多 用 共 陽 LED:共 陽 數(shù) 碼 管 每 個(gè) 段 筆 畫 是 用 低 電 平 (“ 0” )點(diǎn) 亮 的 ,要 求 驅(qū)動(dòng) 功 率 很 小 ; 而 共 陰 數(shù) 碼 管 段 筆 畫 是 用 高 電 平 (“ 0” )點(diǎn) 亮的 , 要 求 驅(qū) 動(dòng) 功 率 較 大 。 通 常 每 個(gè) 段 筆 畫 要 串 一 個(gè) 數(shù) 百 歐 姆 的

3、 降 壓 電 阻 。公 共 陽 極h g f e d c b aa bcdgef h 公 共 陰 極h g f e d c b aa bcdgef hh g f a h g f a高 電 平 點(diǎn) 亮低 電 平 點(diǎn) 亮接 高 電 平 接 地 LED數(shù) 碼 管 的 軟 件 譯 碼八 段 LED數(shù) 碼 管 段 代 碼 編 碼 表 (連 線 不 同 可 有 多 種 表 ):公 共 陽 極 h g f e d c b aa bcdgef h 公 共 陰 極h g f e d c b aa bcdgef hh g f a h g f a高 電 平 點(diǎn) 亮低 電 平 點(diǎn) 亮接 高 電 平 接 地字 形 0

4、1 2 3 4 5 6 7 8 9 黑共 陽 0C0 0F9 0A4 0B0 99 92 82 0F8 80 90 0FF共 陰 3F 06 5B 4F 66 6D 7D 07 7F 6F 00 LED數(shù) 碼 管 分 類 :按 其 內(nèi) 部 結(jié) 構(gòu) 可 分 為 共 陰 型 和 共 陽 型 ; 按 其 外 形 尺 寸 有 多 種 形 式 , 使 用 較 多 的是 0.5和 0.8; 按 顯 示 顏 色 也 有 多 種 形 式 , 主 要 有 紅 色和 綠 色 ; 正 向 壓 降 一 般 為 1.5 2V, 額 定 電 流 為10mA, 最 大 電 流 為 40mA。 靜 態(tài) 顯 示 時(shí) 取 10m

5、A為 宜 , 動(dòng) 態(tài) 掃 描 顯 示 , 可 加 大 脈 沖 電 流 , 但一 般 不 超 過 40mA。 按 亮 度 強(qiáng) 弱 可 分 為 超 亮 、 高 亮 和 普 亮 。 二 、 LED數(shù) 碼 管 編 碼 方 式 表 9-1 共 陰 和 共 陽 LED數(shù) 碼 管 幾 種 八 段 編 碼 表 顯 示數(shù) 字 共 陰 順 序 小 數(shù) 點(diǎn) 暗 共 陰 逆 序 小 數(shù) 點(diǎn) 暗 共 陽 順 序小 數(shù) 點(diǎn) 亮 共 陽 順 序小 數(shù) 點(diǎn) 暗 Dp g f e d c b a 16進(jìn) 制 a b c d e f g Dp 16進(jìn) 制0 0 0 1 1 1 1 1 1 3FH 1 1 1 1 1 1 0 0

6、FCH 40H C0H1 0 0 0 0 0 1 1 0 06H 0 1 1 0 0 0 0 0 60H 79H F9H2 0 1 0 1 1 0 1 1 5BH 1 1 0 1 1 0 1 0 DAH 24H A4H3 0 1 0 0 1 1 1 1 4FH 1 1 1 1 0 0 1 0 F2H 30H B0H4 0 1 1 0 0 1 1 0 66H 0 1 1 0 0 1 1 0 66H 19H 99H5 0 1 1 0 1 1 0 1 6DH 1 0 1 1 0 1 1 0 B6H 12H 92H6 0 1 1 1 1 1 0 1 7DH 1 0 1 1 1 1 1 0 BEH 02

7、H 82H 7 0 0 0 0 0 1 1 1 07H 1 1 1 0 0 0 0 0 E0H 78H F8H8 0 1 1 1 1 1 1 1 7FH 1 1 1 1 1 1 1 0 FEH 00H 80H9 0 1 1 0 1 1 1 1 6FH 1 1 1 1 0 1 1 0 F6H 10H 90H 【 例 9-1】 已 知 顯 示 數(shù) 存 在 內(nèi) RAM 30H( 高 位 ) 、31H中 , 試 將 其 轉(zhuǎn) 換 為 5位 共 陰 字 段 碼 ( 順 序 ) ,存 在 以 30H( 高 位 ) 為 首 址 的 內(nèi) RAM中 。 從 顯 示 數(shù) 中 分 離 出 顯 示 的 每 一 位 數(shù)

8、字 方 法 是 將 顯 示 數(shù) 除 以 十 進(jìn) 制 的 權(quán)顯 示 數(shù) 轉(zhuǎn) 換 為 顯 示 字 段 碼 的 步 驟 : 將 分 離 出 的 顯 示 數(shù) 字 轉(zhuǎn) 換 為 顯 示 字 段 碼 方 法 是 查 表 SPRT: MOV R0,#30H ;置 萬 位 BCD碼 間 址 MOV A,30H ;置 被 除 數(shù) MOV B,31H ; MOV R6,#27H ;置 除 數(shù) 10000 = 2710H MOV R5,#10H ; LCALL SUM ;除 以 10000,萬 位 商 存 30H,余 數(shù) 存 A、 B MOV R6,#03H ;置 除 數(shù) 1000 = 03E8H MOV R5,#0

9、E8H ; INC R0 ;指 向 千 位 商 間 址 (31H) LCALL SUM ;除 以 1000,千 位 商 存 31H,余 數(shù) 存 A、 B MOV R6,#0 ;置 除 數(shù) 100 MOV R5,#100 ; INC R0 ;指 向 百 位 商 間 址 (32H) LCALL SUM ;除 以 100,百 位 商 存 32H,余 數(shù) 存 A(B=0) MOV B,#10 ;置 除 數(shù) 10 DIV AB ;除 以 10 INC R0 ;指 向 十 位 商 間 址 (33H) MOV R0,A ;十 位 商 存 33H XCH A,B ;讀 個(gè) 位 數(shù) INC R0 ;指 向 個(gè)

10、位 間 址 (34H) MOV R0,A ;個(gè) 位 存 34H RET ; 解 : 連 續(xù) 調(diào) 用 下 列 二 個(gè) 子 程 序 即 可 。 分 離 顯 示 數(shù) 字 子 程 序 說 明 : SUM是 16位 除 以 16位 子 程 序 :(A、 B) (R6、 R5)=商 R0,余 數(shù) (A、 B)。 (參 閱 例 4-9) 轉(zhuǎn) 換 顯 示 字 段 碼 子 程 序CHAG: MOV DPTR,#TAB ;置 共 陰 字 段 碼 表 首 址 MOV R0,#30H ;置 顯 示 數(shù) 據(jù) 區(qū) 首 址CGLP: MOV A,R0 ;取 顯 示 數(shù) 字 MOVC A,A+DPTR ;讀 相 應(yīng) 顯 示

11、字 段 碼 MOV R0,A ;存 顯 示 字 段 碼 INC R0 ;指 向 下 一 顯 示 數(shù) 字 CJNE R0,#35H,CGLP ;判 5個(gè) 顯 示 數(shù) 字 轉(zhuǎn) 換 完 否 ?未 完 繼 續(xù) RET ;轉(zhuǎn) 換 完 畢 ,結(jié) 束TAB: DB 3FH,06H,5BH,4FH,66H ;共 陰 字 段 碼 表 DB 6DH,7DH,07H,7FH,6FH ; 三 、 靜 態(tài) 顯 示 方 式 及 其 典 型 應(yīng) 用 電 路 動(dòng) 態(tài) 顯 示 方 式 , 在 某 一 瞬 時(shí) 顯 示 一 位 , 依 次 循 環(huán)掃 描 , 輪 流 顯 示 , 由 于 人 的 視 覺 滯 留 效 應(yīng) , 人 們 看

12、到 的 是 多 位 同 時(shí) 穩(wěn) 定 顯 示 。 特 點(diǎn) : 占 用 I/O端 線 少 , 電 路 較 簡 單 , 編 程 較 復(fù)雜 , CPU要 定 時(shí) 掃 描 刷 新 顯 示 。 一 般 適 用 于 顯 示 位 數(shù)較 多 的 場 合 。LED數(shù) 碼 管 顯 示 分 類 : 靜 態(tài) 顯 示 方 式 和 動(dòng) 態(tài) 顯 示 方 式 。 靜 態(tài) 顯 示 方 式 , 每 一 位 字 段 碼 分 別 從 I/O控 制 口 輸出 , 保 持 不 變 直 至 CPU刷 新 。 特 點(diǎn) : 編 程 較 簡 單 , 但 占 用 I/O口 線 多 , 一 般 適 用于 顯 示 位 數(shù) 較 少 的 場 合 。 LED

13、顯 示 器 的 擴(kuò) 展 (顯 示 方 式 ) LED數(shù) 碼 管 的 顯 示 方 式 : 靜 態(tài) 與 動(dòng) 態(tài)動(dòng) 態(tài) 顯 示 特 點(diǎn) : 有 閃 爍 , 用 元 器 件 少 , 占 I/O線 少 , 必 須 掃 描 , 花 費(fèi) CPU時(shí) 間 ,編 程 復(fù) 雜 。 (有 多 個(gè) LED時(shí) 尤 為 突 出 )靜 態(tài) 顯 示 特 點(diǎn) : 無 閃 爍 , 用 元 器 件 多 , 占 I/O線 多 , 無 須 掃 描 , 節(jié) 省 CPU時(shí) 間 ,編 程 簡 單 。靜 態(tài) 顯 示 : 各 數(shù) 碼 管 在 顯 示 過 程 中 持 續(xù) 得 到 送 顯 信 號(hào) , 與 各 數(shù) 碼 管 接 口的 I/O口 線 是 專

14、 用 的 。動(dòng) 態(tài) 顯 示 : 各 數(shù) 碼 管 在 顯 示 過 程 中 輪 流 得 到 送 顯 信 號(hào) , 與 各 數(shù) 碼 管 接 口的 I/O口 線 是 共 用 的 。 1、 并 行 擴(kuò) 展 靜 態(tài) 顯 示 電 路 【 例 9-2】 按 圖 9-3編 制 顯 示 子 程 序 , 顯 示 數(shù) ( 255) 存 在內(nèi) RAM 30H中 。解 :DIR1: MOV A,30H ;讀 顯 示 數(shù) MOV B,#100 ;置 除 數(shù) DIV AB ;產(chǎn) 生 百 位 顯 示 數(shù) 字 MOVC A,A+DPTR ;讀 百 位 顯 示 符 MOV DPTR,#0DFFFH ;置 74377(百 位 )地 址

15、 MOVX DPTR,A ;輸 出 百 位 顯 示 符 MOV A,B ;讀 余 數(shù) MOV B,#10 ;置 除 數(shù) DIV AB ;產(chǎn) 生 十 位 顯 示 數(shù) 字 MOV DPTR,#TAB ;置 共 陽 字 段 碼 表 首 址 MOVC A,A+DPTR ;讀 十 位 顯 示 符 MOV DPTR,#0BFFFH ;置 74377(十 位 )地 址 MOVX DPTR,A ;輸 出 十 位 顯 示 符 MOV A,B ;讀 個(gè) 位 顯 示 數(shù) 字 MOV DPTR,#TAB ;置 共 陽 字 段 碼 表 首 址 MOVC A,A+DPTR ;讀 個(gè) 位 顯 示 符 MOV DPTR,#7

16、FFFH ;置 74377(個(gè) 位 )地 址 MOVX DPTR,A ;輸 出 個(gè) 位 顯 示 符 RET ;TAB: DB 0C0H,0F9H,0A4H,0B0H,99H;共 陽 字 段 碼 表 DB 92H,82H,0F8H,80H,90H; 2、 串 行 擴(kuò) 展 靜 態(tài) 顯 示 電 路 DIR2: MOV SCON,#00H ;置 串 口 方 式 0 CLR ES ;串 口 禁 中 SETB P1.0 ;“ 與 ” 門 開 ,允 許 TXD發(fā) 移 位 脈 沖 MOV SBUF,30H ;串 行 輸 出 個(gè) 位 顯 示 字 段 碼 JNB TI,$ ;等 待 串 行 發(fā) 送 完 畢 CLR

17、 TI ;清 串 行 中 斷 標(biāo) 志 MOV SBUF,31H ;串 行 輸 出 十 位 顯 示 字 段 碼 JNB TI,$ ;等 待 串 行 發(fā) 送 完 畢 CLR TI ;清 串 行 中 斷 標(biāo) 志 MOV SBUF,32H ;串 行 輸 出 百 位 顯 示 字 段 碼 JNB TI,$ ;等 待 串 行 發(fā) 送 完 畢 CLR TI ;清 串 行 中 斷 標(biāo) 志 CLR P1.0 ;“ 與 ” 門 關(guān) ,禁 止 TXD發(fā) 移 位 脈 沖 RET ;【 例 9-3】 按 圖 9-4編 制 顯 示 子 程 序 , 顯 示 字 段 碼 已 分 別 存在 32H 30H內(nèi) RAM中 。解 :

18、要 求 : 根 據(jù) 上 圖 編 寫 通 過 串 行 口 和 74LS164驅(qū) 動(dòng) 共 陽 LED數(shù) 碼 管 查 表 顯 示 的 子 程 序 。條 件 : 系 統(tǒng) 有 6個(gè) LED數(shù) 碼 管 ,待 顯 數(shù) 據(jù) (00H09H)已 放 在 35H30H單 元 中 (分 別 對(duì) 應(yīng) 十 萬 位 個(gè) 位 ),DSPLY:MOV DPTR, #TABLE ;共 陽 LED數(shù) 碼 管 譯 碼 表 首 址 MOV R0, #30H ;待 顯 數(shù) 據(jù) 緩 沖 區(qū) 的 個(gè) 位 地 址REDO: MOV A, R0 ;通 過 R0實(shí) 現(xiàn) 寄 存 器 間 接 尋 址 MOVC A, A+DPTR ;查 表 MOV

19、SBUF, A ;經(jīng) 串 行 口 發(fā) 送 到 74LS164 JNB TI, $ ;查 詢 送 完 一 個(gè) 字 節(jié) 的 第 8位 ? CLR TI ;為 下 一 字 節(jié) 發(fā) 送 作 準(zhǔn) 備 INC R0 ;R0指 向 下 一 個(gè) 數(shù) 據(jù) 緩 沖 單 元 CJNE R0, #36H, REDO ;判 斷 是 否 發(fā) 完 6個(gè) 數(shù) ? RET ;發(fā) 完 6個(gè) 數(shù) 就 返 回TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;共 陽 LED譯 碼 表 DB 92H, 82H, 0F8H, 80H,90H 3、 BCD碼 輸 出 靜 態(tài) 顯 示 電 路 CD4511是 “ BCD碼

20、七 段 共 陰 譯 碼 /驅(qū) 動(dòng) ” IC; 4511是4線 -7段 鎖 存 /譯 碼 /驅(qū) 動(dòng) 電 路 , 能 將BCD碼 譯 成 7段 顯示 符 輸 出 。 圖 中 :4511 ABCD為 0 9二 進(jìn) 制 數(shù) 輸 入 端 (A是 低 位 ), abcdefg為 顯 示 段 碼 輸 出 端 ,LE為 輸 入 信 號(hào) 鎖 存控 制 (低 電 平 有 效 ),數(shù) 碼 管 為 共 陰 數(shù) 碼 管 。 利 用 4511實(shí) 現(xiàn) 靜 態(tài) 顯 示 與 一 般 靜 態(tài) 顯 示 電 路不 同 , 一 是 節(jié) 省 I 0端 線 , 段 碼 輸 出 只 需 4根 ; 二是 不 需 專 用 驅(qū) 動(dòng) 電 路 , 可

21、 直 接 輸 出 ; 三 是 不 需 譯碼 , 直 接 輸 出 二 進(jìn) 制 數(shù) , 編 程 簡 單 ; 缺 點(diǎn) 是 只 能顯 示 數(shù) 字 , 不 能 顯 示 各 種 符 號(hào) 。 解 : 編 程 如 下 :DIR3: MOV P1,#11100000B ;選 通 個(gè) 位 ORL P1,30H ;輸 出 個(gè) 位 顯 示 數(shù) MOV P1,#11010000B ;選 通 十 位 ORL P1,31H ;輸 出 十 位 顯 示 數(shù) MOV P1,#10110000B ;選 通 百 位 ORL P1,32H ;輸 出 百 位 顯 示 數(shù) RET ;【 例 9-4】 按 圖 9-5試 編 制 顯 示 子

22、程 序 ( 小 數(shù) 點(diǎn) 固定 在 第 二 位 ) , 已 知 顯 示 數(shù) 存 在 內(nèi) RAM 30H 32H中 。 動(dòng) 態(tài) 顯 示 電 路連 結(jié) 形 式 : 顯 示 各 位 的 所 有相 同 字 段 線 連 在 一 起 ,共 8段 , 由 一 個(gè) 8位I/O口 控 制 ; 每 一 位 的 公 共 端( 共 陽 或 共 陰 COM)由 另 一 個(gè) I/O口 控 制 。四 、 動(dòng) 態(tài) 顯 示 方 式及 其 典 型 應(yīng) 用 電 路 LED數(shù) 碼 管 動(dòng) 態(tài) 顯 示 舉 例 P1.5 P1.4P1.3P1.2P1.2P1.0P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

23、 7406 OC門 X 3 上 拉電 阻 14+5VAT89C51 工 作 原 理 : 從 P0口 送 段 代 碼 ,P1口 送 位 選 信 號(hào) 。 段 碼 雖 同 時(shí)到 達(dá) 6個(gè) LED, 但 一 次 僅 一 個(gè) LED被 選 中 。 利 用 “ 視 覺 暫留 ” , 每 送 一 個(gè) 字 符 并 選 中 相 應(yīng) 位 線 , 延 時(shí) 一 會(huì) 兒 ,再 送 /選 下 一 個(gè) 循 環(huán) 掃 描 即 可 。 共 陰 數(shù) 碼 管位選線段代碼 P1.5 P1.4P1.3P1.2P1.2P1.0P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 7406 OC門 X 3 +5VA

24、T89C51位選線段代碼 要 求 : 此 處 為 共 陰 數(shù) 碼 管 , P0口 送 段 代 碼 , P1口 送 位 選 信 號(hào) 。通 過 查 表 實(shí) 現(xiàn) 動(dòng) 態(tài) 顯 示 。條 件 : 待 顯 數(shù) 據(jù) (00H09H)已 放 在 : 7FH7AH單 元 中 (分 別 對(duì)應(yīng) 十 萬 位 個(gè) 位 )說 明 : 由 于 用 了 反 相 驅(qū) 動(dòng) 器 7406, 要 用 共 陽 譯 碼 表 。 共 陰 數(shù) 碼 管上 拉電 阻 14 7406 OC門 X 3 +5V(7FH) (7EH) (7DH) (7CH) (7BH) (7AH)十 萬 萬 位 千 位 百 位 十 位 個(gè) 位數(shù) 據(jù) 緩 沖 區(qū) / 顯

25、 示 緩 沖 區(qū)P0口 送 段代 碼 , P1口 送 位 選信 號(hào) 。待 顯 數(shù) 據(jù)已 經(jīng) 放 在 : 7FH7AH單 元 (分 別對(duì) 應(yīng) 十 萬位 個(gè) 位 )使 用 共 陽譯 碼 表 。 DIR: MOV DPTR, #DSEG ;數(shù) 碼 管 譯 碼 表 首 址 MOV R0, #7AH ;待 顯 緩 沖 區(qū) 個(gè) 位 地 址 MOV R3, #01H ;個(gè) 位 的 位 選 信 號(hào) =01HLD1: MOV A, R0 ;通 過 R0間 接 尋 址 MOVC A, A+DPTR ;查 表 MOV P0, A ;字 段 碼 送 到 P0口 MOV P1, R3 ;字 位 選 擇 送 到 P1口

26、LCALL DELY ;調(diào) 延 時(shí) 1ms子 程 序 INC R0 ;R0 指 向 下 一 字 節(jié) MOV A, R3 JB ACC.5, LD2 ;判 是 否 發(fā) 完 6個(gè) 數(shù) ? RL A ;R1指 向 下 一 個(gè) 位 MOV R3, A ;位 選 信 號(hào) 存 回 R1 SJMP LD1 ;跳 去 再 顯 示 下 一 個(gè) 數(shù)LD2: RET ;發(fā) 完 6個(gè) 數(shù) 就 返 回DSEG: DB 0C0H,0F9H,0A4H,0B0H,99H;共 陽 譯 碼 表 DB 92H, 82H, 0F8H, 80H,90H P0口 送 段代 碼 , P1口 送 位 選信 號(hào) 。待 顯 數(shù) 據(jù)已 經(jīng) 放 在

27、 : 7FH7AH單 元 (分 別對(duì) 應(yīng) 十 萬位 個(gè) 位 )使 用 共 陽譯 碼 表 。 動(dòng) 態(tài) 顯 示 舉 例 (循 環(huán) 顯 示 “ 8” 的 實(shí) 驗(yàn) )實(shí) 驗(yàn) 箱 從 P0口 擴(kuò) 展 了 兩 個(gè) 8位 的 簡 單 I/O口 : 一 個(gè) 送 段 代 碼 (字 形 狀 ), 地 址 是 0DCH; 一 個(gè) 送 位 選 信 號(hào) (字 位 置 ), 地 址 是 0DDH。 ORG 0000H MOV R0,#0DCH ;指 向 字 形 口 MOV A, #80H ;送 “ 8” 的 字 形 代 碼 MOVX R0,A ;輸 出 字 形 代 碼 MOV R1,#0DDH ;指 向 字 位 口 MO

28、V A,#20H ;從 最 高 位 開 始LEDO: MOVX R1,A ;輸 出 字 位 代 碼 ACALL DEYS ;調(diào) 延 時(shí) 子 程 序 RR A ;右 移 一 位 SJMP LEDO ;循 環(huán) 顯 示 “ 8” 1、 共 陰 型 8位 動(dòng) 態(tài) 顯 示 電 路 DIR4:MOV R2,#10 ;置 循 環(huán) 掃 描 次 數(shù) MOV DPTR,#7FFFH ;置 74377口 地 址DLP1:ANL P1,#11111000B ;第 0位 先 顯 示 MOV R0,#30H ;置 顯 示 字 段 碼 首 址DLP2:MOV A,R0 ;讀 顯 示 字 段 碼 MOVX DPTR,A ;輸

29、 出 顯 示 字 段 碼 LCALL DY2ms ;調(diào) 用 延 時(shí) 2ms子 程 序 (參 閱 例 4.13) INC R0 ;指 向 下 一 位 字 段 碼 INC P1 ;選 通 下 一 位 顯 示 CJNE R0,#38H,DLP2 ;判 8位 掃 描 顯 示 完 否 ?未 完 繼 續(xù) DJNZ R2,DLP1 ;8位 掃 描 顯 示 完 畢 ,判 10次 循 環(huán) 完 否 ? CLR A ;10次 循 環(huán) 完 畢 ,顯 示 暗 MOVX DPTR,A ; RET ;子 程 序 返 回【 例 9-5】 按 圖 9-7, 試 編 制 循 環(huán) 掃 描 ( 10次 ) 顯 示 子 程 序 , 已

30、知 顯 示 字 段 碼 存 在 以 30H( 低 位 ) 為 首 址 的 8字 節(jié) 內(nèi) RAM中 。解 : 編 程 如 下 : 2、 共 陽 型 3位 動(dòng) 態(tài) 顯 示 電 路 DIR5: MOV DPTR,#0BFFFH ;置 74377地 址 MOV R2,#100 ;置 循 環(huán) 顯 示 次 數(shù)DIR50: SETB P1.2 ;百 位 停 顯 示 MOV A,40H ;取 個(gè) 位 字 段 碼 MOVX DPTR,A ;輸 出 個(gè) 位 字 段 碼 CLR P1.0 ;個(gè) 位 顯 示 LCALL DY2ms ;調(diào) 用 延 時(shí) 2ms子 程 序 (參 閱 例 4.13)DIR51: SETB P

31、1.0 ;個(gè) 位 停 顯 示 MOV A,41H ;取 十 位 字 段 碼 MOVX DPTR,A ;輸 出 十 位 字 段 碼 CLR P1.1 ;十 位 顯 示 LCALL DY2ms ;延 時(shí) 2msDIR52: SETB P1.1 ;十 位 停 顯 示 MOV A,42H ;取 百 位 字 段 碼 MOVX DPTR,A ;輸 出 百 位 字 段 碼 CLR P1.2 ;百 位 顯 示 LCALL DY2ms ;延 時(shí) 2ms DJNZ R2,DIR50 ;判 循 環(huán) 顯 示 結(jié) 束 否 ?未 完 繼 續(xù) ORL P1,#00000111B ;3位 滅 顯 示 RET ; 【 例 9-

32、6】 根 據(jù) 圖 9-8電 路 , 試 編 制 3位 動(dòng) 態(tài) 掃 描 顯 示 程 序 (循 環(huán) 100次 ),已 知 顯 示 字 段 碼 存 在 以 40H(低 位 )為 首 址 的 3字 節(jié) 內(nèi) RAM中 。解 : 編 程 如 下 : 1、 SAA1064引 腳 功 能 五 、 虛 擬 I2C總 線 串 行 顯 示 電 路 VDD、 VEE: 電 源 、 接 地 端 。 電 源 4.5 15V; P1 P16: 段 驅(qū) 動(dòng) 輸 出 端 。 分 為 兩 個(gè) 8位 口 :P1 P8; P9 P16。 P8、 P16為 高 位 。 口 鎖 存 器 具 有 反 相 功能 , 置 1時(shí) , 端 口 輸

33、 出 0。 MX1、 MX2: 位 碼 驅(qū) 動(dòng) 端 。 靜 態(tài) 顯 示 驅(qū) 動(dòng) 時(shí) , 一 片SAA1064可 驅(qū) 動(dòng) 二 位 LED數(shù) 碼 管 ; 動(dòng) 態(tài) 顯 示 驅(qū) 動(dòng) 時(shí) , 按 圖 9-10連 接 方 式 , 一 片 SAA1064可 驅(qū) 動(dòng) 四 位 LED數(shù) 碼 管 ; SDA、 SCL: I2C總 線 數(shù) 據(jù) 端 、 時(shí) 鐘 端 ; CEXT: 時(shí) 鐘 振 蕩 器 外 接 電 容 , 典 型 值 2700pF ADR: 地 址 引 腳 端 。 SAA1064引 腳 地 址 A1、 A0采 用 ADR模擬 電 壓 比 較 編 址 。 當(dāng) ADR引 腳 電 平 為 0、 3VDD/8,

34、 5VDD/8、 VDD時(shí) , 相 應(yīng) 引 腳 地 址 A2、 A1、 A0 分 別 為 000、 001、 010、 011; 2、 硬 件 電 路 設(shè) 計(jì) 片 內(nèi) 寄 存 器 符 號(hào) COM data1 data2 data3 data4裝 載 內(nèi) 容 控 制 命 令 顯 示 段 碼 1 顯 示 段 碼 2 顯 示 段 碼 3 顯 示 段 碼 4片 內(nèi) 地 址 00H 01H 02H 03H 04H3、 片 內(nèi) 可 編 程 功 能 控 制 命 令 COMCOM D7 D6 D5 D4 D3 D2 D1 D000H C6 C5 C4 C3 C2 C1 C0CO: 靜 動(dòng) 態(tài) 控 制 , C0

35、=1, 動(dòng) 態(tài) 顯 示 , 動(dòng) 態(tài) 顯 示 時(shí) , data1、data2輪 流 從 P8 P1輸 出 , data3、 data4輪 流 從 P16 P9輸 出 ;C1: 顯 示 位 1、 3亮 暗 選 擇 , C1=1, 選 擇 亮 ;C2: 顯 示 位 2、 4亮 暗 選 擇 , C2=1, 選 擇 亮 ;C3: 測 試 位 , C3=1, 所 有 段 亮 ;C4、 C5、 C6: 驅(qū) 動(dòng) 電 流 控 制 位 , C4、 C5、 C6分 別 為 1時(shí) , 驅(qū) 動(dòng)電 流 分 別 為 3mA、 6mA、 12mA; C4、 C5、 C6全 為 1時(shí) , 驅(qū) 動(dòng) 電 流最 大 , 可 達(dá) 21

36、mA。 寫 數(shù) 據(jù) 操 作 格 式 S SLAW A SADR A COM A data1 A data2 A data3 A data4 A P 紅 色 部 分 由 80C51發(fā) 送 , SAA1064接 收 ; 黑 色 部 分 由 SAA1064發(fā) 送 , 80C51接 收 。SLAW為 寫 SAA1064尋 址 字 節(jié) , 按 圖 9-10所 示 連 接 電 路 :SAA1064( 1) SLAW=01110000B; SAA1064( 2) SLAW=01110110B。 其 中 0111( D7 4) 為 SAA1064器 件 地 址 , D3 1為 A2A1A0尋 址 字 節(jié) ,

37、末 位 D0為 R/W;SADR為 片 內(nèi) 寄 存 器 地 址 ;COM為 控 制 命 令 。 解 :VSAA: MOV MTD,#00H ;置 SAA1064控 制 命 令 寄 存 器 COM片 內(nèi) 子 地 址 MOV 31H,#01000111B;置 控 制 命 令 字 ,動(dòng) 態(tài) 顯 示 ,驅(qū) 動(dòng) 電 流 12mA MOV NUMB,#6 ;置 發(fā) 送 數(shù) 據(jù) 數(shù) :SADR+COM+data1 4=6SAA1: MOV RO,#51H ;將 51H 54H顯 示 符 數(shù) 據(jù) 移 至 32H 35H LCALL MOVB ; MOV SLA,#01110000B;置 SAA1064(1)寫

38、 尋 址 字 節(jié) SLAW LCALL WRNB ;發(fā) 送 給 SAA1064(1)SAA2: MOV R0,#55H ;將 55H 58H顯 示 符 數(shù) 據(jù) 移 至 32H 35H LCALL MOVB ; MOV SLA,#01110110B;置 SAA1064(2)尋 址 字 節(jié) SLAW LCALL WRNB ;發(fā) 送 給 SAA1064(2) RET ;MOVB: MOV R1,#32H ;顯 示 符 數(shù) 據(jù) 移 至 32H 35H子 程 序MOVB1:MOV A,R0 ;讀 出 MOV R1,A ;存 入 INC RO ;指 向 下 一 讀 出 單 元 INC R1 ;指 向 下

39、一 存 入 單 元 CJNE R1,#36H,MOVB1 ;判 4個(gè) 數(shù) 據(jù) 移 完 否 ?未 完 繼 續(xù) RET ; 【 例 9-7】 已 知 8位 顯 示 符 (共 陰 編 碼 )已 依 次 存 入 內(nèi) RAM 51H 58H中 ,試 按 圖 9-10編 程 將 其 輸 入 SAA1064(1),(2)動(dòng) 態(tài) 顯 示 ,驅(qū) 動(dòng) 電 流 為 12mA。 設(shè) VIIC軟 件 包 已裝 入 ROM,VSDA.VSCL.SLA.NUMB.MTD.MRD均 已 按 8.3.2軟 件 包 小 結(jié) 中 協(xié) 議 定 義 。4、 程 序 設(shè) 計(jì) 1、 按 鍵 開 關(guān) 去 抖 動(dòng) 問 題 9-2 鍵 盤 接

40、口一 、 鍵 盤 接 口 概 述鍵 盤 的 抖 動(dòng) 時(shí) 間 一 般 為 5 10ms, 抖 動(dòng) 現(xiàn) 象 會(huì) 引 起 CPU對(duì) 一 次 鍵 操 作 進(jìn) 行 多 次 處 理 , 從 而 可 能 產(chǎn) 生 錯(cuò) 誤 。 硬 件 去 抖 動(dòng) 消 除 抖 動(dòng) 不 良 后 果 的 方 法 :其 中 RC濾 波 電 路 去 抖 動(dòng) 電 路 簡 單 實(shí) 用 , 效 果 較 好 。 軟 件 去 抖 動(dòng) 檢 測 到 按 鍵 按 下 后 , 執(zhí) 行 延 時(shí) 10ms子 程 序 后 再 確 認(rèn) 該 鍵是 否 確 實(shí) 按 下 , 消 除 抖 動(dòng) 影 響 。 2、 按 鍵 連 接 方 式 獨(dú) 立 式 按 鍵 獨(dú) 立 式 按

41、鍵 是 每 個(gè) 按 鍵 占 用 一 根 I/O端 線 。 特 點(diǎn) : 各 按 鍵 相 互 獨(dú) 立 , 電 路 配 置 靈 活 ; 按 鍵 數(shù) 量 較 多 時(shí) , I/O端 線 耗 費(fèi) 較 多 , 電 路 結(jié) 構(gòu) 繁 雜 ; 軟 件 結(jié) 構(gòu) 簡 單 。 適 用 于 按 鍵 數(shù) 量 較 少 的 場 合 。 矩 陣 式 鍵 盤 I/O端 線 分 為 行 線 和 列 線 , 按 鍵 跨 接 在 行 線 和 列 線 上 , 按鍵 按 下 時(shí) , 行 線 與 列 線 發(fā) 生 短 路 。 特 點(diǎn) : 占 用 I/O端 線 較 少 ; 軟 件 結(jié) 構(gòu) 教 復(fù) 雜 。 適 用 于 按 鍵 較 多 的 場 合 。

42、 3、 鍵 盤 掃 描 控 制 方 式 程 序 控 制 掃 描 方 式 鍵 處 理 程 序 固 定 在 主 程 序 的 某 個(gè) 程 序 段 。 特 點(diǎn) : 對(duì) CPU工 作 影 響 小 , 但 應(yīng) 考 慮 鍵 盤 處 理 程 序 的 運(yùn) 行 間 隔周 期 不 能 太 長 , 否 則 會(huì) 影 響 對(duì) 鍵 輸 入 響 應(yīng) 的 及 時(shí) 性 。 定 時(shí) 控 制 掃 描 方 式 利 用 定 時(shí) /計(jì) 數(shù) 器 每 隔 一 段 時(shí) 間 產(chǎn) 生 定 時(shí) 中 斷 , CPU響 應(yīng)中 斷 后 對(duì) 鍵 盤 進(jìn) 行 掃 描 。 特 點(diǎn) : 與 程 序 控 制 掃 描 方 式 的 區(qū) 別 是 , 在 掃 描 間 隔 時(shí)

43、 間 內(nèi) ,前 者 用 CPU工 作 程 序 填 充 , 后 者 用 定 時(shí) /計(jì) 數(shù) 器 定 時(shí) 控 制 。 定 時(shí)控 制 掃 描 方 式 也 應(yīng) 考 慮 定 時(shí) 時(shí) 間 不 能 太 長 , 否 則 會(huì) 影 響 對(duì) 鍵 輸入 響 應(yīng) 的 及 時(shí) 性 。 中 斷 控 制 方 式 中 斷 控 制 方 式 是 利 用 外 部 中 斷 源 , 響 應(yīng) 鍵 輸 入 信 號(hào) 。 特 點(diǎn) : 克 服 了 前 兩 種 控 制 方 式 可 能 產(chǎn) 生 的 空 掃 描 和 不 能 及 時(shí) 響 應(yīng) 鍵 輸 入 的 缺 點(diǎn) , 既 能 及 時(shí) 處 理 鍵 輸 入 , 又 能 提 高 CPU運(yùn) 行 效率 , 但 要

44、占 用 一 個(gè) 寶 貴 的 中 斷 資 源 。 1、 按 鍵 直 接 與 I/O口 連 接 二 、 獨(dú) 立 式 按 鍵 及 其 接 口 電 路 【 例 9-8】 按 圖 9-13(a)、 (b), 試 分 別 編 制 按 鍵 掃 描 子 程 序 。解 : 按 圖 9-13(a)編 程 如 下 : KEYA:ORL P1,#07H ;置 P1.0 P1.2為 輸 入 態(tài) MOV A,P1 ;讀 鍵 值 ,鍵 閉 合 相 應(yīng) 位 為 0 CPL A ;取 反 ,鍵 閉 合 相 應(yīng) 位 為 1 ANL A,#00000111B;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GR

45、ET ;全 0,無 鍵 閉 合 ,返 回 LCALL DY10ms ;非 全 0,有 鍵 閉 合 ,延 時(shí) 10ms,軟 件 去 抖 動(dòng) MOV A,P1 ;重 讀 鍵 值 ,鍵 閉 合 相 應(yīng) 位 為 0 CPL A ;取 反 ,鍵 閉 合 相 應(yīng) 位 為 1 ANL A,#00000111B;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GRET ;全 0,無 鍵 閉 合 ,返 回 ;非 全 0,確 認(rèn) 有 鍵 閉 合 JB Acc.0,KA0 ;轉(zhuǎn) 0#鍵 功 能 程 序 JB Acc.1,KA1 ;轉(zhuǎn) 1#鍵 功 能 程 序 JB Acc.2,KA2 ;轉(zhuǎn) 2#鍵

46、 功 能 程 序GRET:RET KA0: LCALL WORK0 ;執(zhí) 行 0#鍵 功 能 子 程 序 RETKA1: LCALL WORK1 ;執(zhí) 行 1#鍵 功 能 子 程 序 RETKA2: LCALL WORK2 ;執(zhí) 行 2#鍵 功 能 子 程 序 RET 按 圖 9-13(b)編 程 如 下 : KEYB:ORL P1,#07H ;置 P1.0 P1.2為 輸 入 態(tài) MOV A,P1 ;讀 鍵 值 ,鍵 閉 合 相 應(yīng) 位 為 1 ANL A,#00000111B ;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GRET ;全 0,無 鍵 閉 合 ,返 回

47、 LCALL DY10ms ;非 全 0,有 鍵 閉 合 ,延 時(shí) 10ms,軟 件 去 抖 動(dòng) MOV A,P1 ;重 讀 鍵 值 ,鍵 閉 合 相 應(yīng) 位 為 1 ANL A,#00000111B ;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GRET ;全 0,無 鍵 閉 合 ,返 回 ;非 全 0,確 認(rèn) 有 鍵 閉 合 JB Acc.0,KB0 ;轉(zhuǎn) 0#鍵 功 能 程 序 JB Acc.1,KB1 ;轉(zhuǎn) 1#鍵 功 能 程 序 JB Acc.2,KB2 ;轉(zhuǎn) 2#鍵 功 能 程 序GRET:RETKB0: LCALL WORK0 ;執(zhí) 行 0#鍵 功 能 子

48、 程 序 RETKB1: LCALL WORK1 ;執(zhí) 行 1#鍵 功 能 子 程 序 RET KB2: LCALL WORK2 ;執(zhí) 行 2#鍵 功 能 子 程 序 RET 按 鍵 與 并 行 擴(kuò) 展 I/O口 連 接 2、 按 鍵 與 擴(kuò) 展 I/O口 連 接 【 例 9-9】 按 圖 9-14, 試 編 制 按 鍵 掃 描 子 程 序 , 將 鍵 信 號(hào) 存入 內(nèi) RAM 30H。解 : 編 程 如 下 :KEY99: MOV DPTR,#7FFFH ;置 74373口 地 址 MOVX A,DPTR ;輸 入 鍵 信 號(hào) (“ 0” 有 效 ) MOV 30H,A ;存 鍵 信 號(hào) 數(shù)

49、 據(jù) RET ;參 閱 8.2.4, 圖 8-6, 【 例 8-2】 。 按 鍵 與 串 行 擴(kuò) 展 I/O口 連 接 三 、 矩 陣 式 鍵 盤 及 其 接 口 電 路 【 例 9-10】 按 圖 9-15及 圖 9-16, 試 編 制 矩 陣 式 鍵 盤 掃 描程 序 。解 : KEY: MOV P1,#0F0H ;行 線 置 低 電 平 ,列 線 置 輸 入 態(tài)KEY0: MOV A,P1 ;讀 列 線 數(shù) 據(jù) CPL A ;數(shù) 據(jù) 取 反 ,“ 1” 有 效 ANL A,#0F0H ;屏 蔽 行 線 ,保 留 列 線 數(shù) 據(jù) MOV R1,A ;存 列 線 數(shù) 據(jù) (R1高 4位 )

50、JZ GRET ;全 0,無 鍵 按 下 ,返 回KEY1: MOV P1,#0FH ;行 線 置 輸 入 態(tài) ,列 線 置 低 電 平 MOV A, P1 ;讀 行 線 數(shù) 據(jù) CPL A ;數(shù) 據(jù) 取 反 ,“ 1” 有 效 ANL A, #0FH ;屏 蔽 列 線 ,保 留 行 線 數(shù) 據(jù) MOV R2,A ;存 行 線 數(shù) 據(jù) (R2低 4位 ) JZ GRET ;全 0,無 鍵 按 下 ,返 回 JBC F0,WAIT ;已 有 消 抖 標(biāo) 志 ,轉(zhuǎn) SETB F0 ;無 消 抖 標(biāo) 志 ,置 消 抖 標(biāo) 志 LCALL DY10ms ;調(diào) 用 10ms延 時(shí) 子 程 序 (參 閱

51、例 4.13),消 抖 SJMP KEY0 ;重 讀 行 線 列 線 數(shù) 據(jù)GRET: RET ; WAIT: MOV A,P1 ;等 待 按 鍵 釋 放 CPL A ; ANL A,#0FH ; JNZ WAIT ;按 鍵 未 釋 放 ,繼 續(xù) 等 待KEY2: MOV A,R1 ;取 列 線 數(shù) 據(jù) (高 4位 ) MOV R1,#03H ;取 列 線 編 號(hào) 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù) CLR C ;KEY3: RLC A ;依 次 左 移 入 C中 JC KEY4 ;C=1,該 列 有 鍵 按 下 ,(列 線 編 號(hào) 存 R1) DEC R1 ;C=0,無 鍵 按

52、 下 ,修 正 列 編 號(hào) DJNZ R3,KEY3 ;判 循 環(huán) 結(jié) 束 否 ?未 結(jié) 束 繼 續(xù) 尋 找 有 鍵 按 下 的 列 線KEY4: MOV A,R2 ;取 行 線 數(shù) 據(jù) (低 4位 ) MOV R2,#00H ;置 行 線 編 號(hào) 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù) CLR C ;KEY5: RRC A ;依 次 右 移 入 C中 JC KEY6 ;C=1,該 行 有 鍵 按 下 ,(行 線 編 號(hào) 存 R2) INC R2 ;C=0,無 鍵 按 下 ,修 正 行 線 編 號(hào) DJNZ R3,KEY5 ;判 循 環(huán) 結(jié) 束 否 ?未 結(jié) 束 繼 續(xù) 尋 找 有

53、鍵 按 下 的 行 線 KEY6: MOV A,R2 ;取 行 線 編 號(hào) CLR C ; RLC A ;行 編 號(hào) 2 RLC A ;行 編 號(hào) 4 ADD A,R1 ;行 編 號(hào) 4+列 編 號(hào) =按 鍵 編 號(hào)KEY7: CLR C ; RLC A ;按 鍵 編 號(hào) 2 RLC A ;按 鍵 編 號(hào) 4(LCALL+ RET共 4字 節(jié) ) MOV DPTR,#TABJ ; JMP A+DPTR ;散 轉(zhuǎn) ,執(zhí) 行 相 應(yīng) 鍵 功 能 子 程 序TABJ: LCALL WORK0 ;調(diào) 用 執(zhí) 行 0#鍵 功 能 子 程 序 RET ; LCALL WORK1 ;調(diào) 用 執(zhí) 行 1#鍵

54、功 能 子 程 序 RET ; LCALL WORK15 ;調(diào) 用 執(zhí) 行 15#鍵 功 能 子 程 序 RET ; 【 例 9-11】 按 圖 9-17, 試 編 制 中 斷 方 式 鍵 盤 掃 描程 序 ,將 鍵 盤 序 號(hào) 存 入 內(nèi) RAM 30H。 ORG 0000H ;復(fù) 位 地 址 LJMP STAT ;轉(zhuǎn) 初 始 化 ORG 0003H ;中 斷 入 口 地 址 LJMP PINT0 ;轉(zhuǎn) 中 斷 服 務(wù) 程 序 ORG 0100H ;初 始 化 程 序 首 地 址STAT: MOV SP,#60H ;置 堆 棧 指 針 SETB IT0 ;置 為 邊 沿 觸 發(fā) 方 式 MO

55、V IP,#00000001B ;置 為 高 優(yōu) 先 級(jí) 中 斷 MOV P1,#00001111B ;置 P1.0 P1.3置 為 輸 入 態(tài) ,置 P1.4 P1.7輸 出 0 SETB EA ;CPU開 中 SETB EX0 ;開 中 LJMP MAIN ;轉(zhuǎn) 主 程 序 ,并 等 待 有 鍵 按 下 時(shí) 中 斷解 : OGR 2000H ;中 斷 服 務(wù) 程 序 首 地 址PINT0: PUSH Acc ;保 護(hù) 現(xiàn) 場 PUSH PSW ; MOV A,P1 ;讀 行 線 (P1.0 P1.3)數(shù) 據(jù) CPL A ;數(shù) 據(jù) 取 反 ,“ 1” 有 效 ANL A, #0FH ;屏 蔽

56、 列 線 ,保 留 行 線 數(shù) 據(jù) MOV R2,A ;存 行 線 (P1.0 P1.3)數(shù) 據(jù) (R2低 4位 ) MOV P1,#0F0H ;行 線 置 低 電 平 ,列 線 置 輸 入 態(tài) MOV A,P1 ;讀 列 線 (P1.4 P1.7)數(shù) 據(jù) CPL A ;數(shù) 據(jù) 取 反 ,“ 1” 有 效 ANL A,#0F0H ;屏 蔽 行 線 ,保 留 列 線 數(shù) 據(jù) (A中 高 4位 ) MOV R1,#03H ;取 列 線 編 號(hào) 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù) CLR C ; PINT01:RLC A ;依 次 左 移 入 C中 JC PINT02 ;C=1,該 列

57、 有 鍵 按 下 ,(列 線 編 號(hào) 存 R1) DEC R1 ;C=0,無 鍵 按 下 ,修 正 列 編 號(hào) DJNZ R3,PINT01 ;判 循 環(huán) 結(jié) 束 否 ?未 結(jié) 束 繼 續(xù) 尋 找 有 鍵 按 下 列 線 PINT02:MOV A,R2 ;取 行 線 數(shù) 據(jù) (低 4位 ) MOV R2,#00H ;置 行 線 編 號(hào) 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù)PINT03:RRC A ;依 次 右 移 入 C中 JC PINT04 ;C=1,該 行 有 鍵 按 下 ,(行 線 編 號(hào) 存 R2) INC R2 ;C=0,無 鍵 按 下 ,修 正 行 線 編 號(hào) DJNZ

58、 R3,PINT03 ;判 循 環(huán) 結(jié) 束 否 ?未 結(jié) 束 繼 續(xù) 尋 找 有 鍵 按 下 行 線PINT04:MOV A,R2 ;取 行 線 編 號(hào) CLR C ; RLC A ;行 編 號(hào) 2 RLC A ;行 編 號(hào) 4 ADD A,R1 ;行 編 號(hào) 4+列 編 號(hào) =按 鍵 編 號(hào) MOV 30H,A ;存 按 鍵 編 號(hào) POP PSW ; POP Acc ; RETI ; 9-3 A/D轉(zhuǎn) 換 接 口 電 路一 、 A/D轉(zhuǎn) 換 的 基 本 概 念 A/D轉(zhuǎn) 換 的 功 能 是 把 模 擬 量 電 壓 轉(zhuǎn) 換 為 N位 數(shù) 字量 。 設(shè) D為 N位 二 進(jìn) 制 數(shù) 字 量 ,

59、UA為 電 壓 模 擬 量 ,UREF為 參 考 電 壓 , 無 論 A/D或 D/A, 其 轉(zhuǎn) 換 關(guān) 系 為 :UA = D UREF / 2N ( 其 中 : D=D 0 20+D1 21+ +DN-1 2N-1) 1、 A/D轉(zhuǎn) 換 器 的 主 要 性 能 指 標(biāo) : 轉(zhuǎn) 換 精 度 。 轉(zhuǎn) 換 精 度 通 常 用 分 辨 率 和 量 化 誤 差 來 描 述 。 分 辨 率 。 分 辨 率 = UREF / 2N 表 示 輸 出 數(shù) 字 量 變 化 一 個(gè) 相 鄰 數(shù) 碼 所 需 輸 入 模 擬 電 壓 的變 化 量 。 N為 A/D轉(zhuǎn) 換 的 位 數(shù) , N越 大 , 分 辨 率 越

60、 高 , 習(xí) 慣 上 分辨 率 常 以 A/D轉(zhuǎn) 換 位 數(shù) N表 示 。 量 化 誤 差 。 量 化 誤 差 是 指 零 點(diǎn) 和 滿 度 校 準(zhǔn) 后 , 在 整 個(gè) 轉(zhuǎn)換 范 圍 內(nèi) 的 最 大 誤 差 。 轉(zhuǎn) 換 時(shí) 間 。 指 A/D轉(zhuǎn) 換 器 完 成 一 次 A/D轉(zhuǎn) 換 所 需 時(shí) 間 。 轉(zhuǎn)換 時(shí) 間 越 短 , 適 應(yīng) 輸 入 信 號(hào) 快 速 變 化 能 力 越 強(qiáng) 。2、 A/D轉(zhuǎn) 換 器 分 類 A/D轉(zhuǎn) 換 器 分 類 :按 轉(zhuǎn) 換 原 理 形 式 可 分 為 逐 次 逼 近 式 、 雙 積 分 式 和 V/F變 換 式 ;按 信 號(hào) 傳 輸 形 式 可 分 為 并 行 A

61、/D和 串 行 A/D。 二 、 并 行 A/D ADC0809及 其 接 口 電 路 1、 引 腳 功 能 和 典 型 連 接 電 路 IN0 IN7: 8路 模 擬 信 號(hào) 輸 入 端 。 C、 B、 A: 8路 模 擬 信 號(hào) 轉(zhuǎn) 換 選 擇 端 。 與 低 8位 地 址 中 A0 A2連 接 。 由 A0 A2地 址 000 111選 擇 IN0 IN7八 路A/D通 道 。 CLK: 外 部 時(shí) 鐘 輸 入 端 。 時(shí) 鐘 頻 率 高 , A/D轉(zhuǎn) 換 速 度 快 。 允 許 范 圍 為 10 1280KHz 。 通 常 由 80C51 ALE端 直 接 或 分 頻 后 與 0809

62、 CLK端 相 連 接 。 D0 D7: 數(shù) 字 量 輸 出 端 。 OE: A/D轉(zhuǎn) 換 結(jié) 果 輸 出 允 許 控 制 端 。 OE=1, 允 許 將 A/D轉(zhuǎn) 換 結(jié) 果 從 D0 D7端 輸 出 。 通 常 由 80C51的 端 與 0809片選 端 ( 例 如 P2.0) 通 過 或 非 門 與 0809 OE端 相 連 接 。 ALE: 地 址 鎖 存 允 許 信 號(hào) 輸 入 端 。 0809 ALE信 號(hào) 有 效 時(shí) 將 當(dāng) 前 轉(zhuǎn) 換 的 通 道 地 址 鎖 存 。 START: 啟 動(dòng) A/D轉(zhuǎn) 換 信 號(hào) 輸 入 端 。 當(dāng) START端 輸 入 一 個(gè) 正 脈 沖 時(shí) ,

63、 立 即 啟 動(dòng) 0809進(jìn) 行 A/D轉(zhuǎn) 換 。 START端 與ALE端 連 在 一 起 , 由 80C51WR與 0809片 選 端 ( 例 如 P2.0) 通 過 或 非 門 相 連 。 EOC: A/D轉(zhuǎn) 換 結(jié) 束 信 號(hào) 輸 出 端 , 高 電 平 有 效 。 UREF( +) 、 UREF( -) : 正 負(fù) 基 準(zhǔn) 電 壓 輸 入 端 。 Vcc: 正 電 源 電 壓 ( +5V) 。 GND: 接 地 端 。 2、 ADC 0809應(yīng) 用 實(shí) 例 中 斷 方 式【 例 9-12】 按 圖 9-20, 用 中 斷 方 式 對(duì) 8路 模 擬 信 號(hào) 依 次 A/D轉(zhuǎn) 換一 次

64、, 并 把 結(jié) 果 存 入 以 30H為 首 址 的 內(nèi) RAM中 , 試 編 制 程 序 。解 : ORG 0000H ;復(fù) 位 地 址 LJMP STAT ;轉(zhuǎn) 初 始 化 程 序 ORG 0013H ;中 斷 服 務(wù) 子 程 序 入 口 地 址 LJMP PINT1 ;中 斷 ,轉(zhuǎn) 中 斷 服 務(wù) 子 程 序 ; ORG 0100H ;初 始 化 程 序 首 地 址STAT: MOV R1,#30H ;置 數(shù) 據(jù) 區(qū) 首 址 MOV R7,#8 ;置 通 道 數(shù) SETB IT1 ;置 邊 沿 觸 發(fā) 方 式 SETB EX1 ;開 中 SETB EA ;CPU開 中 MOV DPTR,

65、#0FEF8H ;置 0809通 道 0地 址 MOVX DPTR,A ;啟 動(dòng) 0通 道 A/D LJMP MAIN ;轉(zhuǎn) 主 程 序 ,并 等 待 A/D中 斷 ORG 0200H ;中 斷 服 務(wù) 子 程 序 首 地 址 PINT1: PUSH Acc ;保 護(hù) 現(xiàn) 場 PUSH PSW ; MOVX A,DPTR ;讀 A/D值 MOV R1,A ;存 A/D值 INC DPTR ;修 正 通 道 地 址 INC R1 ;修 正 數(shù) 據(jù) 區(qū) 地 址 MOVX DPTR,A ;啟 動(dòng) 下 一 通 道 A/D DJNZ R7,GORETI ;判 8路 采 集 完 否 ?未 完 繼 續(xù) CL

66、R EX1 ;8路 采 集 已 完 ,關(guān) 中GORETI:POP PSW ;恢 復(fù) 現(xiàn) 場 POP Acc ; RETI ;中 斷 返 回 查 詢 方 式 工 作 在 查 詢 方 式 時(shí) ,0809 EOC端 可 不 必 通 過 反 相 器 與 或 相 連 ,直 接 與 80C51 P1口 或 P3口 中 任 一 端 線 相 連 ?!?例 9-13】 圖 9-20中 , 用 P1.0直 接 與 0809 EOC端 相 連 , 試 用 查詢 方 式 編 制 程 序 , 對(duì) 8路 模 擬 信 號(hào) 依 次 A/D轉(zhuǎn) 換 一 次 , 并 把 結(jié) 果存 入 以 40H為 首 址 的 內(nèi) RAM中 。解 :MAIN: MOV R1,#40H ;置 數(shù) 據(jù) 區(qū) 首 址 MOV R7,#8 ;置 通 道 數(shù) SETB P1.0 ;置 P1.0輸 入 態(tài) MOV DPTR,#0FEF8H ;置 0809通 道 0地 址LOOP: MOVX DPTR,A ;啟 動(dòng) A/D JNB P1.0,$ ;查 詢 A/D轉(zhuǎn) 換 結(jié) 束 否 ? 未 完 繼 續(xù) 查 詢 等 待 MOVX A,DPTR ;A/D已 結(jié)

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!