項目9 信號發(fā)生器的設計
《項目9 信號發(fā)生器的設計》由會員分享,可在線閱讀,更多相關《項目9 信號發(fā)生器的設計(78頁珍藏版)》請在裝配圖網上搜索。
1、2021/6/16 1電子工業(yè)出版社 單 片 機 控 制 技 術 項 目 式 教 程 ( C語 言 版 ) 2021/6/16 2電子工業(yè)出版社 項 目 9 信 號 發(fā) 生 器 的 設 計 2021/6/16 3 l 能 了 解 D/A轉 換 器 的 相 關 技 術 指 標 ; l 能 理 解 DAC0832的 工 作 原 理 與 應 用 方 法 ; l 能 掌 握 DAC0832與 51單 片 機 的 接 口 方 法 ;l 能 掌 握 信 號 發(fā) 生 器 的 硬 件 電 路 的 分 析 與 設 計 方 法 ;l 能 熟 練 編 寫 信 號 發(fā) 生 器 產 生 各 種 波 形 信 號 的 單
2、片 機 控 制程 序 。 學 習 目 標 2021/6/16 4 l 敘 述 D/A轉 換 器 的 技 術 指 標 要 求 ;l 敘 述 DAC0832的 工 作 原 理 ;l 設 計 單 片 機 控 制 的 信 號 發(fā) 生 器 的 工 作 電 路 ;l 編 寫 信 號 發(fā) 生 器 產 生 各 種 波 形 信 號 的 單 片 機 控 制 程 序 。 工 作 任 務 2021/6/16 5 任 務 9.1 燈 光 亮 度 調 節(jié) 器 的 設 計任 務 9.2 信 號 發(fā) 生 器 的 設 計項 目 拓 展 串 行 D/A轉 換 芯 片 PCF8591在 實 驗 板 上 的 應 用項 目 小 結思
3、考 與 訓 練項 目 9 信 號 發(fā) 生 器 的 設 計 2021/6/16 6 任 務 9.1 燈 光 亮 度 調 節(jié) 器 的 設 計l D/A轉 換 的 功 能 就 是 將 數 字 量 轉 換 成 模 擬 量 。l 基 本 的 D/A轉 換 器 由 電 壓 基 準 或 電 流 基 準 、 精 密 電 阻 網 絡 、電 子 開 關 及 全 電 流 求 和 電 路 構 成 。9.1.1 D/A轉 換 器 的 基 本 原 理1 D/A 轉 換 器 的 分 類按 工 作 方 式 分 : 并 行 D/A轉 換 器 ( 權 電 阻 D/A轉 換 器 、 R- 2R T型 D/A轉 換 器 ) 串 行
4、D/A轉 換 器 間 接 D/A轉 換 器 2021/6/16 7 按 D/A轉 換 的 分 辨 率 分 : 低 分 辨 率 D/A轉 換 器 中 分 辨 率 D/A轉 換 器 高 分 辨 率 D/A轉 換 器按 模 擬 量 輸 出 方 式 分 : 電 流 輸 出 D/A轉 換 器 電 壓 輸 出 D/A轉 換 器按 模 擬 電 子 開 關 電 路 的 不 同 分 : CMOS開 關 型 D/A轉 換 器 ( 速 度 要 求 不 高 ) 雙 極 型 開 關 D/A轉 換 器 電 流 開 關 型 ( 速 度 要 求 較 高 ) ECL電 流 開 關 型 ( 轉 換 速 度 更 高 ) 2021/
5、6/16 8 2 D/A 轉 換 器 的 組 成 D/A轉 換 器 由 數 碼 寄 存 器 、 模 擬 電 子 開 關 電 路 、 解 碼 網絡 、 求 和 電 路 及 基 準 電 壓 等 幾 部 分 組 成 。 以 R-2R T型 D/A轉 換 器 為 例 , 其 由 基 準 電 壓 Vref、 T型( R-2R) 電 阻 網 絡 、 位 切 換 開 關 和 運 算 放 大 器 組 成 。 2021/6/16 9 3 D/A 轉 換 器 的 工 作 原 理 數 字 量 是 用 代 碼 按 數 位 組 合 起 來 表 示 的 , 對 于 有 權 碼 ,每 位 代 碼 都 有 一 定 的 位 權
6、 。 為 了 將 數 字 量 轉 換 成 模 擬 量 ,必 須 將 每 1位 的 代 碼 按 其 位 權 的 大 小 轉 換 成 相 應 的 模 擬 量 ,然 后 將 這 些 模 擬 量 相 加 , 即 可 得 到 與 數 字 量 成 正 比 的 總 模擬 量 , 實 現 數 字 模 擬 轉 換 。 2021/6/16 10 R-2R T型 D/A轉 換 器 工 作 原 理 : 圖 9.1 R-2R T型 D/A轉 換 器 原 理 電 路 2021/6/16 11 圖 示 的 電 路 是 一 個 3位 二 進 制 數 的 D/A轉 換 電 路 , 每 位 二進 制 數 控 制 一 個 開 關
7、S。 當 第 i位 的 數 碼 為 “ 0”時 , 開 關 Si打在 左 邊 ; 當 第 i位 的 數 碼 為 “ 1”時 , 開 關 Si打 在 右 邊 。 當 S0接通 時 , 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位 二 進 制 數 的 轉 換 , 可 得 一 般 表
8、達 式 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 輸 出 電 壓 會 因 器 件 誤 差 、 集 成 運 放 的 非 理 想 特 性 而 產 生一 定 的 轉 換 誤 差 。 2021/6/16 13 一 般 D/A轉 換 器 : OUT B Ur其 中 : Ur為 常 量 , 由 參 考 Uref決 定 。 B為 輸 入 數 字 量 , 為 二 進 制 數 。 B可 為 8位 、 12位 、 16 位 等
9、, 由 DAC芯 片 型 號 決 定 。當 B為 n位 時 : 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轉 換 器 對 輸 入 量 變 化 敏 感 程 度 的 描 述 , 與輸 入 數 字 量 的 位 數 有 關 。 如 果 數 字 量 的 位 數 為 n, 則 D/A轉換 器 的 分 辨 率 為 1/2n。 即 數 /模 轉 換 器 能 對 滿 刻 度 的 1/2n輸 入量 作 出 反 應 。 9.1.2
10、D/A轉 換 器 的 技 術 性 能 指 標分 辨 率 輸 出 模 擬 量 的 滿 量 程 值 2n如 : 8位 數 的 分 辨 率 為 1/256, 10位 數 分 辨 率 為 1/1024通 常 用 D/A轉 換 器 輸 入 數 字 量 的 位 數 來 表 示 分 辨 率 。D/A轉 換 器 常 可 分 為 8位 、 10位 、 12位 三 種 。 2021/6/16 15 2 精 度 如 果 不 考 慮 D/A的 轉 換 誤 差 , D/A轉 換 的 精 度 為 其 分 辨率 的 大 小 。 因 此 , 要 獲 得 一 定 精 度 的 D/A轉 換 結 果 , 首 要 條件 是 選 擇
11、有 足 夠 分 辨 率 的 D/A轉 換 器 。 轉 換 速 度 是 DAC每 秒 可 以 轉 換 的 次 數 , 其 倒 數 為 轉 換時 間 。 轉 換 時 間 是 指 從 輸 入 數 字 量 到 轉 換 為 模 擬 量 輸 出 所需 的 時 間 。 當 D/A轉 換 器 的 輸 出 形 式 為 電 流 時 , 轉 換 時 間 較短 ; 當 D/A轉 換 器 的 輸 出 形 式 為 電 壓 時 , 轉 換 時 間 要 加 上 運算 放 大 器 的 延 遲 時 間 而 長 一 點 , 一 般 在 幾 十 微 秒 內 。3 轉 換 速 度 2021/6/16 16 4 建 立 時 間 建 立
12、時 間 是 指 從 輸 入 數 字 量 變 化 到 輸 出 達 到 終 值 誤 差 (1/2)LSB(最 低 有 效 位 )時 所 需 的 時 間 , 即 輸 入 的 數 字 量 變 化后 , 輸 出 模 擬 量 穩(wěn) 定 到 相 應 的 數 字 范 圍 內 所 需 的 時 間 。 通 常 以 建 立 時 間 來 表 示 轉 換 速 度 。 輸 入 編 碼 形 式 是 指 D/A轉 換 電 路 輸 入 的 數 字 量 的 形 式 。如 二 進 制 碼 、 BCD碼 等 。5 輸 入 編 碼 形 式 2021/6/16 17 6 線 性 度 線 性 度 是 指 D/A轉 換 器 的 實 際 轉 移
13、 特 性 與 理 想 直 線 之 間 的最 大 誤 差 , 或 最 大 偏 移 。 通 常 給 出 在 一 定 溫 度 下 的 最 大 非 線性 度 , 一 般 為 0.01% 0.03 。 大 部 分 D/A轉 換 芯 片 是 電 壓 型 輸 出 , 一 般 為 5 10V; 也有 高 壓 輸 出 型 的 , 為 24 30V。 有 一 些 是 電 流 型 的 輸 出 , 低者 為 20mA左 右 , 高 者 可 達 3A。7 輸 出 電 平 8 尖 峰 尖 峰 是 輸 入 的 數 字 量 發(fā) 生 變 化 時 產 生 的 瞬 時 誤 差 。 通 常尖 峰 的 轉 換 時 間 很 短 , 但
14、幅 度 很 大 。 在 許 多 場 合 是 不 允 許有 尖 峰 存 在 的 , 應 采 取 措 施 予 以 消 除 。 2021/6/16 18 正 確 了 解 D/A轉 換 器 件 的 技 術 性 能 參 數 , 對 于 合 理 選 用轉 換 芯 片 、 正 確 設 計 接 口 電 路 十 分 重 要 。 D/A轉 換 器 的 性 能 指 標 很 多 , 但 在 選 用 合 適 的 芯 片 型 號時 主 要 考 慮 的 是 它 的 分 辨 率 、 精 度 和 轉 換 速 度 。 2021/6/16 19 目 前 單 片 機 系 統 常 用 的 D/A轉 換 器 的 轉 換 精 度 有 8位
15、 、 10位 、 12位 等 , 與 單 片 機 的 接 口 方 式 有 并 行 接 口 、 串 行 接 口 。9.1.3 DAC0832芯 片 及 其 與 單 片 機 接 口 電 路 1 DAC0832芯 片 介 紹( 1) DAC0832的 性 能 8位 D/A轉 換 器 , 單 電 源 供 電 , 在 +5 +15 V范 圍 均 可 正 常工 作 。 基 準 電 壓 的 范 圍 為 10V; 電 流 建 立 時 間 為 1 s; CMOS工 藝 , 低 功 耗 (僅 為 20 mW)。 2021/6/16 20 DAC0832主 要 特 性 : 輸 出 電 流 線 性 度 可 在 滿 量
16、 程 下 調 節(jié) ; 轉 換 時 間 ( 電 流 建 立 時 間 ) 為 ; 數 據 輸 入 可 采 用 雙 緩 沖 、 單 緩 沖 或 直 通 方 式 ; 增 益 溫 度 補 償 為 0.02%FS/ ; 每 次 輸 入 數 字 為 8位 二 進 制 數 ; 低 功 耗 , 20mW; 邏 輯 電 平 輸 入 與 TTL兼 容 ; 基 準 電 壓 的 范 圍 為 10V; 單 電 源 供 電 , 可 在 5 15V 內 正 常 工 作 。 2021/6/16 21 ( 2) DAC0832的 內 部 結 構 2021/6/16 22 該 轉 換 器 由 輸 入 寄 存 器 和 DAC寄 存
17、器 構 成 兩 級 數 據 輸 入鎖 存 。 使 用 時 數 據 輸 入 可 以 采 用 兩 級 鎖 存 (雙 鎖 存 )形 式 , 或單 級 鎖 存 (一 級 鎖 存 , 一 級 直 通 )形 式 , 或 直 接 輸 入 (兩 級 直通 )形 式 。 此 外 , 由 3個 與 門 電 路 可 組 成 寄 存 器 輸 出 控 制 邏 輯 電 路 ,該 邏 輯 電 路 的 功 能 是 進 行 數 據 鎖 存 控 制 。 當 =0時 , 輸 入數 據 被 鎖 存 ; 當 =1時 , 鎖 存 器 的 輸 出 跟 隨 輸 入 的 數 據 。 D/A轉 換 電 路 是 一 個 R-2R T型 電 阻 網
18、 絡 , 可 實 現 8位 數 據的 轉 換 。 ILE ILE 2021/6/16 23 ( 3) DAC0832的 引 腳 DAC0832為 20引 腳 、 雙 列 直 插 式 封 裝 。Vcc: 電 源 線 。 DAC0832的 電 源 可 以在 5 15V內 變 化 。 典 型 使 用 時 用+15V電 源 。AGND和 DGND: AGND為 模 擬 量 地 線 ,DGND為 數 字 量 地 線 。 使 用 時 , 這 兩 個接 地 端 應 始 終 連 在 一 起 。CS: 片 選 輸 入 信 號 , 低 電 平 有 效 。 只 有 當 CS=0時 ,這 片 DAC0832才 被 選
19、 中 。DI0 DI7: 8位 數 字 量 輸 入 端 。 應 用 時 , 如 果 數 據 不足 8位 , 則 不 用 的 位 一 般 接 地 。 2021/6/16 24 ILE: 輸 入 鎖 存 允 許 信 號 , 高 電 平 有 效 。 只 有 當 ILE=1時 , 輸 入 數 字 量 才可 能 進 入 8位 輸 入 寄 存 器 。WR1: 寫 信 號 1, 低 電 平 有 效 , 控 制 輸 入 寄 存 器 的 寫 入 。 ILE和 WR1信號 控 制 輸 入 寄 存 器 是 數 據 直 通 方 式 還 是 數 據 鎖 存 方 式 : 當 ILE=1且WR1=0時 , 為 輸 入 寄
20、存 器 直 通 方 式 ; 當 ILE=1且 WR1=1時 , 為 輸 入 寄存 器 鎖 存 方 式 。WR2: 寫 信 號 2, 低 電 平 有 效 , 控 制 DAC寄 存 器 的 寫 入 。XFER: 數 據 傳 送 控 制 輸 入 信 號 , 低 電 平 有 效 , 控 制 數 據 從 輸 入 寄 存 器到 DAC寄 存 器 的 傳 送 。 WR2和 XFER信 號 控 制 DAC寄 存 器 是 數 據 直 通 方式 還 是 數 據 鎖 存 方 式 : 當 WR2=0且 XFER =0時 , 為 DAC寄 存 器 直 通 方式 ; 當 WR2=1或 XFER =1時 , 為 DAC寄
21、存 器 鎖 存 方 式 。 2021/6/16 25 Vref: 參 考 電 壓 線 。 Vref接 外 部 的 標 準 電 源 , 與 芯 片 內 的電 阻 網 絡 相 連 接 , 該 電 壓 可 正 可 負 , 范 圍 為 10 10V。Iout1和 Iout2: 電 流 輸 出 端 。 Iout1為 DAC電 流 輸 出 1, 當DAC寄 存 器 中 的 數 據 為 0 xFF時 , 輸 出 電 流 最 大 , 當 DAC寄存 器 中 的 數 據 為 0 x00時 , 輸 出 電 流 為 。 Iout2為 DAC電流 輸 出 2。 DAC轉 換 器 的 特 性 之 一 是 Iout1 I
22、out2=常 數。 在 實 際 使 用 時 , 總 是 將 電 流 轉 為 電 壓 來 使 用 , 即 將Iout1和 Iout2加 到 一 個 運 算 放 大 器 的 輸 入 端 。 2021/6/16 26 Rfb: 運 算 放 大 器 的 反 饋 電 阻 端 , 電 阻 ( 15k ) 已 固 化 在芯 片 中 。 因 為 DAC0832是 電 流 輸 出 型 D/A轉 換 器 , 為 得 到電 壓 的 轉 換 輸 出 , 使 用 時 需 在 兩 個 電 流 輸 出 端 接 運 算 放大 器 , Rfb即 為 運 算 放 大 器 的 反 饋 電 阻 。 圖 9.5 運 算 放 大 器 的
23、 接 法 2021/6/16 27 ( 4) DAC0832的 工 作 原 理 將 數 字 量 的 每 一 位 按 權 值 分 別 轉 換 成 模 擬 量 , 再 通 過運 算 放 大 器 求 和 相 加 , D/A轉 換 器 內 部 有 一 個 解 碼 網 絡 ,以 實 現 按 權 值 分 別 進 行 D/A轉 換 。( 5) DAC0832的 輸 出 DAC0832是 電 流 輸 出 型D/A轉 換 器 。 圖 9.6 DAC0832單 極 性 電 壓 輸 出 電 路單 極 性 輸 出 運 放 :Vout Iout1 Rfb B Vref/256 2021/6/16 28 雙 極 性 輸
24、出 運 放 :Vout ( Vout1/R Vref/2R ) 2R 2Vout1 Vref 2B Vref/256 Vref B Vref/128 Vref Vref (B 128)/128 圖 9.7 DAC0832雙 極 性 電 壓 輸 出 電 路 當 Vref為 正 , 數 字量 在 0 x01 0 x7F之間 變 化 時 , Vout為負 值 ; 當 數 字 量 在0 x80 0 xFF之 間變 化 時 , Vout為 正值 。 2021/6/16 29 ( 1) 直 通 方 式 下 的 接 口 電 路 直 通 方 式 是 數 據 直 接 輸 入 (兩 級 直 通 )的 形 式 。
25、兩 個 8位 數 據 寄 存 器 都 處 于 數 據 接 收 狀 態(tài) , LE1=1,LE2=1, ILE=1, 而 WR1、 WR2、 CS和 XFER均 為 0。 輸 入 數 據 直接 送 到 內 部 D/A轉 換 器 去 轉 換 。 2 DAC0832與 51單 片 機 的 接 口 電 路 DAC0832的 工 作 方 式 : 直 通 方 式 、 單 緩 沖 方 式 和 雙 緩 沖 方 式 2021/6/16 30圖 9.8 直 通 方 式 下 89C51與 DAC0832的 連 接 圖 2021/6/16 31 ( 2) 單 緩 沖 方 式 下 的 接 口 電 路 單 緩 沖 方 式
26、是 單 級 鎖 存 (一 級 鎖 存 , 一 級 直 通 )形 式 ,就 是 使 DAC0832的 兩 個 8位 數 據 寄 存 器 中 有 一 個 處 于 直 通 方式 , 而 另 一 個 處 于 受 控 的 鎖 存 方 式 , 或 者 兩 個 8位 數 據 寄 存器 處 于 同 時 受 控 的 方 式 , 即 同 時 送 數 , 同 時 鎖 存 。 在 單 緩 沖 工 作 方 式 下 , 可 以 將 8位 DAC寄 存 器 置 于 直 通方 式 。 為 此 , 應 將 WR2和 XFER接 地 , 而 輸 入 寄 存 器 的 工 作 狀態(tài) 受 單 片 機 的 控 制 。 2021/6/16
27、 32 WR=0, P2.7=0, DAC0832的 地 址 為 0 x7FFF,將 數 字 量 0 x08轉 換 為 模 擬 量 的 程 序 :#define DAC0832 XBYTE0 x7FFFDAC0832=0 x08;或 output(0 x7FFF, 0 x08); 2021/6/16 33 兩 個 輸 入 寄 存 器 同 時 受 控 的 連 接 方 法 , WR1和 WR2一 起接 89C51的 WR, CS和 XFER共 同 接 89C51的 P2.7, 因 此 兩 個寄 存 器 的 地 址 相 同 。 2021/6/16 34 ( 3) 雙 緩 沖 方 式 下 的 接 口
28、電 路 雙 緩 沖 方 式 的 數 據 輸 入 可 以 采 用 兩 級 鎖 存 (雙 鎖 存 )的 形 式 ,就 是 把 DAC0832的 兩 個 鎖 存 器 都 接 成 受 控 鎖 存 方 式 。 DAC0832的WR1、 WR2、 CS和 XFER都 受 單 片 機 送 來 的 信 號 的 控 制 。 當 WR=0, P2.7=0, P2.6=1, 8位 輸 入 寄 存 器 處 于 送 數 狀 態(tài) , 8位 DAC寄 存 器 處 于 鎖 存 狀 態(tài) , 不 能 進 行 D/A轉 換 。 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寄 存 器 處 于 送 數 據 狀 態(tài) , 開 始 進行 D/A轉 換 。 DAC0832的 8位 DAC寄 存 器 的 地 址 為 0 xBFFF, 將一 個 數 字 量 轉 換 為 模 擬 量 的 程 序 : #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 任 務 要 求9.1.4 燈 光 亮 度 調 節(jié) 器 的 設 計 用 AT89C51單 片 機 和 DAC0832控 制 一 個 發(fā) 光 二 極 管 , 使發(fā) 光 二 極 管 的 亮 度 逐 漸 變 暗 , 再 逐 漸 變 亮 , 不 斷 循 環(huán) 。 2 任 務 分 析 改 變 發(fā) 光 二 極 管 的 亮 度 , 就 要 改 變 通 過 發(fā) 光 二 極 管的 電 流 。 方 法 很 多 , 利 用 AT89C51控 制 DAC0832數 模 轉 換芯 片 , DAC0832的 輸 出 轉 換 成 電 壓 去
31、 驅 動 發(fā) 光 二 極 管 。 當DAC0832的 輸 入 數 字 量 變 化 時 , 輸 出 電 壓 改 變 , 通 過 發(fā) 光二 極 管 的 電 流 變 化 , 發(fā) 光 二 極 管 的 亮 度 就 改 變 。 2021/6/16 38 3 任 務 設 計 ( 1) 器 件 選 擇器 件 名 稱 數 量 ( 只 )AT89C51 16MHz 晶 體 122pF瓷 片 電 容 210uF電 解 電 容 110k電 阻 1470電 阻 1uA471 1DAC0832 1 發(fā) 光 二 極 管 LED 1 2021/6/16 39 ( 2) 硬 件 原 理 圖 設 計 DAC0832單 緩 沖 方
32、 式 , P2和 P0決 定 地 址 , 片 選 信 號 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) 軟 件 程 序 設 計 :#include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF/延 時 子 程 序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) 軟 硬 件 聯 合 調 試 在 Protus環(huán) 境 下 , 將 編 譯 好 的 軟 件 下 載 到 AT89C51中運 行 , 可 以 看 到 LED燈 如 任 務 要 求 的 一 樣 先 由 亮 逐 漸 變 暗 ,再 由 暗 逐 漸 變 亮 。 2021/6/16 42 1 任 務 要 求任 務 9.2 信 號 發(fā) 生 器 的 設 計 用 單 片 機 AT89C51和 D/A轉 換 芯 片 DAC0832組 成 的 信
36、 號發(fā) 生 器 生 成 要 求 周 期 和 幅 度 ( 0V+5V) 的 鋸 齒 波 、 三 角 波 、方 波 或 正 弦 波 。 2 任 務 分 析 鋸 齒 波 : 向 DAC0832反 復 送 入 0 x000 xFF數 據 , 就 會 生 成 幅 度 為 0V+5V的 鋸 齒 波三 角 波 : 向 DAC0832反 復 送 入 0 x000 xFF和 0 xFF 0 x00數 據 , 就 會 生 成 幅 度 為 0V+5V的 三 角 波方 波 : 向 DAC0832送 入 一 定 時 長 的 0 x00和 一 定 時 長 的 0 xFF, 就 會 生 成 幅 度 為 0V+5V的 方 波
37、 2021/6/16 43 波 形 的 周 期 與 單 片 機 的 機 器 周 期 和 程 序 中 的 延 時 長 短 相 關 。正 弦 波 : 等 時 間 間 隔 分 割 正 弦 信 號 , 計 算 出 分 割 時 刻 的 信 號 幅 值 , 將 幅 值 對 應 的 數 字 量 存 儲 到 ROM中 , 然 后 用 查 表 的 方 法 取 出 這 些 取 樣 值 , 送 到 DAC0832轉 換 后 輸 出 , 那 么 輸 出 信 號 就 是 正 弦 波 形 。 如 : 波 形 頻 率 為 50Hz的 正 弦 波 信 號 , 正 弦 波 信 號 以 5 作 為 1個 階 梯 , 則 分 成
38、360 5 72份 , 時 間 間 隔 為 20 72 0.278ms。 當 參 考 電 壓 為 5V時 , 72個 采 樣 值 、 輸 出 電 壓 值 、 正 弦 值 、 角 度 如 表 9.2所 示 。 2021/6/16 44 X sinX 輸 出 電 壓 輸 入 數 字 量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 正 弦 波 數 據 表 2021/6/16 45 3 任 務 設 計 ( 1) 器 件 選 擇器 件 名 稱 數 量 ( 只 )AT89C51 16MHz 晶 體 122pF瓷 片 電 容 210uF電 解 電 容 110k電 阻 110k可 變 電 阻 11k電 阻 1 uA471 1DAC0832 1數 字 電 壓 表 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) 硬 件 原 理 圖設 計 DAC0832工 作于
44、單 緩 沖 方 式 , 地址 為 0 x7FFF。 Vref接 5V電 壓 , 輸 出的 單 極 性 電 壓 在0 5V之 間 變 化 。 2021/6/16 47 ( 3) 軟 件 程 序 設 計 : 產 生 鋸 齒 波 的 源 程 序 如 下 :#include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF/延 時 子 程 序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 產 生 三 角 波 的 源 程 序 如 下 : #include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF/延 時 子 程 序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 產 生 正 弦 波 的 源 程 序 如 下 :#include #include #define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0 x7FFF 2021/6/16 50 /初 始 化 正 弦 波 波 形 數 據 數 組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 /延 時 子 程 序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) 軟 硬 件 聯 合 調 試 將 上 面 相 應 波 形 的 程 序 編 譯 為 *.hex文 件 后 , 在 Proteus繪 制 的 原 理 圖 中 , 將 *.hex文 件 加 載 到 單 片 機 AT89C51中 運 行 ,在 虛 擬 示 波 器 上 可 以 看 到 對 應 的 波 形 圖 。 在 Proteus仿 真 運行 過 程 中 可 能 會 提 示 CPU過 載 , 這 時 虛 擬 示 波 器 可 能 會 無 法實 時 顯 示 波 形 , 可 將 虛 擬 示 波 器 通 道 A中 指 向
50、1的 黃 色 旋 鈕 從1開 始 先 正 向 旋 轉 一 圈 , 再 反 向 旋 轉 一 圈 , 這 樣 會 使 虛 擬 示波 器 盡 快 刷 新 顯 示 波 形 。 2021/6/16 53 1 PCF8591簡 介項 目 拓 展 串 行 D/A轉 換 芯 片 PCF8591在 實 驗 板 上 的 應 用 PCF8591是 一 個 單 片 集 成 的 具 有 I2C總 線 接 口 的 8位 A/D及 D/A轉 換 器 , 有 4路 A/D輸 入 , 1路 D/A輸 出 。 PCF8591的 輸入 輸 出 地 址 、 控 制 和 數 據 信 號 都 是 通 過 I2C總 線 以 串 行 的 方
51、式 進 行 傳 輸 。 2021/6/16 54 PCF8591的 主 要 特 性 : 單 獨 供 電 PCF8591的 操 作 電 壓 范 圍 +2.5V+6V 低 待 機 電 流 通 過 IC總 線 串 行 輸 入 /輸 出 PCF8591通 過 3個 硬 件 地 址 引 腳 尋 址 PCF8591的 采 樣 率 由 IC總 線 速 率 決 定 4個 模 擬 輸 入 可 編 程 為 單 端 型 或 差 分 輸 入 自 動 增 量 頻 道 選 擇 PCF8591的 模 擬 電 壓 范 圍 從 VSS到 VDD PCF8591內 置 跟 蹤 保 持 電 路 8-bit逐 次 逼 近 A/D轉
52、換 器 通 過 1路 模 擬 輸 出 實 現 DAC增 益 2021/6/16 55 2 PCF8591內 部 結 構 框 圖 2021/6/16 56 3 PCF8591引 腳 功 能 引 腳 序 號 引 腳 名 稱 引 腳 功 能1 AIN0 模 擬 量 輸 入 端 口2 AIN13 AIN24 AIN35 A0 模 擬 通 道 選 擇 地 址6 A17 A28 VSS 負 電 源 電 壓9 SDA IC總 線 數 據 信 號10 SCL IC總 線 時 鐘 信 號11 OSC 外 部 時 鐘 輸 入 端 , 內 部 時 鐘 輸 出 端 12 EXT 內 部 、 外 部 時 鐘 選 擇 線
53、 , 使 用 內 部 時 鐘 時 EXT 接 地13 AGND 模 擬 信 號 地14 Vref 基 準 電 源 電 壓15 AOUT D/A 轉 換 模 擬 量 輸 出 端16 VDD 正 電 源 電 壓 2021/6/16 57 4 PCF8591工 作 原 理 PCF8591采 用 典 型 的 I2C總 線 接 口 器 件 尋 址 方 法 , 即 總線 地 址 由 器 件 地 址 ( 1001) 、 引 腳 地 址 ( 由 A0A2接 地 或+5V來 確 定 , 接 地 代 表 0, 接 +5V代 表 1) 、 方 向 位 ( 即 R/W)組 成 。 在 I2C總 線 系 統 中 最 多
54、 可 接 8個 這 樣 的 器 件 。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表 示 寫 操 作 。 如 果 將 A0A2接地 , 則 讀 地 址 為 91H; 寫 地 址 為 90H。 地 址 字 節(jié) : 由 器 件 地 址 、 引 腳 地 址 、 方 向 位 組 成 , 它 是 通 信時 主 機 發(fā) 送 的 第 一 字 節(jié) 數 據 。 控 制 字 節(jié) : 用 于 控 制 PCF8951的 輸 入 方 式 、 輸 入 通 道 、D/A轉
55、 換 等 , 是 通 信 時 主 機 發(fā) 送 的 第 二 字 節(jié) 數 據 , 其 格 式 如 下表 。 D7 D6 D5 D4 D3 D2 D1 D0 未 用 ( 寫 0 ) D/A輸 出 允許 位 0 為 禁 止 1 為 允 許 A/D輸 入 方 式 選 擇 位0 0 : 4 路 單 端 輸 入 0 1 : 3 路 差 分 輸1 0 : 單 端 與 差 分 1 1 : 2 路 差 分 輸 入 未 用 ( 寫 0 ) 自 動 增 益選 擇 位 0 為 禁 用 1 為 啟 用 AD通 道 選 擇 位 0 0 : 選 擇 通 道 0 0 1 : 選 擇 通 道 1 1 0 : 選 擇 通 道 2
56、1 1 : 選 擇 通 道 3 2021/6/16 59 D/A轉 換 的 數 據 輸 入 和 A/D轉 換 的 數 據 輸 出 都 是 通 過 I2C總 線串 行 輸 入 和 輸 出 的 。 因 此 PCF8951中 I2C總 線 的 通 信 格 式 包 括 寫數 據 格 式 和 讀 數 據 格 式 。PCF8591的 I2C總 線 寫 數 據 格 式 :第 一 字 節(jié) 第 二 字 節(jié) 第 三 字 節(jié)寫 入 器 件 地 址 ( 9 0 H) 寫 入 控 制 字 節(jié) 要 寫 入 的 數 據向 PCF8 5 9 1 寫 入 格 式 ( 高 位 在 前 )PCF8591的 I2C總 線 讀 數 據
57、 格 式 :第 一 字 節(jié) 第 二 字 節(jié) 第 三 字 節(jié) 第 四 字 節(jié) 寫 入 器 件 地 址 (9 0 H寫 ) 寫 入 控 制 字 節(jié) 寫 入 器 件 地 址 (9 1 H讀 ) 讀 出 一 字 節(jié) 數據從 PCF8 5 9 1 讀 數 據 格 式 ( 高 位 在 前 ) 2021/6/16 60 5 I2C總 線 ( 1) I2C總 線 數 據 位 的 傳 輸 I2C總 線 上 每 傳 輸 一 個 數 據 位 必 須 產 生 一 個 時 鐘 脈 沖 , I2C總線 上 數 據 傳 輸 的 有 效 性 要 求 SDA線 上 的 數 據 必 須 在 時 鐘 線 SCL的高 電 平 期 間
58、 保 存 穩(wěn) 定 , 數 據 線 的 改 變 只 能 在 時 鐘 線 為 低 電 平 期間 。 I2C總 線 由 2根 線 : 串 行 數 據 線 ( SDA) 和 串 行 時 鐘 線 ( SCL) ???線 上 的 每 一 個 器 件 都 有 一 個 唯 一 的 地 址 。 2021/6/16 61 ( 2) I2C總 線 數 據 的 傳 輸數 據 傳 輸 中 的 應 答 : 相 應 的 應 答 位 由 接 收 方 ( 從 機 ) 產 生 , 在應 答 的 時 鐘 脈 沖 期 間 , 發(fā) 送 方 ( 主 機 ) 應 釋 放 SDA線 ( 使 其 為高 電 平 ) 。 在 應 答 過 程 中
59、, 接 收 方 ( 從 機 ) 必 須 將 數 據 線 SDA拉 低 , 使 它 在 這 個 時 鐘 脈 沖 的 高 電 平 期 間 保 持 穩(wěn) 定 的 低 電 平 。數 據 傳 輸 的 字 節(jié) 格 式 : 發(fā) 送 到 SDA線 上 的 每 一 個 字 節(jié) 必 須 為 8位 ,每 次 發(fā) 送 的 字 節(jié) 數 量 不 受 限 制 , 從 機 在 接 收 完 一 個 字 節(jié) 后 向 主機 發(fā) 送 一 個 應 答 位 , 主 機 在 收 到 從 機 應 答 后 才 會 發(fā) 送 第 二 字 節(jié)數 據 , 發(fā) 送 數 據 時 先 發(fā) 數 據 的 最 高 位 。 2021/6/16 62 ( 3) I2C
60、總 線 的 傳 輸 協 議主 機 寫 數 據 到 從 機 的 通 信 格 式 :1 2 3 4 5 6 7 N N-1主 機產 生起 始位 發(fā) 從機 地址90H 等 待從 機應 答 發(fā) 送數 據 等 待從 機應 答 發(fā) 送數 據 等 待從 機應 答 。 。 。 停 止位 2021/6/16 63 主 機 從 從 機 中 讀 數 據 的 通 信 格 式 :1 2 3 4 5 6 7 N N-1主 機 產生 起 始位 發(fā) 從 機地 址 91H 等 待 從機 應 答 接 收 從機 發(fā) 出的 數 據 向 從 機應 答 接 收 從機 發(fā) 出的 數 據 向 從 機應 答 。 。 。 主 機 產生 停 止位
61、 2021/6/16 64 6. 實 驗 板 上 鋸 齒 波 信 號 的 輸 出( 1) STC89C52控 制 PCF8591生 成 鋸 齒 波 信 號 的 電 路 設 計將 U15的 J23的 19和 20腳 用 杜 邦 線 與 J8的 SDA和 SCL腳 連 接 。 2021/6/16 65 ( 2) 生 成 鋸 齒 波 的 軟 件 設 計 主 程 序 main.c:/ PCF8591 的 DA轉 換 程 序 #include #include i2c.h#define AddWr 0 x90 /寫 數 據 地 址 #define AddRd 0 x91 /讀 數 據 地 址/鋸 齒 波
62、 數 據 表 , 表 格 數 值 越 多 , 波 形 越 平 滑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 /寫 入 DA轉 換 數 值 , dat表 示 需 要 輸 入 轉 換 的 DA數 值 , 從 0-255bit WriteDAC(unsigned char dat,unsigned char num)
63、unsigned char i; Start_I2c(); /啟 動 總 線 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ā) 送 數 據 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_() /定 義 空 指 令/啟 動 總 線void Start_I2c();/結 束 總 線void Stop_I2c();/字 節(jié) 數 據 傳 送 函 數 void SendByte(unsigned char c);#endif 2021/6/16 69 I2C程 序 i2c.c:/函 數 是 采 用 軟 件 延 時 的 方 法 產 生 SCL脈 沖 , 晶 振 頻
65、 率 是 12MHz,即 機 器 周 期 為 1us#include i2c.h#define _Nop() _nop_() /定 義 空 指 令bit ack; /應 答 標 志 位sbit SDA=P21;sbit SCL=P20;、/啟 動 總 線void Start_I2c() SDA=1; /發(fā) 送 起 始 條 件 的 數 據 信 號 _Nop(); SCL=1; _Nop(); /起 始 條 件 建 立 時 間 大 于 4.7us,延 時 _Nop(); _Nop(); _Nop(); _Nop(); 2021/6/16 70 SDA=0; /發(fā) 送 起 始 信 號 _Nop();
66、 /起 始 條 件 鎖 定 時 間 大 于 4 _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; /鉗 住 I2C總 線 , 準 備 發(fā) 送 或 接 收 數 據 _Nop(); _Nop();/結 束 總 線void Stop_I2c() SDA=0; /發(fā) 送 結 束 條 件 的 數 據 信 號 _Nop(); /發(fā) 送 結 束 條 件 的 時 鐘 信 號 SCL=1; /結 束 條 件 建 立 時 間 大 于 4 _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=1; /發(fā) 送 I2C總 線 結 束 信 號 _Nop(); _Nop(); _Nop(); _Nop(); 2021/6/16 71 /字 節(jié) 數 據 傳 送 函 數 void SendByte(unsigned char c) unsigned char BitCnt; for(BitCnt=0;BitCnt8;BitCnt+) /要 傳 送 的 數 據 長 度 為 8位 if(cBitCnt) /判 斷 發(fā) 送 位 else SDA=0; _Nop()
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級數學上冊 第三章 概率的進一步認識復習課件 (新版)北師大版
- 九年級數學上冊 第23章 圖形的相似 23.5 位似圖形授課課件 (新版)華東師大版
- 九年級歷史下冊 第四單元 第8課 美國經濟的發(fā)展課件 新人教版
- 危急值報告及處理制度課件
- 高考小說閱讀-第三講:小說的敘述方式課件
- 國內管理學院評鑒現況及未來發(fā)展課件
- “圖形的認識與測量”知識梳理及教學策略課件
- 新版近視科普講座ppt課件
- 課件--迎接本科教學工作水平評估
- 現在完成進行時PPT幻燈片課件
- 高考語文大一輪總復習-散文閱讀-概括內容要點和主旨題題組訓練ppt課件-新人教版
- 工程材料計劃編制課件
- 工廠車間管理基礎知識課件
- 2015北師大版六年級數學總復習正比例與反比例課件
- 文明集會禮儀規(guī)范班會課件