項(xiàng)目9 信號(hào)發(fā)生器的設(shè)計(jì)
《項(xiàng)目9 信號(hào)發(fā)生器的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《項(xiàng)目9 信號(hào)發(fā)生器的設(shè)計(jì)(78頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、2021/6/16 1電子工業(yè)出版社 單 片 機(jī) 控 制 技 術(shù) 項(xiàng) 目 式 教 程 ( C語(yǔ) 言 版 ) 2021/6/16 2電子工業(yè)出版社 項(xiàng) 目 9 信 號(hào) 發(fā) 生 器 的 設(shè) 計(jì) 2021/6/16 3 l 能 了 解 D/A轉(zhuǎn) 換 器 的 相 關(guān) 技 術(shù) 指 標(biāo) ; l 能 理 解 DAC0832的 工 作 原 理 與 應(yīng) 用 方 法 ; l 能 掌 握 DAC0832與 51單 片 機(jī) 的 接 口 方 法 ;l 能 掌 握 信 號(hào) 發(fā) 生 器 的 硬 件 電 路 的 分 析 與 設(shè) 計(jì) 方 法 ;l 能 熟 練 編 寫(xiě) 信 號(hào) 發(fā) 生 器 產(chǎn) 生 各 種 波 形 信 號(hào) 的 單
2、片 機(jī) 控 制程 序 。 學(xué) 習(xí) 目 標(biāo) 2021/6/16 4 l 敘 述 D/A轉(zhuǎn) 換 器 的 技 術(shù) 指 標(biāo) 要 求 ;l 敘 述 DAC0832的 工 作 原 理 ;l 設(shè) 計(jì) 單 片 機(jī) 控 制 的 信 號(hào) 發(fā) 生 器 的 工 作 電 路 ;l 編 寫(xiě) 信 號(hào) 發(fā) 生 器 產(chǎn) 生 各 種 波 形 信 號(hào) 的 單 片 機(jī) 控 制 程 序 。 工 作 任 務(wù) 2021/6/16 5 任 務(wù) 9.1 燈 光 亮 度 調(diào) 節(jié) 器 的 設(shè) 計(jì)任 務(wù) 9.2 信 號(hào) 發(fā) 生 器 的 設(shè) 計(jì)項(xiàng) 目 拓 展 串 行 D/A轉(zhuǎn) 換 芯 片 PCF8591在 實(shí) 驗(yàn) 板 上 的 應(yīng) 用項(xiàng) 目 小 結(jié)思
3、考 與 訓(xùn) 練項(xiàng) 目 9 信 號(hào) 發(fā) 生 器 的 設(shè) 計(jì) 2021/6/16 6 任 務(wù) 9.1 燈 光 亮 度 調(diào) 節(jié) 器 的 設(shè) 計(jì)l D/A轉(zhuǎn) 換 的 功 能 就 是 將 數(shù) 字 量 轉(zhuǎn) 換 成 模 擬 量 。l 基 本 的 D/A轉(zhuǎn) 換 器 由 電 壓 基 準(zhǔn) 或 電 流 基 準(zhǔn) 、 精 密 電 阻 網(wǎng) 絡(luò) 、電 子 開(kāi) 關(guān) 及 全 電 流 求 和 電 路 構(gòu) 成 。9.1.1 D/A轉(zhuǎn) 換 器 的 基 本 原 理1 D/A 轉(zhuǎn) 換 器 的 分 類(lèi)按 工 作 方 式 分 : 并 行 D/A轉(zhuǎn) 換 器 ( 權(quán) 電 阻 D/A轉(zhuǎn) 換 器 、 R- 2R T型 D/A轉(zhuǎn) 換 器 ) 串 行
4、D/A轉(zhuǎn) 換 器 間 接 D/A轉(zhuǎn) 換 器 2021/6/16 7 按 D/A轉(zhuǎn) 換 的 分 辨 率 分 : 低 分 辨 率 D/A轉(zhuǎn) 換 器 中 分 辨 率 D/A轉(zhuǎn) 換 器 高 分 辨 率 D/A轉(zhuǎn) 換 器按 模 擬 量 輸 出 方 式 分 : 電 流 輸 出 D/A轉(zhuǎn) 換 器 電 壓 輸 出 D/A轉(zhuǎn) 換 器按 模 擬 電 子 開(kāi) 關(guān) 電 路 的 不 同 分 : CMOS開(kāi) 關(guān) 型 D/A轉(zhuǎn) 換 器 ( 速 度 要 求 不 高 ) 雙 極 型 開(kāi) 關(guān) D/A轉(zhuǎn) 換 器 電 流 開(kāi) 關(guān) 型 ( 速 度 要 求 較 高 ) ECL電 流 開(kāi) 關(guān) 型 ( 轉(zhuǎn) 換 速 度 更 高 ) 2021/
5、6/16 8 2 D/A 轉(zhuǎn) 換 器 的 組 成 D/A轉(zhuǎn) 換 器 由 數(shù) 碼 寄 存 器 、 模 擬 電 子 開(kāi) 關(guān) 電 路 、 解 碼 網(wǎng)絡(luò) 、 求 和 電 路 及 基 準(zhǔn) 電 壓 等 幾 部 分 組 成 。 以 R-2R T型 D/A轉(zhuǎn) 換 器 為 例 , 其 由 基 準(zhǔn) 電 壓 Vref、 T型( R-2R) 電 阻 網(wǎng) 絡(luò) 、 位 切 換 開(kāi) 關(guān) 和 運(yùn) 算 放 大 器 組 成 。 2021/6/16 9 3 D/A 轉(zhuǎn) 換 器 的 工 作 原 理 數(shù) 字 量 是 用 代 碼 按 數(shù) 位 組 合 起 來(lái) 表 示 的 , 對(duì) 于 有 權(quán) 碼 ,每 位 代 碼 都 有 一 定 的 位 權(quán)
6、 。 為 了 將 數(shù) 字 量 轉(zhuǎn) 換 成 模 擬 量 ,必 須 將 每 1位 的 代 碼 按 其 位 權(quán) 的 大 小 轉(zhuǎn) 換 成 相 應(yīng) 的 模 擬 量 ,然 后 將 這 些 模 擬 量 相 加 , 即 可 得 到 與 數(shù) 字 量 成 正 比 的 總 模擬 量 , 實(shí) 現(xiàn) 數(shù) 字 模 擬 轉(zhuǎn) 換 。 2021/6/16 10 R-2R T型 D/A轉(zhuǎn) 換 器 工 作 原 理 : 圖 9.1 R-2R T型 D/A轉(zhuǎn) 換 器 原 理 電 路 2021/6/16 11 圖 示 的 電 路 是 一 個(gè) 3位 二 進(jìn) 制 數(shù) 的 D/A轉(zhuǎn) 換 電 路 , 每 位 二進(jìn) 制 數(shù) 控 制 一 個(gè) 開(kāi) 關(guān)
7、S。 當(dāng) 第 i位 的 數(shù) 碼 為 “ 0”時(shí) , 開(kāi) 關(guān) Si打在 左 邊 ; 當(dāng) 第 i位 的 數(shù) 碼 為 “ 1”時(shí) , 開(kāi) 關(guān) Si打 在 右 邊 。 當(dāng) S0接通 時(shí) , I0 I0 I0 , I1 I0+ I0 2I0同 理 I1 I1 I1 , I2 2I1 I2 I2 I2 , I 2I2推 出 I0 I/8 , I1 I/4 , I2 I/2 I I0 + I1 + I2 ( 1/8 + 1/4 + 1/2) I - Uref( 1/8 + 1/4 + 1/2) /R 2021/6/16 12 將 上 式 推 廣 到 n位 二 進(jìn) 制 數(shù) 的 轉(zhuǎn) 換 , 可 得 一 般 表
8、達(dá) 式 I - Uref( a0/2n + a1/2n-1 + + an-1/21 +an/20) /R則 輸 出 電 壓 為 Uo ( I) Rf -Uref( a0/2n+ a1/2n-1+ +an-1/21+an/20) Rf/R 輸 出 電 壓 會(huì) 因 器 件 誤 差 、 集 成 運(yùn) 放 的 非 理 想 特 性 而 產(chǎn) 生一 定 的 轉(zhuǎn) 換 誤 差 。 2021/6/16 13 一 般 D/A轉(zhuǎn) 換 器 : OUT B Ur其 中 : Ur為 常 量 , 由 參 考 Uref決 定 。 B為 輸 入 數(shù) 字 量 , 為 二 進(jìn) 制 數(shù) 。 B可 為 8位 、 12位 、 16 位 等
9、, 由 DAC芯 片 型 號(hào) 決 定 。當(dāng) B為 n位 時(shí) : B bn-1bn-2b1b0 bn-1 2 n-1+ bn-2 2n-2+ b1 21+b0 20 式 中 , bn-1為 最 高 位 ; b0為 最 低 位 。 2021/6/16 14 1 分 辨 率 分 辨 率 是 D/A轉(zhuǎn) 換 器 對(duì) 輸 入 量 變 化 敏 感 程 度 的 描 述 , 與輸 入 數(shù) 字 量 的 位 數(shù) 有 關(guān) 。 如 果 數(shù) 字 量 的 位 數(shù) 為 n, 則 D/A轉(zhuǎn)換 器 的 分 辨 率 為 1/2n。 即 數(shù) /模 轉(zhuǎn) 換 器 能 對(duì) 滿 刻 度 的 1/2n輸 入量 作 出 反 應(yīng) 。 9.1.2
10、D/A轉(zhuǎn) 換 器 的 技 術(shù) 性 能 指 標(biāo)分 辨 率 輸 出 模 擬 量 的 滿 量 程 值 2n如 : 8位 數(shù) 的 分 辨 率 為 1/256, 10位 數(shù) 分 辨 率 為 1/1024通 常 用 D/A轉(zhuǎn) 換 器 輸 入 數(shù) 字 量 的 位 數(shù) 來(lái) 表 示 分 辨 率 。D/A轉(zhuǎn) 換 器 常 可 分 為 8位 、 10位 、 12位 三 種 。 2021/6/16 15 2 精 度 如 果 不 考 慮 D/A的 轉(zhuǎn) 換 誤 差 , D/A轉(zhuǎn) 換 的 精 度 為 其 分 辨率 的 大 小 。 因 此 , 要 獲 得 一 定 精 度 的 D/A轉(zhuǎn) 換 結(jié) 果 , 首 要 條件 是 選 擇
11、有 足 夠 分 辨 率 的 D/A轉(zhuǎn) 換 器 。 轉(zhuǎn) 換 速 度 是 DAC每 秒 可 以 轉(zhuǎn) 換 的 次 數(shù) , 其 倒 數(shù) 為 轉(zhuǎn) 換時(shí) 間 。 轉(zhuǎn) 換 時(shí) 間 是 指 從 輸 入 數(shù) 字 量 到 轉(zhuǎn) 換 為 模 擬 量 輸 出 所需 的 時(shí) 間 。 當(dāng) D/A轉(zhuǎn) 換 器 的 輸 出 形 式 為 電 流 時(shí) , 轉(zhuǎn) 換 時(shí) 間 較短 ; 當(dāng) D/A轉(zhuǎn) 換 器 的 輸 出 形 式 為 電 壓 時(shí) , 轉(zhuǎn) 換 時(shí) 間 要 加 上 運(yùn)算 放 大 器 的 延 遲 時(shí) 間 而 長(zhǎng) 一 點(diǎn) , 一 般 在 幾 十 微 秒 內(nèi) 。3 轉(zhuǎn) 換 速 度 2021/6/16 16 4 建 立 時(shí) 間 建 立
12、時(shí) 間 是 指 從 輸 入 數(shù) 字 量 變 化 到 輸 出 達(dá) 到 終 值 誤 差 (1/2)LSB(最 低 有 效 位 )時(shí) 所 需 的 時(shí) 間 , 即 輸 入 的 數(shù) 字 量 變 化后 , 輸 出 模 擬 量 穩(wěn) 定 到 相 應(yīng) 的 數(shù) 字 范 圍 內(nèi) 所 需 的 時(shí) 間 。 通 常 以 建 立 時(shí) 間 來(lái) 表 示 轉(zhuǎn) 換 速 度 。 輸 入 編 碼 形 式 是 指 D/A轉(zhuǎn) 換 電 路 輸 入 的 數(shù) 字 量 的 形 式 。如 二 進(jìn) 制 碼 、 BCD碼 等 。5 輸 入 編 碼 形 式 2021/6/16 17 6 線 性 度 線 性 度 是 指 D/A轉(zhuǎn) 換 器 的 實(shí) 際 轉(zhuǎn) 移
13、 特 性 與 理 想 直 線 之 間 的最 大 誤 差 , 或 最 大 偏 移 。 通 常 給 出 在 一 定 溫 度 下 的 最 大 非 線性 度 , 一 般 為 0.01% 0.03 。 大 部 分 D/A轉(zhuǎn) 換 芯 片 是 電 壓 型 輸 出 , 一 般 為 5 10V; 也有 高 壓 輸 出 型 的 , 為 24 30V。 有 一 些 是 電 流 型 的 輸 出 , 低者 為 20mA左 右 , 高 者 可 達(dá) 3A。7 輸 出 電 平 8 尖 峰 尖 峰 是 輸 入 的 數(shù) 字 量 發(fā) 生 變 化 時(shí) 產(chǎn) 生 的 瞬 時(shí) 誤 差 。 通 常尖 峰 的 轉(zhuǎn) 換 時(shí) 間 很 短 , 但
14、幅 度 很 大 。 在 許 多 場(chǎng) 合 是 不 允 許有 尖 峰 存 在 的 , 應(yīng) 采 取 措 施 予 以 消 除 。 2021/6/16 18 正 確 了 解 D/A轉(zhuǎn) 換 器 件 的 技 術(shù) 性 能 參 數(shù) , 對(duì) 于 合 理 選 用轉(zhuǎn) 換 芯 片 、 正 確 設(shè) 計(jì) 接 口 電 路 十 分 重 要 。 D/A轉(zhuǎn) 換 器 的 性 能 指 標(biāo) 很 多 , 但 在 選 用 合 適 的 芯 片 型 號(hào)時(shí) 主 要 考 慮 的 是 它 的 分 辨 率 、 精 度 和 轉(zhuǎn) 換 速 度 。 2021/6/16 19 目 前 單 片 機(jī) 系 統(tǒng) 常 用 的 D/A轉(zhuǎn) 換 器 的 轉(zhuǎn) 換 精 度 有 8位
15、 、 10位 、 12位 等 , 與 單 片 機(jī) 的 接 口 方 式 有 并 行 接 口 、 串 行 接 口 。9.1.3 DAC0832芯 片 及 其 與 單 片 機(jī) 接 口 電 路 1 DAC0832芯 片 介 紹( 1) DAC0832的 性 能 8位 D/A轉(zhuǎn) 換 器 , 單 電 源 供 電 , 在 +5 +15 V范 圍 均 可 正 常工 作 。 基 準(zhǔn) 電 壓 的 范 圍 為 10V; 電 流 建 立 時(shí) 間 為 1 s; CMOS工 藝 , 低 功 耗 (僅 為 20 mW)。 2021/6/16 20 DAC0832主 要 特 性 : 輸 出 電 流 線 性 度 可 在 滿 量
16、 程 下 調(diào) 節(jié) ; 轉(zhuǎn) 換 時(shí) 間 ( 電 流 建 立 時(shí) 間 ) 為 ; 數(shù) 據(jù) 輸 入 可 采 用 雙 緩 沖 、 單 緩 沖 或 直 通 方 式 ; 增 益 溫 度 補(bǔ) 償 為 0.02%FS/ ; 每 次 輸 入 數(shù) 字 為 8位 二 進(jìn) 制 數(shù) ; 低 功 耗 , 20mW; 邏 輯 電 平 輸 入 與 TTL兼 容 ; 基 準(zhǔn) 電 壓 的 范 圍 為 10V; 單 電 源 供 電 , 可 在 5 15V 內(nèi) 正 常 工 作 。 2021/6/16 21 ( 2) DAC0832的 內(nèi) 部 結(jié) 構(gòu) 2021/6/16 22 該 轉(zhuǎn) 換 器 由 輸 入 寄 存 器 和 DAC寄 存
17、器 構(gòu) 成 兩 級(jí) 數(shù) 據(jù) 輸 入鎖 存 。 使 用 時(shí) 數(shù) 據(jù) 輸 入 可 以 采 用 兩 級(jí) 鎖 存 (雙 鎖 存 )形 式 , 或單 級(jí) 鎖 存 (一 級(jí) 鎖 存 , 一 級(jí) 直 通 )形 式 , 或 直 接 輸 入 (兩 級(jí) 直通 )形 式 。 此 外 , 由 3個(gè) 與 門(mén) 電 路 可 組 成 寄 存 器 輸 出 控 制 邏 輯 電 路 ,該 邏 輯 電 路 的 功 能 是 進(jìn) 行 數(shù) 據(jù) 鎖 存 控 制 。 當(dāng) =0時(shí) , 輸 入數(shù) 據(jù) 被 鎖 存 ; 當(dāng) =1時(shí) , 鎖 存 器 的 輸 出 跟 隨 輸 入 的 數(shù) 據(jù) 。 D/A轉(zhuǎn) 換 電 路 是 一 個(gè) R-2R T型 電 阻 網(wǎng)
18、 絡(luò) , 可 實(shí) 現(xiàn) 8位 數(shù) 據(jù)的 轉(zhuǎn) 換 。 ILE ILE 2021/6/16 23 ( 3) DAC0832的 引 腳 DAC0832為 20引 腳 、 雙 列 直 插 式 封 裝 。Vcc: 電 源 線 。 DAC0832的 電 源 可 以在 5 15V內(nèi) 變 化 。 典 型 使 用 時(shí) 用+15V電 源 。AGND和 DGND: AGND為 模 擬 量 地 線 ,DGND為 數(shù) 字 量 地 線 。 使 用 時(shí) , 這 兩 個(gè)接 地 端 應(yīng) 始 終 連 在 一 起 。CS: 片 選 輸 入 信 號(hào) , 低 電 平 有 效 。 只 有 當(dāng) CS=0時(shí) ,這 片 DAC0832才 被 選
19、 中 。DI0 DI7: 8位 數(shù) 字 量 輸 入 端 。 應(yīng) 用 時(shí) , 如 果 數(shù) 據(jù) 不足 8位 , 則 不 用 的 位 一 般 接 地 。 2021/6/16 24 ILE: 輸 入 鎖 存 允 許 信 號(hào) , 高 電 平 有 效 。 只 有 當(dāng) ILE=1時(shí) , 輸 入 數(shù) 字 量 才可 能 進(jìn) 入 8位 輸 入 寄 存 器 。WR1: 寫(xiě) 信 號(hào) 1, 低 電 平 有 效 , 控 制 輸 入 寄 存 器 的 寫(xiě) 入 。 ILE和 WR1信號(hào) 控 制 輸 入 寄 存 器 是 數(shù) 據(jù) 直 通 方 式 還 是 數(shù) 據(jù) 鎖 存 方 式 : 當(dāng) ILE=1且WR1=0時(shí) , 為 輸 入 寄
20、存 器 直 通 方 式 ; 當(dāng) ILE=1且 WR1=1時(shí) , 為 輸 入 寄存 器 鎖 存 方 式 。WR2: 寫(xiě) 信 號(hào) 2, 低 電 平 有 效 , 控 制 DAC寄 存 器 的 寫(xiě) 入 。XFER: 數(shù) 據(jù) 傳 送 控 制 輸 入 信 號(hào) , 低 電 平 有 效 , 控 制 數(shù) 據(jù) 從 輸 入 寄 存 器到 DAC寄 存 器 的 傳 送 。 WR2和 XFER信 號(hào) 控 制 DAC寄 存 器 是 數(shù) 據(jù) 直 通 方式 還 是 數(shù) 據(jù) 鎖 存 方 式 : 當(dāng) WR2=0且 XFER =0時(shí) , 為 DAC寄 存 器 直 通 方式 ; 當(dāng) WR2=1或 XFER =1時(shí) , 為 DAC寄
21、存 器 鎖 存 方 式 。 2021/6/16 25 Vref: 參 考 電 壓 線 。 Vref接 外 部 的 標(biāo) 準(zhǔn) 電 源 , 與 芯 片 內(nèi) 的電 阻 網(wǎng) 絡(luò) 相 連 接 , 該 電 壓 可 正 可 負(fù) , 范 圍 為 10 10V。Iout1和 Iout2: 電 流 輸 出 端 。 Iout1為 DAC電 流 輸 出 1, 當(dāng)DAC寄 存 器 中 的 數(shù) 據(jù) 為 0 xFF時(shí) , 輸 出 電 流 最 大 , 當(dāng) DAC寄存 器 中 的 數(shù) 據(jù) 為 0 x00時(shí) , 輸 出 電 流 為 。 Iout2為 DAC電流 輸 出 2。 DAC轉(zhuǎn) 換 器 的 特 性 之 一 是 Iout1 I
22、out2=常 數(shù)。 在 實(shí) 際 使 用 時(shí) , 總 是 將 電 流 轉(zhuǎn) 為 電 壓 來(lái) 使 用 , 即 將Iout1和 Iout2加 到 一 個(gè) 運(yùn) 算 放 大 器 的 輸 入 端 。 2021/6/16 26 Rfb: 運(yùn) 算 放 大 器 的 反 饋 電 阻 端 , 電 阻 ( 15k ) 已 固 化 在芯 片 中 。 因 為 DAC0832是 電 流 輸 出 型 D/A轉(zhuǎn) 換 器 , 為 得 到電 壓 的 轉(zhuǎn) 換 輸 出 , 使 用 時(shí) 需 在 兩 個(gè) 電 流 輸 出 端 接 運(yùn) 算 放大 器 , Rfb即 為 運(yùn) 算 放 大 器 的 反 饋 電 阻 。 圖 9.5 運(yùn) 算 放 大 器 的
23、 接 法 2021/6/16 27 ( 4) DAC0832的 工 作 原 理 將 數(shù) 字 量 的 每 一 位 按 權(quán) 值 分 別 轉(zhuǎn) 換 成 模 擬 量 , 再 通 過(guò)運(yùn) 算 放 大 器 求 和 相 加 , D/A轉(zhuǎn) 換 器 內(nèi) 部 有 一 個(gè) 解 碼 網(wǎng) 絡(luò) ,以 實(shí) 現(xiàn) 按 權(quán) 值 分 別 進(jìn) 行 D/A轉(zhuǎn) 換 。( 5) DAC0832的 輸 出 DAC0832是 電 流 輸 出 型D/A轉(zhuǎn) 換 器 。 圖 9.6 DAC0832單 極 性 電 壓 輸 出 電 路單 極 性 輸 出 運(yùn) 放 :Vout Iout1 Rfb B Vref/256 2021/6/16 28 雙 極 性 輸
24、出 運(yùn) 放 :Vout ( Vout1/R Vref/2R ) 2R 2Vout1 Vref 2B Vref/256 Vref B Vref/128 Vref Vref (B 128)/128 圖 9.7 DAC0832雙 極 性 電 壓 輸 出 電 路 當(dāng) Vref為 正 , 數(shù) 字量 在 0 x01 0 x7F之間 變 化 時(shí) , Vout為負(fù) 值 ; 當(dāng) 數(shù) 字 量 在0 x80 0 xFF之 間變 化 時(shí) , Vout為 正值 。 2021/6/16 29 ( 1) 直 通 方 式 下 的 接 口 電 路 直 通 方 式 是 數(shù) 據(jù) 直 接 輸 入 (兩 級(jí) 直 通 )的 形 式 。
25、兩 個(gè) 8位 數(shù) 據(jù) 寄 存 器 都 處 于 數(shù) 據(jù) 接 收 狀 態(tài) , LE1=1,LE2=1, ILE=1, 而 WR1、 WR2、 CS和 XFER均 為 0。 輸 入 數(shù) 據(jù) 直接 送 到 內(nèi) 部 D/A轉(zhuǎn) 換 器 去 轉(zhuǎn) 換 。 2 DAC0832與 51單 片 機(jī) 的 接 口 電 路 DAC0832的 工 作 方 式 : 直 通 方 式 、 單 緩 沖 方 式 和 雙 緩 沖 方 式 2021/6/16 30圖 9.8 直 通 方 式 下 89C51與 DAC0832的 連 接 圖 2021/6/16 31 ( 2) 單 緩 沖 方 式 下 的 接 口 電 路 單 緩 沖 方 式
26、是 單 級(jí) 鎖 存 (一 級(jí) 鎖 存 , 一 級(jí) 直 通 )形 式 ,就 是 使 DAC0832的 兩 個(gè) 8位 數(shù) 據(jù) 寄 存 器 中 有 一 個(gè) 處 于 直 通 方式 , 而 另 一 個(gè) 處 于 受 控 的 鎖 存 方 式 , 或 者 兩 個(gè) 8位 數(shù) 據(jù) 寄 存器 處 于 同 時(shí) 受 控 的 方 式 , 即 同 時(shí) 送 數(shù) , 同 時(shí) 鎖 存 。 在 單 緩 沖 工 作 方 式 下 , 可 以 將 8位 DAC寄 存 器 置 于 直 通方 式 。 為 此 , 應(yīng) 將 WR2和 XFER接 地 , 而 輸 入 寄 存 器 的 工 作 狀態(tài) 受 單 片 機(jī) 的 控 制 。 2021/6/16
27、 32 WR=0, P2.7=0, DAC0832的 地 址 為 0 x7FFF,將 數(shù) 字 量 0 x08轉(zhuǎn) 換 為 模 擬 量 的 程 序 :#define DAC0832 XBYTE0 x7FFFDAC0832=0 x08;或 output(0 x7FFF, 0 x08); 2021/6/16 33 兩 個(gè) 輸 入 寄 存 器 同 時(shí) 受 控 的 連 接 方 法 , WR1和 WR2一 起接 89C51的 WR, CS和 XFER共 同 接 89C51的 P2.7, 因 此 兩 個(gè)寄 存 器 的 地 址 相 同 。 2021/6/16 34 ( 3) 雙 緩 沖 方 式 下 的 接 口
28、電 路 雙 緩 沖 方 式 的 數(shù) 據(jù) 輸 入 可 以 采 用 兩 級(jí) 鎖 存 (雙 鎖 存 )的 形 式 ,就 是 把 DAC0832的 兩 個(gè) 鎖 存 器 都 接 成 受 控 鎖 存 方 式 。 DAC0832的WR1、 WR2、 CS和 XFER都 受 單 片 機(jī) 送 來(lái) 的 信 號(hào) 的 控 制 。 當(dāng) WR=0, P2.7=0, P2.6=1, 8位 輸 入 寄 存 器 處 于 送 數(shù) 狀 態(tài) , 8位 DAC寄 存 器 處 于 鎖 存 狀 態(tài) , 不 能 進(jìn) 行 D/A轉(zhuǎn) 換 。 2021/6/16 35 雙 緩 沖 方 式 下 89C51與 兩 片 DAC0832的 連 接 圖 2
29、021/6/16 36 如 DAC0832的 8位 輸 入 寄 存 器 地 址 為 0 x7FFF, WR=0,P2.7=1, P2.6=0, 8位 DAC寄 存 器 處 于 送 數(shù) 據(jù) 狀 態(tài) , 開(kāi) 始 進(jìn)行 D/A轉(zhuǎn) 換 。 DAC0832的 8位 DAC寄 存 器 的 地 址 為 0 xBFFF, 將一 個(gè) 數(shù) 字 量 轉(zhuǎn) 換 為 模 擬 量 的 程 序 : #define DAC0832_1 XBYTE0 xBFFF#define DAC0832_2 XBYTE0 x7FFFDAC0832_1=0 x08;DAC0832_2=0 x08;或 output(0 xBFFF, 0 x08
30、) ; output(0 x7FFF, 0 x08) ; 2021/6/16 37 1 任 務(wù) 要 求9.1.4 燈 光 亮 度 調(diào) 節(jié) 器 的 設(shè) 計(jì) 用 AT89C51單 片 機(jī) 和 DAC0832控 制 一 個(gè) 發(fā) 光 二 極 管 , 使發(fā) 光 二 極 管 的 亮 度 逐 漸 變 暗 , 再 逐 漸 變 亮 , 不 斷 循 環(huán) 。 2 任 務(wù) 分 析 改 變 發(fā) 光 二 極 管 的 亮 度 , 就 要 改 變 通 過(guò) 發(fā) 光 二 極 管的 電 流 。 方 法 很 多 , 利 用 AT89C51控 制 DAC0832數(shù) 模 轉(zhuǎn) 換芯 片 , DAC0832的 輸 出 轉(zhuǎn) 換 成 電 壓 去
31、 驅(qū) 動(dòng) 發(fā) 光 二 極 管 。 當(dāng)DAC0832的 輸 入 數(shù) 字 量 變 化 時(shí) , 輸 出 電 壓 改 變 , 通 過(guò) 發(fā) 光二 極 管 的 電 流 變 化 , 發(fā) 光 二 極 管 的 亮 度 就 改 變 。 2021/6/16 38 3 任 務(wù) 設(shè) 計(jì) ( 1) 器 件 選 擇器 件 名 稱 數(shù) 量 ( 只 )AT89C51 16MHz 晶 體 122pF瓷 片 電 容 210uF電 解 電 容 110k電 阻 1470電 阻 1uA471 1DAC0832 1 發(fā) 光 二 極 管 LED 1 2021/6/16 39 ( 2) 硬 件 原 理 圖 設(shè) 計(jì) DAC0832單 緩 沖 方
32、 式 , P2和 P0決 定 地 址 , 片 選 信 號(hào) CS低 電 平有 效 , P2.7為 0, DAC0832的 地 址 為 0 x7FFF。 8 123 456 7 123 4 876 5 XTAL218 XTAL119 ALE30 EA31 PSEN29 RST9 P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37 P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34 P0.6/AD6 33P0.7/AD7 32 P1.01 P1.12 P1.23 P1.34 P1.45 P1.56 P1.67 P1.78 P3.0/RXD 10P3.1/TXD 11P
33、3.2/INT0 12 P3.3/INT1 13P3.4/T0 14 P3.7/RD 17P3.6/WR 16P3.5/T1 15 P2.7/A15 28 P2.0/A8 21P2.1/A9 22P2.2/A10 23 P2.3/A11 24P2.4/A12 25P2.5/A13 26 P2.6/A14 27 U1 AT89C51 C1 22pFC2 22pF C3 10uF R110k VREF8 GND3 VCC 20CS1 WR12 DI34 DI2 5 DI16 DI07 RFB9 GND10 IOUT1 11IOUT2 12DI7 13DI6 14 DI5 15DI4 16XFER
34、17 WR2 18ILE(BY1/BY2) 19 U2 DAC0832 32 67 4 1 5 U3 UA741 WR WRXF R2470 +12V X16MHz 7 4 1 5 XF -5V -12V D1LED-GREEN 2021/6/16 40 ( 3) 軟 件 程 序 設(shè) 計(jì) :#include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF/延 時(shí) 子 程 序void DelayMS(uint x) uchar t; while(x-) for(t=
35、0;t0;i-) AC0832=i; DelayMS(1); for(i=0;i256;i+) AC0832=i; DelayMS(1); 2021/6/16 41 ( 4) 軟 硬 件 聯(lián) 合 調(diào) 試 在 Protus環(huán) 境 下 , 將 編 譯 好 的 軟 件 下 載 到 AT89C51中運(yùn) 行 , 可 以 看 到 LED燈 如 任 務(wù) 要 求 的 一 樣 先 由 亮 逐 漸 變 暗 ,再 由 暗 逐 漸 變 亮 。 2021/6/16 42 1 任 務(wù) 要 求任 務(wù) 9.2 信 號(hào) 發(fā) 生 器 的 設(shè) 計(jì) 用 單 片 機(jī) AT89C51和 D/A轉(zhuǎn) 換 芯 片 DAC0832組 成 的 信
36、 號(hào)發(fā) 生 器 生 成 要 求 周 期 和 幅 度 ( 0V+5V) 的 鋸 齒 波 、 三 角 波 、方 波 或 正 弦 波 。 2 任 務(wù) 分 析 鋸 齒 波 : 向 DAC0832反 復(fù) 送 入 0 x000 xFF數(shù) 據(jù) , 就 會(huì) 生 成 幅 度 為 0V+5V的 鋸 齒 波三 角 波 : 向 DAC0832反 復(fù) 送 入 0 x000 xFF和 0 xFF 0 x00數(shù) 據(jù) , 就 會(huì) 生 成 幅 度 為 0V+5V的 三 角 波方 波 : 向 DAC0832送 入 一 定 時(shí) 長(zhǎng) 的 0 x00和 一 定 時(shí) 長(zhǎng) 的 0 xFF, 就 會(huì) 生 成 幅 度 為 0V+5V的 方 波
37、 2021/6/16 43 波 形 的 周 期 與 單 片 機(jī) 的 機(jī) 器 周 期 和 程 序 中 的 延 時(shí) 長(zhǎng) 短 相 關(guān) 。正 弦 波 : 等 時(shí) 間 間 隔 分 割 正 弦 信 號(hào) , 計(jì) 算 出 分 割 時(shí) 刻 的 信 號(hào) 幅 值 , 將 幅 值 對(duì) 應(yīng) 的 數(shù) 字 量 存 儲(chǔ) 到 ROM中 , 然 后 用 查 表 的 方 法 取 出 這 些 取 樣 值 , 送 到 DAC0832轉(zhuǎn) 換 后 輸 出 , 那 么 輸 出 信 號(hào) 就 是 正 弦 波 形 。 如 : 波 形 頻 率 為 50Hz的 正 弦 波 信 號(hào) , 正 弦 波 信 號(hào) 以 5 作 為 1個(gè) 階 梯 , 則 分 成
38、360 5 72份 , 時(shí) 間 間 隔 為 20 72 0.278ms。 當(dāng) 參 考 電 壓 為 5V時(shí) , 72個(gè) 采 樣 值 、 輸 出 電 壓 值 、 正 弦 值 、 角 度 如 表 9.2所 示 。 2021/6/16 44 X sinX 輸 出 電 壓 輸 入 數(shù) 字 量0 90 90 180 180 270 270 3600 0.0000 2.500V 0 x7F 0 xFF 0 x7F 0 x005 0.0872 2.718V 0 x8A 0 xFE 0 x75 0 x0110 0.1736 2.934V 0 x95 0 xFD 0 x6A 0 x0215 0.2588 3.14
39、7V 0 xA0 0 xFA 0 x5F 0 x0420 0.3420 3.355V 0 xAB 0 xF7 0 x54 0 x0725 0.4226 3.557V 0 xB5 0 xF3 0 x4A 0 x0C30 0.5000 3.750V 0 xBF 0 xED 0 x40 0 x11 35 0.5736 3.934V 0 xC8 0 xE7 0 x36 0 x1740 0.6428 4.107V 0 xD1 0 xE1 0 x2D 0 x1E45 0.7071 4.268V 0 xD9 0 xD9 0 x25 0 x2550 0.7660 4.415V 0 xE1 0 xD1 0 x1
40、E 0 x2D55 0.8192 4.548V 0 xE7 0 xC8 0 x17 0 x3660 0.8660 4.665V 0 xED 0 xBF 0 x11 0 x4065 0.9093 4.773V 0 xF3 0 xB5 0 x0C 0 x4A70 0.9397 4.849 V 0XF7 0 xAB 0 x07 0 x5475 0.9659 4.915V 0 xFA 0 xA0 0 x04 0 x5F 80 0.9848 4.962V 0 xFD 0 x95 0 x02 0 x6A85 0.9962 4.991V 0 xFE 0 x8A 0 x01 0 x7590 1.0000 5.
41、000V 0 xFF 0 x7F 0 x00 0 x7F 表 9.2 正 弦 波 數(shù) 據(jù) 表 2021/6/16 45 3 任 務(wù) 設(shè) 計(jì) ( 1) 器 件 選 擇器 件 名 稱 數(shù) 量 ( 只 )AT89C51 16MHz 晶 體 122pF瓷 片 電 容 210uF電 解 電 容 110k電 阻 110k可 變 電 阻 11k電 阻 1 uA471 1DAC0832 1數(shù) 字 電 壓 表 1示 波 器 1 2021/6/16 4681234567 123 4 876 5 XTAL218 XTAL119 ALE30 EA31 PSEN29 RST9 P0.0/AD0 39P0.1/AD1 3
42、8P0.2/AD2 37 P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34 P0.6/AD6 33P0.7/AD7 32 P1.01 P1.12 P1.23 P1.34 P1.45 P1.56 P1.67 P1.78 P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12 P3.3/INT1 13P3.4/T0 14 P3.7/RD 17P3.6/WR 16P3.5/T1 15 P2.7/A15 28 P2.0/A8 21P2.1/A9 22P2.2/A10 23 P2.3/A11 24P2.4/A12 25P2.5/A13 26 P2.6/A14 27 U1
43、AT89C51 C1 22pFC2 22pF C3 10uF R110k VREF8 GND3 VCC 20CS1 WR12 DI34 DI25 DI16 DI07 RFB9 GND10 IOUT1 11IOUT2 12DI7 13DI6 14 DI5 15DI4 16XFER 17 WR2 18ILE(BY1/BY2) 19 U2 DAC0832 32 67 4 1 5 U3 UA741 WR WR XF XF -5V R21K +12V -12V ABC D 10k +88.8AC Volts X16M 7 4 1 5 -12V ( 2) 硬 件 原 理 圖設(shè) 計(jì) DAC0832工 作于
44、單 緩 沖 方 式 , 地址 為 0 x7FFF。 Vref接 5V電 壓 , 輸 出的 單 極 性 電 壓 在0 5V之 間 變 化 。 2021/6/16 47 ( 3) 軟 件 程 序 設(shè) 計(jì) : 產(chǎn) 生 鋸 齒 波 的 源 程 序 如 下 :#include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF/延 時(shí) 子 程 序void DelayMS(uint x) uchar t; while(x-) for(t=0;t120;t+); / 主 程 序 生
45、 成 鋸 齒 波void main() uchar i; while(1) for(i=0;i256;i+) DAC0832=i; DelayMS(1); 2021/6/16 48 產(chǎn) 生 三 角 波 的 源 程 序 如 下 : #include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF/延 時(shí) 子 程 序void DelayMS(uint x) uchar t; while(x-) for(t=0;t120;t+); / 主 程 序 生 成 三 角 波vo
46、id main() uchar i; while(1) for(i=0;i0;i-) DAC0832=i; DelayMS(1); 2021/6/16 49 產(chǎn) 生 正 弦 波 的 源 程 序 如 下 :#include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF 2021/6/16 50 /初 始 化 正 弦 波 波 形 數(shù) 據(jù) 數(shù) 組uchar code data =0 x7F, 0 x8A, 0 x95, 0 xA0, 0 xAB, 0XB5, 0 xB
47、F, 0 xC8, 0 xD1, 0 xD9, 0 xE1, 0 xE7, 0 xED, 0 xF3, 0 xF7, 0 xFA, 0 xFD, 0 xFE, 0 xFF, 0 xFE, 0 xFD, 0 xFA, 0 xBF, 0 xF3, 0 xED, 0 xE7, 0 xE1, 0 xD9, 0 xD1, 0 xC8, 0 xBF, 0 xB5, 0 xAB, 0 xA0, 0 x95, 0 x8A, 0 x7F, 0 x75, 0 x6A, 0 x5F, 0 x54, 0 x4A, 0 x40, 0 x36, 0 x2D, 0 x25, 0 x1E, 0 x17, 0 x11, 0 x
48、0C, 0 x07, 0 x04, 0 x02, 0 x01, 0 x00, 0 x01, 0 x02, 0 x04, 0 x07, 0 x0C, 0 x11, 0 x17, 0 x1E, 0 x25, 0 x2D, 0 x36, 0 x40, 0 x4A, 0 x54, 0 x5F, 0 x6A, 0 x75; 2021/6/16 51 /延 時(shí) 子 程 序void DelayMS(uint x) uchar t; while(x-) for(t=0;t120;t+);/主 程 序 生 成 正 弦 波void main() uchar i; while(1) for(i=0;i72;i+)
49、DAC0832= datai; DelayMS(1); 2021/6/16 52 ( 4) 軟 硬 件 聯(lián) 合 調(diào) 試 將 上 面 相 應(yīng) 波 形 的 程 序 編 譯 為 *.hex文 件 后 , 在 Proteus繪 制 的 原 理 圖 中 , 將 *.hex文 件 加 載 到 單 片 機(jī) AT89C51中 運(yùn) 行 ,在 虛 擬 示 波 器 上 可 以 看 到 對(duì) 應(yīng) 的 波 形 圖 。 在 Proteus仿 真 運(yùn)行 過(guò) 程 中 可 能 會(huì) 提 示 CPU過(guò) 載 , 這 時(shí) 虛 擬 示 波 器 可 能 會(huì) 無(wú) 法實(shí) 時(shí) 顯 示 波 形 , 可 將 虛 擬 示 波 器 通 道 A中 指 向
50、1的 黃 色 旋 鈕 從1開(kāi) 始 先 正 向 旋 轉(zhuǎn) 一 圈 , 再 反 向 旋 轉(zhuǎn) 一 圈 , 這 樣 會(huì) 使 虛 擬 示波 器 盡 快 刷 新 顯 示 波 形 。 2021/6/16 53 1 PCF8591簡(jiǎn) 介項(xiàng) 目 拓 展 串 行 D/A轉(zhuǎn) 換 芯 片 PCF8591在 實(shí) 驗(yàn) 板 上 的 應(yīng) 用 PCF8591是 一 個(gè) 單 片 集 成 的 具 有 I2C總 線 接 口 的 8位 A/D及 D/A轉(zhuǎn) 換 器 , 有 4路 A/D輸 入 , 1路 D/A輸 出 。 PCF8591的 輸入 輸 出 地 址 、 控 制 和 數(shù) 據(jù) 信 號(hào) 都 是 通 過(guò) I2C總 線 以 串 行 的 方
51、式 進(jìn) 行 傳 輸 。 2021/6/16 54 PCF8591的 主 要 特 性 : 單 獨(dú) 供 電 PCF8591的 操 作 電 壓 范 圍 +2.5V+6V 低 待 機(jī) 電 流 通 過(guò) IC總 線 串 行 輸 入 /輸 出 PCF8591通 過(guò) 3個(gè) 硬 件 地 址 引 腳 尋 址 PCF8591的 采 樣 率 由 IC總 線 速 率 決 定 4個(gè) 模 擬 輸 入 可 編 程 為 單 端 型 或 差 分 輸 入 自 動(dòng) 增 量 頻 道 選 擇 PCF8591的 模 擬 電 壓 范 圍 從 VSS到 VDD PCF8591內(nèi) 置 跟 蹤 保 持 電 路 8-bit逐 次 逼 近 A/D轉(zhuǎn)
52、換 器 通 過(guò) 1路 模 擬 輸 出 實(shí) 現(xiàn) DAC增 益 2021/6/16 55 2 PCF8591內(nèi) 部 結(jié) 構(gòu) 框 圖 2021/6/16 56 3 PCF8591引 腳 功 能 引 腳 序 號(hào) 引 腳 名 稱 引 腳 功 能1 AIN0 模 擬 量 輸 入 端 口2 AIN13 AIN24 AIN35 A0 模 擬 通 道 選 擇 地 址6 A17 A28 VSS 負(fù) 電 源 電 壓9 SDA IC總 線 數(shù) 據(jù) 信 號(hào)10 SCL IC總 線 時(shí) 鐘 信 號(hào)11 OSC 外 部 時(shí) 鐘 輸 入 端 , 內(nèi) 部 時(shí) 鐘 輸 出 端 12 EXT 內(nèi) 部 、 外 部 時(shí) 鐘 選 擇 線
53、 , 使 用 內(nèi) 部 時(shí) 鐘 時(shí) EXT 接 地13 AGND 模 擬 信 號(hào) 地14 Vref 基 準(zhǔn) 電 源 電 壓15 AOUT D/A 轉(zhuǎn) 換 模 擬 量 輸 出 端16 VDD 正 電 源 電 壓 2021/6/16 57 4 PCF8591工 作 原 理 PCF8591采 用 典 型 的 I2C總 線 接 口 器 件 尋 址 方 法 , 即 總線 地 址 由 器 件 地 址 ( 1001) 、 引 腳 地 址 ( 由 A0A2接 地 或+5V來(lái) 確 定 , 接 地 代 表 0, 接 +5V代 表 1) 、 方 向 位 ( 即 R/W)組 成 。 在 I2C總 線 系 統(tǒng) 中 最 多
54、 可 接 8個(gè) 這 樣 的 器 件 。D7 D6 D5 D4 D3 D2 D1 D01 0 0 1 A2 A1 A0 R/W表 9.5 PCF8591總 線 地 址 2021/6/16 58 R/W=1表 示 讀 操 作 , R/W=0表 示 寫(xiě) 操 作 。 如 果 將 A0A2接地 , 則 讀 地 址 為 91H; 寫(xiě) 地 址 為 90H。 地 址 字 節(jié) : 由 器 件 地 址 、 引 腳 地 址 、 方 向 位 組 成 , 它 是 通 信時(shí) 主 機(jī) 發(fā) 送 的 第 一 字 節(jié) 數(shù) 據(jù) 。 控 制 字 節(jié) : 用 于 控 制 PCF8951的 輸 入 方 式 、 輸 入 通 道 、D/A轉(zhuǎn)
55、 換 等 , 是 通 信 時(shí) 主 機(jī) 發(fā) 送 的 第 二 字 節(jié) 數(shù) 據(jù) , 其 格 式 如 下表 。 D7 D6 D5 D4 D3 D2 D1 D0 未 用 ( 寫(xiě) 0 ) D/A輸 出 允許 位 0 為 禁 止 1 為 允 許 A/D輸 入 方 式 選 擇 位0 0 : 4 路 單 端 輸 入 0 1 : 3 路 差 分 輸1 0 : 單 端 與 差 分 1 1 : 2 路 差 分 輸 入 未 用 ( 寫(xiě) 0 ) 自 動(dòng) 增 益選 擇 位 0 為 禁 用 1 為 啟 用 AD通 道 選 擇 位 0 0 : 選 擇 通 道 0 0 1 : 選 擇 通 道 1 1 0 : 選 擇 通 道 2
56、1 1 : 選 擇 通 道 3 2021/6/16 59 D/A轉(zhuǎn) 換 的 數(shù) 據(jù) 輸 入 和 A/D轉(zhuǎn) 換 的 數(shù) 據(jù) 輸 出 都 是 通 過(guò) I2C總 線串 行 輸 入 和 輸 出 的 。 因 此 PCF8951中 I2C總 線 的 通 信 格 式 包 括 寫(xiě)數(shù) 據(jù) 格 式 和 讀 數(shù) 據(jù) 格 式 。PCF8591的 I2C總 線 寫(xiě) 數(shù) 據(jù) 格 式 :第 一 字 節(jié) 第 二 字 節(jié) 第 三 字 節(jié)寫(xiě) 入 器 件 地 址 ( 9 0 H) 寫(xiě) 入 控 制 字 節(jié) 要 寫(xiě) 入 的 數(shù) 據(jù)向 PCF8 5 9 1 寫(xiě) 入 格 式 ( 高 位 在 前 )PCF8591的 I2C總 線 讀 數(shù) 據(jù)
57、 格 式 :第 一 字 節(jié) 第 二 字 節(jié) 第 三 字 節(jié) 第 四 字 節(jié) 寫(xiě) 入 器 件 地 址 (9 0 H寫(xiě) ) 寫(xiě) 入 控 制 字 節(jié) 寫(xiě) 入 器 件 地 址 (9 1 H讀 ) 讀 出 一 字 節(jié) 數(shù)據(jù)從 PCF8 5 9 1 讀 數(shù) 據(jù) 格 式 ( 高 位 在 前 ) 2021/6/16 60 5 I2C總 線 ( 1) I2C總 線 數(shù) 據(jù) 位 的 傳 輸 I2C總 線 上 每 傳 輸 一 個(gè) 數(shù) 據(jù) 位 必 須 產(chǎn) 生 一 個(gè) 時(shí) 鐘 脈 沖 , I2C總線 上 數(shù) 據(jù) 傳 輸 的 有 效 性 要 求 SDA線 上 的 數(shù) 據(jù) 必 須 在 時(shí) 鐘 線 SCL的高 電 平 期 間
58、 保 存 穩(wěn) 定 , 數(shù) 據(jù) 線 的 改 變 只 能 在 時(shí) 鐘 線 為 低 電 平 期間 。 I2C總 線 由 2根 線 : 串 行 數(shù) 據(jù) 線 ( SDA) 和 串 行 時(shí) 鐘 線 ( SCL) ???線 上 的 每 一 個(gè) 器 件 都 有 一 個(gè) 唯 一 的 地 址 。 2021/6/16 61 ( 2) I2C總 線 數(shù) 據(jù) 的 傳 輸數(shù) 據(jù) 傳 輸 中 的 應(yīng) 答 : 相 應(yīng) 的 應(yīng) 答 位 由 接 收 方 ( 從 機(jī) ) 產(chǎn) 生 , 在應(yīng) 答 的 時(shí) 鐘 脈 沖 期 間 , 發(fā) 送 方 ( 主 機(jī) ) 應(yīng) 釋 放 SDA線 ( 使 其 為高 電 平 ) 。 在 應(yīng) 答 過(guò) 程 中
59、, 接 收 方 ( 從 機(jī) ) 必 須 將 數(shù) 據(jù) 線 SDA拉 低 , 使 它 在 這 個(gè) 時(shí) 鐘 脈 沖 的 高 電 平 期 間 保 持 穩(wěn) 定 的 低 電 平 。數(shù) 據(jù) 傳 輸 的 字 節(jié) 格 式 : 發(fā) 送 到 SDA線 上 的 每 一 個(gè) 字 節(jié) 必 須 為 8位 ,每 次 發(fā) 送 的 字 節(jié) 數(shù) 量 不 受 限 制 , 從 機(jī) 在 接 收 完 一 個(gè) 字 節(jié) 后 向 主機(jī) 發(fā) 送 一 個(gè) 應(yīng) 答 位 , 主 機(jī) 在 收 到 從 機(jī) 應(yīng) 答 后 才 會(huì) 發(fā) 送 第 二 字 節(jié)數(shù) 據(jù) , 發(fā) 送 數(shù) 據(jù) 時(shí) 先 發(fā) 數(shù) 據(jù) 的 最 高 位 。 2021/6/16 62 ( 3) I2C
60、總 線 的 傳 輸 協(xié) 議主 機(jī) 寫(xiě) 數(shù) 據(jù) 到 從 機(jī) 的 通 信 格 式 :1 2 3 4 5 6 7 N N-1主 機(jī)產(chǎn) 生起 始位 發(fā) 從機(jī) 地址90H 等 待從 機(jī)應(yīng) 答 發(fā) 送數(shù) 據(jù) 等 待從 機(jī)應(yīng) 答 發(fā) 送數(shù) 據(jù) 等 待從 機(jī)應(yīng) 答 。 。 。 停 止位 2021/6/16 63 主 機(jī) 從 從 機(jī) 中 讀 數(shù) 據(jù) 的 通 信 格 式 :1 2 3 4 5 6 7 N N-1主 機(jī) 產(chǎn)生 起 始位 發(fā) 從 機(jī)地 址 91H 等 待 從機(jī) 應(yīng) 答 接 收 從機(jī) 發(fā) 出的 數(shù) 據(jù) 向 從 機(jī)應(yīng) 答 接 收 從機(jī) 發(fā) 出的 數(shù) 據(jù) 向 從 機(jī)應(yīng) 答 。 。 。 主 機(jī) 產(chǎn)生 停 止位
61、 2021/6/16 64 6. 實(shí) 驗(yàn) 板 上 鋸 齒 波 信 號(hào) 的 輸 出( 1) STC89C52控 制 PCF8591生 成 鋸 齒 波 信 號(hào) 的 電 路 設(shè) 計(jì)將 U15的 J23的 19和 20腳 用 杜 邦 線 與 J8的 SDA和 SCL腳 連 接 。 2021/6/16 65 ( 2) 生 成 鋸 齒 波 的 軟 件 設(shè) 計(jì) 主 程 序 main.c:/ PCF8591 的 DA轉(zhuǎn) 換 程 序 #include #include i2c.h#define AddWr 0 x90 /寫(xiě) 數(shù) 據(jù) 地 址 #define AddRd 0 x91 /讀 數(shù) 據(jù) 地 址/鋸 齒 波
62、 數(shù) 據(jù) 表 , 表 格 數(shù) 值 越 多 , 波 形 越 平 滑unsigned char code tab = 0,10,20,30,40,50,60,70,80,90, 100, 110,120,130,140,150,160,170,180, 190,200, 210,220,230,240,250 ; /定 義 全 局 變 量extern bit ack; 2021/6/16 66 /寫(xiě) 入 DA轉(zhuǎn) 換 數(shù) 值 , dat表 示 需 要 輸 入 轉(zhuǎn) 換 的 DA數(shù) 值 , 從 0-255bit WriteDAC(unsigned char dat,unsigned char num)
63、unsigned char i; Start_I2c(); /啟 動(dòng) 總 線 SendByte(AddWr); /發(fā) 送 器 件 地 址 if(ack=0) return(0); SendByte(0 x40); /發(fā) 送 器 件 子 地 址 if(ack=0) return(0); for(i=0;inum;i+) SendByte(dat); /發(fā) 送 數(shù) 據(jù) if(ack=0) return(0); Stop_I2c(); 2021/6/16 67 /主 程 序main() unsigned char i; while (1) for(i=0;i26;i+) WriteDAC(tab1i
64、,1); 2021/6/16 68 I2C頭 文 件 i2c.h:#ifndef _I2C_H_#define _I2C_H_ #include /頭 文 件 的 包 含#include #define _Nop() _nop_() /定 義 空 指 令/啟 動(dòng) 總 線void Start_I2c();/結(jié) 束 總 線void Stop_I2c();/字 節(jié) 數(shù) 據(jù) 傳 送 函 數(shù) void SendByte(unsigned char c);#endif 2021/6/16 69 I2C程 序 i2c.c:/函 數(shù) 是 采 用 軟 件 延 時(shí) 的 方 法 產(chǎn) 生 SCL脈 沖 , 晶 振 頻
65、 率 是 12MHz,即 機(jī) 器 周 期 為 1us#include i2c.h#define _Nop() _nop_() /定 義 空 指 令bit ack; /應(yīng) 答 標(biāo) 志 位sbit SDA=P21;sbit SCL=P20;、/啟 動(dòng) 總 線void Start_I2c() SDA=1; /發(fā) 送 起 始 條 件 的 數(shù) 據(jù) 信 號(hào) _Nop(); SCL=1; _Nop(); /起 始 條 件 建 立 時(shí) 間 大 于 4.7us,延 時(shí) _Nop(); _Nop(); _Nop(); _Nop(); 2021/6/16 70 SDA=0; /發(fā) 送 起 始 信 號(hào) _Nop();
66、 /起 始 條 件 鎖 定 時(shí) 間 大 于 4 _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; /鉗 住 I2C總 線 , 準(zhǔn) 備 發(fā) 送 或 接 收 數(shù) 據(jù) _Nop(); _Nop();/結(jié) 束 總 線void Stop_I2c() SDA=0; /發(fā) 送 結(jié) 束 條 件 的 數(shù) 據(jù) 信 號(hào) _Nop(); /發(fā) 送 結(jié) 束 條 件 的 時(shí) 鐘 信 號(hào) SCL=1; /結(jié) 束 條 件 建 立 時(shí) 間 大 于 4 _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=1; /發(fā) 送 I2C總 線 結(jié) 束 信 號(hào) _Nop(); _Nop(); _Nop(); _Nop(); 2021/6/16 71 /字 節(jié) 數(shù) 據(jù) 傳 送 函 數(shù) void SendByte(unsigned char c) unsigned char BitCnt; for(BitCnt=0;BitCnt8;BitCnt+) /要 傳 送 的 數(shù) 據(jù) 長(zhǎng) 度 為 8位 if(cBitCnt) /判 斷 發(fā) 送 位 else SDA=0; _Nop()
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對(duì)文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷(xiāo)售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷(xiāo)售話術(shù)和技巧
- 銷(xiāo)售技巧:接近客戶的8種套路
- 銷(xiāo)售套路總結(jié)
- 房產(chǎn)銷(xiāo)售中的常見(jiàn)問(wèn)題及解決方法
- 銷(xiāo)售技巧:值得默念的成交話術(shù)
- 銷(xiāo)售資料:讓人舒服的35種說(shuō)話方式
- 汽車(chē)銷(xiāo)售績(jī)效管理規(guī)范
- 銷(xiāo)售技巧培訓(xùn)課件:絕對(duì)成交的銷(xiāo)售話術(shù)
- 頂尖銷(xiāo)售技巧總結(jié)
- 銷(xiāo)售技巧:電話營(yíng)銷(xiāo)十大定律
- 銷(xiāo)售逼單最好的二十三種技巧
- 銷(xiāo)售最常遇到的10大麻煩