數(shù)碼管顯示常用外圍設備接口電路
《數(shù)碼管顯示常用外圍設備接口電路》由會員分享,可在線閱讀,更多相關《數(shù)碼管顯示常用外圍設備接口電路(84頁珍藏版)》請在裝配圖網上搜索。
1、第 9章 常 用 外 圍 設 備 接 口 電 路本 章 要 點 :LED數(shù) 碼 管 及 編 碼 方 式靜 態(tài) 顯 示 方 式 及 其 典 型 應 用 電 路動 態(tài) 顯 示 方 式 及 其 典 型 應 用 電 路虛 擬 I2C總 線 串 行 顯 示 電 路鍵 盤 去 抖 動 和 連 接 、 控 制 方 式獨 立 式 按 鍵 及 其 接 口 電 路矩 陣 式 鍵 盤 及 其 接 口 電 路并 行 A/D ADC0809及 其 接 口 電 路串 行 A/D ADC0832及 其 接 口 電 路I 2C串 行 A/D典 型 應 用 電 路DAC0832及 其 接 口 電 路I2C串 行 D/A典 型
2、應 用 電 路開 關 量 驅 動 輸 出 接 口 電 路 9-1 LED數(shù) 碼 管 顯 示 接 口一 、 LED數(shù) 碼 管 LED顯 示 器 的 擴 展 (結 構 ) LED數(shù) 碼 管 的 結 構 : 共 陽 與 共 陰 單 片 機 系 統(tǒng) 擴 展 LED數(shù) 碼 管 時 多 用 共 陽 LED:共 陽 數(shù) 碼 管 每 個 段 筆 畫 是 用 低 電 平 (“ 0” )點 亮 的 ,要 求 驅動 功 率 很 小 ; 而 共 陰 數(shù) 碼 管 段 筆 畫 是 用 高 電 平 (“ 0” )點 亮的 , 要 求 驅 動 功 率 較 大 。 通 常 每 個 段 筆 畫 要 串 一 個 數(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高 電 平 點 亮低 電 平 點 亮接 高 電 平 接 地 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高 電 平 點 亮低 電 平 點 亮接 高 電 平 接 地字 形 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ù) 碼 管 分 類 :按 其 內 部 結 構 可 分 為 共 陰 型 和 共 陽 型 ; 按 其 外 形 尺 寸 有 多 種 形 式 , 使 用 較 多 的是 0.5和 0.8; 按 顯 示 顏 色 也 有 多 種 形 式 , 主 要 有 紅 色和 綠 色 ; 正 向 壓 降 一 般 為 1.5 2V, 額 定 電 流 為10mA, 最 大 電 流 為 40mA。 靜 態(tài) 顯 示 時 取 10m
5、A為 宜 , 動 態(tài) 掃 描 顯 示 , 可 加 大 脈 沖 電 流 , 但一 般 不 超 過 40mA。 按 亮 度 強 弱 可 分 為 超 亮 、 高 亮 和 普 亮 。 二 、 LED數(shù) 碼 管 編 碼 方 式 表 9-1 共 陰 和 共 陽 LED數(shù) 碼 管 幾 種 八 段 編 碼 表 顯 示數(shù) 字 共 陰 順 序 小 數(shù) 點 暗 共 陰 逆 序 小 數(shù) 點 暗 共 陽 順 序小 數(shù) 點 亮 共 陽 順 序小 數(shù) 點 暗 Dp g f e d c b a 16進 制 a b c d e f g Dp 16進 制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ù) 存 在 內 RAM 30H( 高 位 ) 、31H中 , 試 將 其 轉 換 為 5位 共 陰 字 段 碼 ( 順 序 ) ,存 在 以 30H( 高 位 ) 為 首 址 的 內 RAM中 。 從 顯 示 數(shù) 中 分 離 出 顯 示 的 每 一 位 數(shù)
8、字 方 法 是 將 顯 示 數(shù) 除 以 十 進 制 的 權顯 示 數(shù) 轉 換 為 顯 示 字 段 碼 的 步 驟 : 將 分 離 出 的 顯 示 數(shù) 字 轉 換 為 顯 示 字 段 碼 方 法 是 查 表 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 ;讀 個 位 數(shù) INC R0 ;指 向 個
10、位 間 址 (34H) MOV R0,A ;個 位 存 34H RET ; 解 : 連 續(xù) 調 用 下 列 二 個 子 程 序 即 可 。 分 離 顯 示 數(shù) 字 子 程 序 說 明 : SUM是 16位 除 以 16位 子 程 序 :(A、 B) (R6、 R5)=商 R0,余 數(shù) (A、 B)。 (參 閱 例 4-9) 轉 換 顯 示 字 段 碼 子 程 序CHAG: MOV DPTR,#TAB ;置 共 陰 字 段 碼 表 首 址 MOV R0,#30H ;置 顯 示 數(shù) 據(jù) 區(qū) 首 址CGLP: MOV A,R0 ;取 顯 示 數(shù) 字 MOVC A,A+DPTR ;讀 相 應 顯 示
11、字 段 碼 MOV R0,A ;存 顯 示 字 段 碼 INC R0 ;指 向 下 一 顯 示 數(shù) 字 CJNE R0,#35H,CGLP ;判 5個 顯 示 數(shù) 字 轉 換 完 否 ?未 完 繼 續(xù) RET ;轉 換 完 畢 ,結 束TAB: DB 3FH,06H,5BH,4FH,66H ;共 陰 字 段 碼 表 DB 6DH,7DH,07H,7FH,6FH ; 三 、 靜 態(tài) 顯 示 方 式 及 其 典 型 應 用 電 路 動 態(tài) 顯 示 方 式 , 在 某 一 瞬 時 顯 示 一 位 , 依 次 循 環(huán)掃 描 , 輪 流 顯 示 , 由 于 人 的 視 覺 滯 留 效 應 , 人 們 看
12、到 的 是 多 位 同 時 穩(wěn) 定 顯 示 。 特 點 : 占 用 I/O端 線 少 , 電 路 較 簡 單 , 編 程 較 復雜 , CPU要 定 時 掃 描 刷 新 顯 示 。 一 般 適 用 于 顯 示 位 數(shù)較 多 的 場 合 。LED數(shù) 碼 管 顯 示 分 類 : 靜 態(tài) 顯 示 方 式 和 動 態(tài) 顯 示 方 式 。 靜 態(tài) 顯 示 方 式 , 每 一 位 字 段 碼 分 別 從 I/O控 制 口 輸出 , 保 持 不 變 直 至 CPU刷 新 。 特 點 : 編 程 較 簡 單 , 但 占 用 I/O口 線 多 , 一 般 適 用于 顯 示 位 數(shù) 較 少 的 場 合 。 LED
13、顯 示 器 的 擴 展 (顯 示 方 式 ) LED數(shù) 碼 管 的 顯 示 方 式 : 靜 態(tài) 與 動 態(tài)動 態(tài) 顯 示 特 點 : 有 閃 爍 , 用 元 器 件 少 , 占 I/O線 少 , 必 須 掃 描 , 花 費 CPU時 間 ,編 程 復 雜 。 (有 多 個 LED時 尤 為 突 出 )靜 態(tài) 顯 示 特 點 : 無 閃 爍 , 用 元 器 件 多 , 占 I/O線 多 , 無 須 掃 描 , 節(jié) 省 CPU時 間 ,編 程 簡 單 。靜 態(tài) 顯 示 : 各 數(shù) 碼 管 在 顯 示 過 程 中 持 續(xù) 得 到 送 顯 信 號 , 與 各 數(shù) 碼 管 接 口的 I/O口 線 是 專
14、 用 的 。動 態(tài) 顯 示 : 各 數(shù) 碼 管 在 顯 示 過 程 中 輪 流 得 到 送 顯 信 號 , 與 各 數(shù) 碼 管 接 口的 I/O口 線 是 共 用 的 。 1、 并 行 擴 展 靜 態(tài) 顯 示 電 路 【 例 9-2】 按 圖 9-3編 制 顯 示 子 程 序 , 顯 示 數(shù) ( 255) 存 在內 RAM 30H中 。解 :DIR1: MOV A,30H ;讀 顯 示 數(shù) MOV B,#100 ;置 除 數(shù) DIV AB ;產 生 百 位 顯 示 數(shù) 字 MOVC A,A+DPTR ;讀 百 位 顯 示 符 MOV DPTR,#0DFFFH ;置 74377(百 位 )地 址
15、 MOVX DPTR,A ;輸 出 百 位 顯 示 符 MOV A,B ;讀 余 數(shù) MOV B,#10 ;置 除 數(shù) DIV AB ;產 生 十 位 顯 示 數(shù) 字 MOV DPTR,#TAB ;置 共 陽 字 段 碼 表 首 址 MOVC A,A+DPTR ;讀 十 位 顯 示 符 MOV DPTR,#0BFFFH ;置 74377(十 位 )地 址 MOVX DPTR,A ;輸 出 十 位 顯 示 符 MOV A,B ;讀 個 位 顯 示 數(shù) 字 MOV DPTR,#TAB ;置 共 陽 字 段 碼 表 首 址 MOVC A,A+DPTR ;讀 個 位 顯 示 符 MOV DPTR,#7
16、FFFH ;置 74377(個 位 )地 址 MOVX DPTR,A ;輸 出 個 位 顯 示 符 RET ;TAB: DB 0C0H,0F9H,0A4H,0B0H,99H;共 陽 字 段 碼 表 DB 92H,82H,0F8H,80H,90H; 2、 串 行 擴 展 靜 態(tài) 顯 示 電 路 DIR2: MOV SCON,#00H ;置 串 口 方 式 0 CLR ES ;串 口 禁 中 SETB P1.0 ;“ 與 ” 門 開 ,允 許 TXD發(fā) 移 位 脈 沖 MOV SBUF,30H ;串 行 輸 出 個 位 顯 示 字 段 碼 JNB TI,$ ;等 待 串 行 發(fā) 送 完 畢 CLR
17、 TI ;清 串 行 中 斷 標 志 MOV SBUF,31H ;串 行 輸 出 十 位 顯 示 字 段 碼 JNB TI,$ ;等 待 串 行 發(fā) 送 完 畢 CLR TI ;清 串 行 中 斷 標 志 MOV SBUF,32H ;串 行 輸 出 百 位 顯 示 字 段 碼 JNB TI,$ ;等 待 串 行 發(fā) 送 完 畢 CLR TI ;清 串 行 中 斷 標 志 CLR P1.0 ;“ 與 ” 門 關 ,禁 止 TXD發(fā) 移 位 脈 沖 RET ;【 例 9-3】 按 圖 9-4編 制 顯 示 子 程 序 , 顯 示 字 段 碼 已 分 別 存在 32H 30H內 RAM中 。解 :
18、要 求 : 根 據(jù) 上 圖 編 寫 通 過 串 行 口 和 74LS164驅 動 共 陽 LED數(shù) 碼 管 查 表 顯 示 的 子 程 序 。條 件 : 系 統(tǒng) 有 6個 LED數(shù) 碼 管 ,待 顯 數(shù) 據(jù) (00H09H)已 放 在 35H30H單 元 中 (分 別 對 應 十 萬 位 個 位 ),DSPLY:MOV DPTR, #TABLE ;共 陽 LED數(shù) 碼 管 譯 碼 表 首 址 MOV R0, #30H ;待 顯 數(shù) 據(jù) 緩 沖 區(qū) 的 個 位 地 址REDO: MOV A, R0 ;通 過 R0實 現(xiàn) 寄 存 器 間 接 尋 址 MOVC A, A+DPTR ;查 表 MOV
19、SBUF, A ;經 串 行 口 發(fā) 送 到 74LS164 JNB TI, $ ;查 詢 送 完 一 個 字 節(jié) 的 第 8位 ? CLR TI ;為 下 一 字 節(jié) 發(fā) 送 作 準 備 INC R0 ;R0指 向 下 一 個 數(shù) 據(jù) 緩 沖 單 元 CJNE R0, #36H, REDO ;判 斷 是 否 發(fā) 完 6個 數(shù) ? RET ;發(fā) 完 6個 數(shù) 就 返 回TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;共 陽 LED譯 碼 表 DB 92H, 82H, 0F8H, 80H,90H 3、 BCD碼 輸 出 靜 態(tài) 顯 示 電 路 CD4511是 “ BCD碼
20、七 段 共 陰 譯 碼 /驅 動 ” IC; 4511是4線 -7段 鎖 存 /譯 碼 /驅 動 電 路 , 能 將BCD碼 譯 成 7段 顯示 符 輸 出 。 圖 中 :4511 ABCD為 0 9二 進 制 數(shù) 輸 入 端 (A是 低 位 ), abcdefg為 顯 示 段 碼 輸 出 端 ,LE為 輸 入 信 號 鎖 存控 制 (低 電 平 有 效 ),數(shù) 碼 管 為 共 陰 數(shù) 碼 管 。 利 用 4511實 現(xiàn) 靜 態(tài) 顯 示 與 一 般 靜 態(tài) 顯 示 電 路不 同 , 一 是 節(jié) 省 I 0端 線 , 段 碼 輸 出 只 需 4根 ; 二是 不 需 專 用 驅 動 電 路 , 可
21、 直 接 輸 出 ; 三 是 不 需 譯碼 , 直 接 輸 出 二 進 制 數(shù) , 編 程 簡 單 ; 缺 點 是 只 能顯 示 數(shù) 字 , 不 能 顯 示 各 種 符 號 。 解 : 編 程 如 下 :DIR3: MOV P1,#11100000B ;選 通 個 位 ORL P1,30H ;輸 出 個 位 顯 示 數(shù) MOV P1,#11010000B ;選 通 十 位 ORL P1,31H ;輸 出 十 位 顯 示 數(shù) MOV P1,#10110000B ;選 通 百 位 ORL P1,32H ;輸 出 百 位 顯 示 數(shù) RET ;【 例 9-4】 按 圖 9-5試 編 制 顯 示 子
22、程 序 ( 小 數(shù) 點 固定 在 第 二 位 ) , 已 知 顯 示 數(shù) 存 在 內 RAM 30H 32H中 。 動 態(tài) 顯 示 電 路連 結 形 式 : 顯 示 各 位 的 所 有相 同 字 段 線 連 在 一 起 ,共 8段 , 由 一 個 8位I/O口 控 制 ; 每 一 位 的 公 共 端( 共 陽 或 共 陰 COM)由 另 一 個 I/O口 控 制 。四 、 動 態(tài) 顯 示 方 式及 其 典 型 應 用 電 路 LED數(shù) 碼 管 動 態(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口 送 位 選 信 號 。 段 碼 雖 同 時到 達 6個 LED, 但 一 次 僅 一 個 LED被 選 中 。 利 用 “ 視 覺 暫留 ” , 每 送 一 個 字 符 并 選 中 相 應 位 線 , 延 時 一 會 兒 ,再 送 /選 下 一 個 循 環(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口 送 位 選 信 號 。通 過 查 表 實 現(xiàn) 動 態(tài) 顯 示 。條 件 : 待 顯 數(shù) 據(jù) (00H09H)已 放 在 : 7FH7AH單 元 中 (分 別 對應 十 萬 位 個 位 )說 明 : 由 于 用 了 反 相 驅 動 器 7406, 要 用 共 陽 譯 碼 表 。 共 陰 數(shù) 碼 管上 拉電 阻 14 7406 OC門 X 3 +5V(7FH) (7EH) (7DH) (7CH) (7BH) (7AH)十 萬 萬 位 千 位 百 位 十 位 個 位數(shù) 據(jù) 緩 沖 區(qū) / 顯
25、 示 緩 沖 區(qū)P0口 送 段代 碼 , P1口 送 位 選信 號 。待 顯 數(shù) 據(jù)已 經 放 在 : 7FH7AH單 元 (分 別對 應 十 萬位 個 位 )使 用 共 陽譯 碼 表 。 DIR: MOV DPTR, #DSEG ;數(shù) 碼 管 譯 碼 表 首 址 MOV R0, #7AH ;待 顯 緩 沖 區(qū) 個 位 地 址 MOV R3, #01H ;個 位 的 位 選 信 號 =01HLD1: MOV A, R0 ;通 過 R0間 接 尋 址 MOVC A, A+DPTR ;查 表 MOV P0, A ;字 段 碼 送 到 P0口 MOV P1, R3 ;字 位 選 擇 送 到 P1口
26、LCALL DELY ;調 延 時 1ms子 程 序 INC R0 ;R0 指 向 下 一 字 節(jié) MOV A, R3 JB ACC.5, LD2 ;判 是 否 發(fā) 完 6個 數(shù) ? RL A ;R1指 向 下 一 個 位 MOV R3, A ;位 選 信 號 存 回 R1 SJMP LD1 ;跳 去 再 顯 示 下 一 個 數(shù)LD2: RET ;發(fā) 完 6個 數(shù) 就 返 回DSEG: DB 0C0H,0F9H,0A4H,0B0H,99H;共 陽 譯 碼 表 DB 92H, 82H, 0F8H, 80H,90H P0口 送 段代 碼 , P1口 送 位 選信 號 。待 顯 數(shù) 據(jù)已 經 放 在
27、 : 7FH7AH單 元 (分 別對 應 十 萬位 個 位 )使 用 共 陽譯 碼 表 。 動 態(tài) 顯 示 舉 例 (循 環(huán) 顯 示 “ 8” 的 實 驗 )實 驗 箱 從 P0口 擴 展 了 兩 個 8位 的 簡 單 I/O口 : 一 個 送 段 代 碼 (字 形 狀 ), 地 址 是 0DCH; 一 個 送 位 選 信 號 (字 位 置 ), 地 址 是 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 ;調 延 時 子 程 序 RR A ;右 移 一 位 SJMP LEDO ;循 環(huán) 顯 示 “ 8” 1、 共 陰 型 8位 動 態(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 ;調 用 延 時 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é) 內 RAM中 。解 : 編 程 如 下 : 2、 共 陽 型 3位 動 態(tài) 顯 示 電 路 DIR5: MOV DPTR,#0BFFFH ;置 74377地 址 MOV R2,#100 ;置 循 環(huán) 顯 示 次 數(shù)DIR50: SETB P1.2 ;百 位 停 顯 示 MOV A,40H ;取 個 位 字 段 碼 MOVX DPTR,A ;輸 出 個 位 字 段 碼 CLR P1.0 ;個 位 顯 示 LCALL DY2ms ;調 用 延 時 2ms子 程 序 (參 閱 例 4.13)DIR51: SETB P
31、1.0 ;個 位 停 顯 示 MOV A,41H ;取 十 位 字 段 碼 MOVX DPTR,A ;輸 出 十 位 字 段 碼 CLR P1.1 ;十 位 顯 示 LCALL DY2ms ;延 時 2msDIR52: SETB P1.1 ;十 位 停 顯 示 MOV A,42H ;取 百 位 字 段 碼 MOVX DPTR,A ;輸 出 百 位 字 段 碼 CLR P1.2 ;百 位 顯 示 LCALL DY2ms ;延 時 2ms DJNZ R2,DIR50 ;判 循 環(huán) 顯 示 結 束 否 ?未 完 繼 續(xù) ORL P1,#00000111B ;3位 滅 顯 示 RET ; 【 例 9-
32、6】 根 據(jù) 圖 9-8電 路 , 試 編 制 3位 動 態(tài) 掃 描 顯 示 程 序 (循 環(huán) 100次 ),已 知 顯 示 字 段 碼 存 在 以 40H(低 位 )為 首 址 的 3字 節(jié) 內 RAM中 。解 : 編 程 如 下 : 1、 SAA1064引 腳 功 能 五 、 虛 擬 I2C總 線 串 行 顯 示 電 路 VDD、 VEE: 電 源 、 接 地 端 。 電 源 4.5 15V; P1 P16: 段 驅 動 輸 出 端 。 分 為 兩 個 8位 口 :P1 P8; P9 P16。 P8、 P16為 高 位 。 口 鎖 存 器 具 有 反 相 功能 , 置 1時 , 端 口 輸
33、 出 0。 MX1、 MX2: 位 碼 驅 動 端 。 靜 態(tài) 顯 示 驅 動 時 , 一 片SAA1064可 驅 動 二 位 LED數(shù) 碼 管 ; 動 態(tài) 顯 示 驅 動 時 , 按 圖 9-10連 接 方 式 , 一 片 SAA1064可 驅 動 四 位 LED數(shù) 碼 管 ; SDA、 SCL: I2C總 線 數(shù) 據(jù) 端 、 時 鐘 端 ; CEXT: 時 鐘 振 蕩 器 外 接 電 容 , 典 型 值 2700pF ADR: 地 址 引 腳 端 。 SAA1064引 腳 地 址 A1、 A0采 用 ADR模擬 電 壓 比 較 編 址 。 當 ADR引 腳 電 平 為 0、 3VDD/8,
34、 5VDD/8、 VDD時 , 相 應 引 腳 地 址 A2、 A1、 A0 分 別 為 000、 001、 010、 011; 2、 硬 件 電 路 設 計 片 內 寄 存 器 符 號 COM data1 data2 data3 data4裝 載 內 容 控 制 命 令 顯 示 段 碼 1 顯 示 段 碼 2 顯 示 段 碼 3 顯 示 段 碼 4片 內 地 址 00H 01H 02H 03H 04H3、 片 內 可 編 程 功 能 控 制 命 令 COMCOM D7 D6 D5 D4 D3 D2 D1 D000H C6 C5 C4 C3 C2 C1 C0CO: 靜 動 態(tài) 控 制 , C0
35、=1, 動 態(tài) 顯 示 , 動 態(tài) 顯 示 時 , data1、data2輪 流 從 P8 P1輸 出 , data3、 data4輪 流 從 P16 P9輸 出 ;C1: 顯 示 位 1、 3亮 暗 選 擇 , C1=1, 選 擇 亮 ;C2: 顯 示 位 2、 4亮 暗 選 擇 , C2=1, 選 擇 亮 ;C3: 測 試 位 , C3=1, 所 有 段 亮 ;C4、 C5、 C6: 驅 動 電 流 控 制 位 , C4、 C5、 C6分 別 為 1時 , 驅 動電 流 分 別 為 3mA、 6mA、 12mA; C4、 C5、 C6全 為 1時 , 驅 動 電 流最 大 , 可 達 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為 片 內 寄 存 器 地 址 ;COM為 控 制 命 令 。 解 :VSAA: MOV MTD,#00H ;置 SAA1064控 制 命 令 寄 存 器 COM片 內 子 地 址 MOV 31H,#01000111B;置 控 制 命 令 字 ,動 態(tài) 顯 示 ,驅 動 電 流 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個 數(shù) 據(jù) 移 完 否 ?未 完 繼 續(xù) RET ; 【 例 9-7】 已 知 8位 顯 示 符 (共 陰 編 碼 )已 依 次 存 入 內 RAM 51H 58H中 ,試 按 圖 9-10編 程 將 其 輸 入 SAA1064(1),(2)動 態(tài) 顯 示 ,驅 動 電 流 為 12mA。 設 VIIC軟 件 包 已裝 入 ROM,VSDA.VSCL.SLA.NUMB.MTD.MRD均 已 按 8.3.2軟 件 包 小 結 中 協(xié) 議 定 義 。4、 程 序 設 計 1、 按 鍵 開 關 去 抖 動 問 題 9-2 鍵 盤 接
40、口一 、 鍵 盤 接 口 概 述鍵 盤 的 抖 動 時 間 一 般 為 5 10ms, 抖 動 現(xiàn) 象 會 引 起 CPU對 一 次 鍵 操 作 進 行 多 次 處 理 , 從 而 可 能 產 生 錯 誤 。 硬 件 去 抖 動 消 除 抖 動 不 良 后 果 的 方 法 :其 中 RC濾 波 電 路 去 抖 動 電 路 簡 單 實 用 , 效 果 較 好 。 軟 件 去 抖 動 檢 測 到 按 鍵 按 下 后 , 執(zhí) 行 延 時 10ms子 程 序 后 再 確 認 該 鍵是 否 確 實 按 下 , 消 除 抖 動 影 響 。 2、 按 鍵 連 接 方 式 獨 立 式 按 鍵 獨 立 式 按
41、鍵 是 每 個 按 鍵 占 用 一 根 I/O端 線 。 特 點 : 各 按 鍵 相 互 獨 立 , 電 路 配 置 靈 活 ; 按 鍵 數(shù) 量 較 多 時 , I/O端 線 耗 費 較 多 , 電 路 結 構 繁 雜 ; 軟 件 結 構 簡 單 。 適 用 于 按 鍵 數(shù) 量 較 少 的 場 合 。 矩 陣 式 鍵 盤 I/O端 線 分 為 行 線 和 列 線 , 按 鍵 跨 接 在 行 線 和 列 線 上 , 按鍵 按 下 時 , 行 線 與 列 線 發(fā) 生 短 路 。 特 點 : 占 用 I/O端 線 較 少 ; 軟 件 結 構 教 復 雜 。 適 用 于 按 鍵 較 多 的 場 合 。
42、 3、 鍵 盤 掃 描 控 制 方 式 程 序 控 制 掃 描 方 式 鍵 處 理 程 序 固 定 在 主 程 序 的 某 個 程 序 段 。 特 點 : 對 CPU工 作 影 響 小 , 但 應 考 慮 鍵 盤 處 理 程 序 的 運 行 間 隔周 期 不 能 太 長 , 否 則 會 影 響 對 鍵 輸 入 響 應 的 及 時 性 。 定 時 控 制 掃 描 方 式 利 用 定 時 /計 數(shù) 器 每 隔 一 段 時 間 產 生 定 時 中 斷 , CPU響 應中 斷 后 對 鍵 盤 進 行 掃 描 。 特 點 : 與 程 序 控 制 掃 描 方 式 的 區(qū) 別 是 , 在 掃 描 間 隔 時
43、 間 內 ,前 者 用 CPU工 作 程 序 填 充 , 后 者 用 定 時 /計 數(shù) 器 定 時 控 制 。 定 時控 制 掃 描 方 式 也 應 考 慮 定 時 時 間 不 能 太 長 , 否 則 會 影 響 對 鍵 輸入 響 應 的 及 時 性 。 中 斷 控 制 方 式 中 斷 控 制 方 式 是 利 用 外 部 中 斷 源 , 響 應 鍵 輸 入 信 號 。 特 點 : 克 服 了 前 兩 種 控 制 方 式 可 能 產 生 的 空 掃 描 和 不 能 及 時 響 應 鍵 輸 入 的 缺 點 , 既 能 及 時 處 理 鍵 輸 入 , 又 能 提 高 CPU運 行 效率 , 但 要
44、占 用 一 個 寶 貴 的 中 斷 資 源 。 1、 按 鍵 直 接 與 I/O口 連 接 二 、 獨 立 式 按 鍵 及 其 接 口 電 路 【 例 9-8】 按 圖 9-13(a)、 (b), 試 分 別 編 制 按 鍵 掃 描 子 程 序 。解 : 按 圖 9-13(a)編 程 如 下 : KEYA:ORL P1,#07H ;置 P1.0 P1.2為 輸 入 態(tài) MOV A,P1 ;讀 鍵 值 ,鍵 閉 合 相 應 位 為 0 CPL A ;取 反 ,鍵 閉 合 相 應 位 為 1 ANL A,#00000111B;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GR
45、ET ;全 0,無 鍵 閉 合 ,返 回 LCALL DY10ms ;非 全 0,有 鍵 閉 合 ,延 時 10ms,軟 件 去 抖 動 MOV A,P1 ;重 讀 鍵 值 ,鍵 閉 合 相 應 位 為 0 CPL A ;取 反 ,鍵 閉 合 相 應 位 為 1 ANL A,#00000111B;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GRET ;全 0,無 鍵 閉 合 ,返 回 ;非 全 0,確 認 有 鍵 閉 合 JB Acc.0,KA0 ;轉 0#鍵 功 能 程 序 JB Acc.1,KA1 ;轉 1#鍵 功 能 程 序 JB Acc.2,KA2 ;轉 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 ;讀 鍵 值 ,鍵 閉 合 相 應 位 為 1 ANL A,#00000111B ;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GRET ;全 0,無 鍵 閉 合 ,返 回
47、 LCALL DY10ms ;非 全 0,有 鍵 閉 合 ,延 時 10ms,軟 件 去 抖 動 MOV A,P1 ;重 讀 鍵 值 ,鍵 閉 合 相 應 位 為 1 ANL A,#00000111B ;屏 蔽 高 5位 ,保 留 有 鍵 值 信 息 的 低 3位 JZ GRET ;全 0,無 鍵 閉 合 ,返 回 ;非 全 0,確 認 有 鍵 閉 合 JB Acc.0,KB0 ;轉 0#鍵 功 能 程 序 JB Acc.1,KB1 ;轉 1#鍵 功 能 程 序 JB Acc.2,KB2 ;轉 2#鍵 功 能 程 序GRET:RETKB0: LCALL WORK0 ;執(zhí) 行 0#鍵 功 能 子
48、 程 序 RETKB1: LCALL WORK1 ;執(zhí) 行 1#鍵 功 能 子 程 序 RET KB2: LCALL WORK2 ;執(zhí) 行 2#鍵 功 能 子 程 序 RET 按 鍵 與 并 行 擴 展 I/O口 連 接 2、 按 鍵 與 擴 展 I/O口 連 接 【 例 9-9】 按 圖 9-14, 試 編 制 按 鍵 掃 描 子 程 序 , 將 鍵 信 號 存入 內 RAM 30H。解 : 編 程 如 下 :KEY99: MOV DPTR,#7FFFH ;置 74373口 地 址 MOVX A,DPTR ;輸 入 鍵 信 號 (“ 0” 有 效 ) MOV 30H,A ;存 鍵 信 號 數(shù)
49、 據(jù) RET ;參 閱 8.2.4, 圖 8-6, 【 例 8-2】 。 按 鍵 與 串 行 擴 展 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 ;已 有 消 抖 標 志 ,轉 SETB F0 ;無 消 抖 標 志 ,置 消 抖 標 志 LCALL DY10ms ;調 用 10ms延 時 子 程 序 (參 閱
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 ;取 列 線 編 號 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù) CLR C ;KEY3: RLC A ;依 次 左 移 入 C中 JC KEY4 ;C=1,該 列 有 鍵 按 下 ,(列 線 編 號 存 R1) DEC R1 ;C=0,無 鍵 按
52、 下 ,修 正 列 編 號 DJNZ R3,KEY3 ;判 循 環(huán) 結 束 否 ?未 結 束 繼 續(xù) 尋 找 有 鍵 按 下 的 列 線KEY4: MOV A,R2 ;取 行 線 數(shù) 據(jù) (低 4位 ) MOV R2,#00H ;置 行 線 編 號 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù) CLR C ;KEY5: RRC A ;依 次 右 移 入 C中 JC KEY6 ;C=1,該 行 有 鍵 按 下 ,(行 線 編 號 存 R2) INC R2 ;C=0,無 鍵 按 下 ,修 正 行 線 編 號 DJNZ R3,KEY5 ;判 循 環(huán) 結 束 否 ?未 結 束 繼 續(xù) 尋 找 有
53、鍵 按 下 的 行 線 KEY6: MOV A,R2 ;取 行 線 編 號 CLR C ; RLC A ;行 編 號 2 RLC A ;行 編 號 4 ADD A,R1 ;行 編 號 4+列 編 號 =按 鍵 編 號KEY7: CLR C ; RLC A ;按 鍵 編 號 2 RLC A ;按 鍵 編 號 4(LCALL+ RET共 4字 節(jié) ) MOV DPTR,#TABJ ; JMP A+DPTR ;散 轉 ,執(zhí) 行 相 應 鍵 功 能 子 程 序TABJ: LCALL WORK0 ;調 用 執(zhí) 行 0#鍵 功 能 子 程 序 RET ; LCALL WORK1 ;調 用 執(zhí) 行 1#鍵
54、功 能 子 程 序 RET ; LCALL WORK15 ;調 用 執(zhí) 行 15#鍵 功 能 子 程 序 RET ; 【 例 9-11】 按 圖 9-17, 試 編 制 中 斷 方 式 鍵 盤 掃 描程 序 ,將 鍵 盤 序 號 存 入 內 RAM 30H。 ORG 0000H ;復 位 地 址 LJMP STAT ;轉 初 始 化 ORG 0003H ;中 斷 入 口 地 址 LJMP PINT0 ;轉 中 斷 服 務 程 序 ORG 0100H ;初 始 化 程 序 首 地 址STAT: MOV SP,#60H ;置 堆 棧 指 針 SETB IT0 ;置 為 邊 沿 觸 發(fā) 方 式 MO
55、V IP,#00000001B ;置 為 高 優(yōu) 先 級 中 斷 MOV P1,#00001111B ;置 P1.0 P1.3置 為 輸 入 態(tài) ,置 P1.4 P1.7輸 出 0 SETB EA ;CPU開 中 SETB EX0 ;開 中 LJMP MAIN ;轉 主 程 序 ,并 等 待 有 鍵 按 下 時 中 斷解 : OGR 2000H ;中 斷 服 務 程 序 首 地 址PINT0: PUSH Acc ;保 護 現(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 ;取 列 線 編 號 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù) CLR C ; PINT01:RLC A ;依 次 左 移 入 C中 JC PINT02 ;C=1,該 列
57、 有 鍵 按 下 ,(列 線 編 號 存 R1) DEC R1 ;C=0,無 鍵 按 下 ,修 正 列 編 號 DJNZ R3,PINT01 ;判 循 環(huán) 結 束 否 ?未 結 束 繼 續(xù) 尋 找 有 鍵 按 下 列 線 PINT02:MOV A,R2 ;取 行 線 數(shù) 據(jù) (低 4位 ) MOV R2,#00H ;置 行 線 編 號 初 值 MOV R3,#03H ;置 循 環(huán) 數(shù)PINT03:RRC A ;依 次 右 移 入 C中 JC PINT04 ;C=1,該 行 有 鍵 按 下 ,(行 線 編 號 存 R2) INC R2 ;C=0,無 鍵 按 下 ,修 正 行 線 編 號 DJNZ
58、 R3,PINT03 ;判 循 環(huán) 結 束 否 ?未 結 束 繼 續(xù) 尋 找 有 鍵 按 下 行 線PINT04:MOV A,R2 ;取 行 線 編 號 CLR C ; RLC A ;行 編 號 2 RLC A ;行 編 號 4 ADD A,R1 ;行 編 號 4+列 編 號 =按 鍵 編 號 MOV 30H,A ;存 按 鍵 編 號 POP PSW ; POP Acc ; RETI ; 9-3 A/D轉 換 接 口 電 路一 、 A/D轉 換 的 基 本 概 念 A/D轉 換 的 功 能 是 把 模 擬 量 電 壓 轉 換 為 N位 數(shù) 字量 。 設 D為 N位 二 進 制 數(shù) 字 量 ,
59、UA為 電 壓 模 擬 量 ,UREF為 參 考 電 壓 , 無 論 A/D或 D/A, 其 轉 換 關 系 為 :UA = D UREF / 2N ( 其 中 : D=D 0 20+D1 21+ +DN-1 2N-1) 1、 A/D轉 換 器 的 主 要 性 能 指 標 : 轉 換 精 度 。 轉 換 精 度 通 常 用 分 辨 率 和 量 化 誤 差 來 描 述 。 分 辨 率 。 分 辨 率 = UREF / 2N 表 示 輸 出 數(shù) 字 量 變 化 一 個 相 鄰 數(shù) 碼 所 需 輸 入 模 擬 電 壓 的變 化 量 。 N為 A/D轉 換 的 位 數(shù) , N越 大 , 分 辨 率 越
60、 高 , 習 慣 上 分辨 率 常 以 A/D轉 換 位 數(shù) N表 示 。 量 化 誤 差 。 量 化 誤 差 是 指 零 點 和 滿 度 校 準 后 , 在 整 個 轉換 范 圍 內 的 最 大 誤 差 。 轉 換 時 間 。 指 A/D轉 換 器 完 成 一 次 A/D轉 換 所 需 時 間 。 轉換 時 間 越 短 , 適 應 輸 入 信 號 快 速 變 化 能 力 越 強 。2、 A/D轉 換 器 分 類 A/D轉 換 器 分 類 :按 轉 換 原 理 形 式 可 分 為 逐 次 逼 近 式 、 雙 積 分 式 和 V/F變 換 式 ;按 信 號 傳 輸 形 式 可 分 為 并 行 A
61、/D和 串 行 A/D。 二 、 并 行 A/D ADC0809及 其 接 口 電 路 1、 引 腳 功 能 和 典 型 連 接 電 路 IN0 IN7: 8路 模 擬 信 號 輸 入 端 。 C、 B、 A: 8路 模 擬 信 號 轉 換 選 擇 端 。 與 低 8位 地 址 中 A0 A2連 接 。 由 A0 A2地 址 000 111選 擇 IN0 IN7八 路A/D通 道 。 CLK: 外 部 時 鐘 輸 入 端 。 時 鐘 頻 率 高 , A/D轉 換 速 度 快 。 允 許 范 圍 為 10 1280KHz 。 通 常 由 80C51 ALE端 直 接 或 分 頻 后 與 0809
62、 CLK端 相 連 接 。 D0 D7: 數(shù) 字 量 輸 出 端 。 OE: A/D轉 換 結 果 輸 出 允 許 控 制 端 。 OE=1, 允 許 將 A/D轉 換 結 果 從 D0 D7端 輸 出 。 通 常 由 80C51的 端 與 0809片選 端 ( 例 如 P2.0) 通 過 或 非 門 與 0809 OE端 相 連 接 。 ALE: 地 址 鎖 存 允 許 信 號 輸 入 端 。 0809 ALE信 號 有 效 時 將 當 前 轉 換 的 通 道 地 址 鎖 存 。 START: 啟 動 A/D轉 換 信 號 輸 入 端 。 當 START端 輸 入 一 個 正 脈 沖 時 ,
63、 立 即 啟 動 0809進 行 A/D轉 換 。 START端 與ALE端 連 在 一 起 , 由 80C51WR與 0809片 選 端 ( 例 如 P2.0) 通 過 或 非 門 相 連 。 EOC: A/D轉 換 結 束 信 號 輸 出 端 , 高 電 平 有 效 。 UREF( +) 、 UREF( -) : 正 負 基 準 電 壓 輸 入 端 。 Vcc: 正 電 源 電 壓 ( +5V) 。 GND: 接 地 端 。 2、 ADC 0809應 用 實 例 中 斷 方 式【 例 9-12】 按 圖 9-20, 用 中 斷 方 式 對 8路 模 擬 信 號 依 次 A/D轉 換一 次
64、, 并 把 結 果 存 入 以 30H為 首 址 的 內 RAM中 , 試 編 制 程 序 。解 : ORG 0000H ;復 位 地 址 LJMP STAT ;轉 初 始 化 程 序 ORG 0013H ;中 斷 服 務 子 程 序 入 口 地 址 LJMP PINT1 ;中 斷 ,轉 中 斷 服 務 子 程 序 ; 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 ;啟 動 0通 道 A/D LJMP MAIN ;轉 主 程 序 ,并 等 待 A/D中 斷 ORG 0200H ;中 斷 服 務 子 程 序 首 地 址 PINT1: PUSH Acc ;保 護 現(xiàn) 場 PUSH PSW ; MOVX A,DPTR ;讀 A/D值 MOV R1,A ;存 A/D值 INC DPTR ;修 正 通 道 地 址 INC R1 ;修 正 數(shù) 據(jù) 區(qū) 地 址 MOVX DPTR,A ;啟 動 下 一 通 道 A/D DJNZ R7,GORETI ;判 8路 采 集 完 否 ?未 完 繼 續(xù) CL
66、R EX1 ;8路 采 集 已 完 ,關 中GORETI:POP PSW ;恢 復 現(xiàn) 場 POP Acc ; RETI ;中 斷 返 回 查 詢 方 式 工 作 在 查 詢 方 式 時 ,0809 EOC端 可 不 必 通 過 反 相 器 與 或 相 連 ,直 接 與 80C51 P1口 或 P3口 中 任 一 端 線 相 連 ?!?例 9-13】 圖 9-20中 , 用 P1.0直 接 與 0809 EOC端 相 連 , 試 用 查詢 方 式 編 制 程 序 , 對 8路 模 擬 信 號 依 次 A/D轉 換 一 次 , 并 把 結 果存 入 以 40H為 首 址 的 內 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 ;啟 動 A/D JNB P1.0,$ ;查 詢 A/D轉 換 結 束 否 ? 未 完 繼 續(xù) 查 詢 等 待 MOVX A,DPTR ;A/D已 結
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。