IC單片機(jī)原理及應(yīng)用

上傳人:san****019 文檔編號(hào):21559732 上傳時(shí)間:2021-05-04 格式:PPTX 頁數(shù):135 大?。?.46MB
收藏 版權(quán)申訴 舉報(bào) 下載
IC單片機(jī)原理及應(yīng)用_第1頁
第1頁 / 共135頁
IC單片機(jī)原理及應(yīng)用_第2頁
第2頁 / 共135頁
IC單片機(jī)原理及應(yīng)用_第3頁
第3頁 / 共135頁

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

14.9 積分

下載資源

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

資源描述:

《IC單片機(jī)原理及應(yīng)用》由會(huì)員分享,可在線閱讀,更多相關(guān)《IC單片機(jī)原理及應(yīng)用(135頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、PIC單 片 機(jī) 原 理 及 應(yīng) 用第 五 章 功 能 模 塊 1 主 要 內(nèi) 容第 1節(jié) I/O端 口I/O端 口 介 紹I/O端 口 的 控 制 方 法I/O端 口 的 應(yīng) 用 舉 例I/O端 口 實(shí) 驗(yàn) 輸 出 數(shù) 據(jù) 時(shí) 輸 出 使 能輸 出 使 能 =1輸 出 數(shù) 據(jù) 輸 出 數(shù) 據(jù) 輸 出 數(shù) 據(jù)1.1 I/O端 口 介 紹1. I/O端 口 結(jié) 構(gòu) 圖 輸 入 數(shù) 據(jù) 時(shí) 輸 入 使 能輸 入 使 能 =0輸 入 數(shù) 據(jù) 輸 入 數(shù) 據(jù) 輸 入 引 腳 數(shù) 據(jù)數(shù) 據(jù) 傳 送 給 數(shù) 據(jù) 總 線 5 2. I/O 端 口 特 點(diǎn) 所 有 I/O 輸 入 端 口都 是 施 密 特 觸

2、 發(fā) 器輸 入 , 以 增 強(qiáng) 抗 干擾 性 。 有 些 端 口 ( 除 VDD、VSS、 MCLR 和OSC1/CLKI之 外 ) 為多 功 能 復(fù) 用 端 口 。 I/O 引 腳 可 復(fù) 用 多 種外 設(shè) 功 能 1.1 I/O端 口 介 紹 6注 : 復(fù) 用 多 種 外 設(shè) 功 能 時(shí) , 名 字 在 前 的 外 設(shè) 優(yōu) 先 級(jí) 高 7 1.2 I/O端 口 控 制1. I/O端 口 分 組 管 理 8 2. I/O端 口 的 控 制 寄 存 器 TRISx寄 存 器 : I/O端 口 方 向 控 制 寄 存 器 。 TRISx的 位 為 “ 1” 時(shí) , 其 對(duì) 應(yīng) 的 I/O 端 口

3、 為 輸 入 。 TRISx的 位 為 “ 0” 時(shí) , 其 對(duì) 應(yīng) 的 I/O 端 口 為 輸 出 。 復(fù) 位 以 后 , 所 有 端 口 引 腳 被 定 義 為 輸 入 。 PORTx寄 存 器 : I/O端 口 讀 引 腳 電 平 狀 態(tài) 寄 存 器 。 讀 時(shí) , 讀 入的 是 端 口 引 腳 值 ; 寫 時(shí) , 數(shù) 據(jù) 寫 到 端 口 數(shù) 據(jù) 鎖 存 器 輸 出 。 LATx寄 存 器 : I/O端 口 電 平 輸 出 鎖 存 寄 存 器 。 讀 時(shí) , 讀 入 數(shù)據(jù) 鎖 存 器 里 鎖 存 的 值 ; 寫 時(shí) , 數(shù) 據(jù) 寫 到 端 口 數(shù) 據(jù) 鎖 存 器 輸 出 。1.2 I/O

4、端 口 控 制 dsPIC30F4011 端 口 寄 存 器 例 1:實(shí) 現(xiàn) 發(fā) 光 二 極 管 D1閃 爍 功 能 。硬 件 分 析 : 發(fā) 光 二 極 管 D1連 接 著 38引 腳 , 即 RE0端 口 ; RE0輸 出 高 電 平 時(shí) ( =1) , D1亮 ; RE0輸 出 低 電 平 時(shí) ( =0) , D1不 亮 ;1.3 I/O端 口 應(yīng) 用 舉 例高 電 平 ( =1 )低 電 平 ( =0 ) 軟 件 分 析 : RE0管 腳 對(duì) 應(yīng) 的 寄 存 器 及 對(duì) 應(yīng) 位 方 向 控 制 寄 存 器 TRISE的 TRISE0位 ; LATE寄 存 器 的 LATE0位 ; PO

5、RTE寄 存 器 的 RE0位 ; 控 制 步 驟 : 將 TRISE寄 存 器 的 TRISE0位 置 0, 設(shè) 置 RE0為 數(shù) 據(jù) 輸 出 端 口 ; 給 LATE寄 存 器 的 LATE0位 賦 值 為 1/0, RE0輸 出 高 低 電 平 ; 軟 件 設(shè) 計(jì) 為 :int main() TRISEbits.TRISE0 = 0; /設(shè) 置 RE0為 輸 出 (1輸 入 , 0輸 出 );while(1) LATEbits.LATE0 =1; /RE0=1輸 出 高 電 平 +5V, 亮 燈delay(); /延 時(shí)LATEbits.LATE0 =0; /RE0=0輸 出 低 電 平

6、 0V, 滅 燈 delay(); /延 時(shí) 1 2 例 2、 實(shí) 現(xiàn) 6個(gè) 發(fā) 光 二 極 管 流 水 燈 功 能 。硬 件 分 析 : 6個(gè) 發(fā) 光 二 極 管 D1-D6分 別 連 接 著 33-38引 腳 , 即RE0-RE5端 口 ; 每 個(gè) 引 腳 輸 出 高 電 平 時(shí) ( =1) 燈 亮 ; 輸 出 低電 平 時(shí) ( =0) 燈 不 亮 。1.3 I/O端 口 應(yīng) 用 舉 例 軟 件 分 析 :( 1) RE0-RE5管 腳 對(duì) 應(yīng) 的 寄 存 器 及 對(duì) 應(yīng) 位 方 向 控 制 寄 存 器 TRISE的 TRISE0-TRISE5位 ; LATE寄 存 器 的 LATE0-L

7、ATE5位 ; PORTE寄 存 器 的 RE0-RE5位 ;( 2) 控 制 步 驟 : 將 TRISE寄 存 器 的 TRISE0-RISE5位 置 0, 設(shè) 置 RE0-RE5為 輸 出 端口 ; 分 別 對(duì) LATE寄 存 器 的 LATE0-LATE5位 賦 值 為 1/0, 6個(gè) 端 口 分 別輸 出 高 低 電 平 ; 流 水 燈 的 實(shí) 現(xiàn) 方 法發(fā) 光 LED D6 D5 D4 D3 D2 D1端 口 RE5 RE4 RE3 RE2 RE1 RE0輸 出 值 1 0 0 0 0 0 1輸 出 值 2 0 0 0 0 1 0輸 出 值 3 0 0 0 1 0 0輸 出 值 4

8、0 0 1 0 0 0輸 出 值 5 0 1 0 0 0 0輸 出 值 6 1 0 0 0 0 0 0 x0 10 x0 20 x0 40 x0 80 x1 00 x2 0 方 法 一循 環(huán) 輸 出 方 法 二移 位 輸 出 軟 件 設(shè) 計(jì)方 法 一 : 循 環(huán) 輸 出int ledcode6 =0 x0 1 ,0 x0 2 , 0 x0 4 , 0 x0 8 , 0 x1 0 , 0 x2 0 ; /存 放 6 個(gè) 輸 出 值int main(void) TRISE =0 x0 0 ; /設(shè) 置 RE0-RE5為 輸 出while(1 ) for (i=0 ;i6 ;i+) LATE=led

9、codei; /6 個(gè) 輸 出 值 依 次 輸 出 循 環(huán) 點(diǎn) 燈 delay(); /延 時(shí) 軟 件 設(shè) 計(jì)方 法 二 : 移 位 輸 出int led=0 x0 1 ; /存 放 輸 出 值 , 初 值 是 第 一 個(gè) 輸 出 值int main(void) TRISE =0 x0 0 ; /設(shè) 置 RE0-RE5為 輸 出while(1 ) LATE =led; /點(diǎn) 燈 delay(); /延 時(shí) led = ledSelect ToolsPICkit 3 選 擇 調(diào) 試 工 具 ;( 3 ) 點(diǎn) 擊 DebuggerSettings, 在 Settings窗 口 中 點(diǎn) 擊 Powe

10、r欄 , 選 擇 由PICkit3 向 實(shí) 驗(yàn) 板 供 電 ;( 4 ) 完 成 實(shí) 現(xiàn) 發(fā) 光 LED燈 閃 爍 實(shí) 驗(yàn) ;( 5 ) 完 成 實(shí) 現(xiàn) 流 水 燈 或 花 樣 彩 燈 實(shí) 驗(yàn) ;( 6 ) 完 成 實(shí) 現(xiàn) 按 按 鍵 加 1 計(jì) 數(shù) 實(shí) 驗(yàn) 。五 . 實(shí) 驗(yàn) 報(bào) 告 內(nèi) 容 與 要 求( 1 ) 簡 述 3 個(gè) 實(shí) 驗(yàn) 任 務(wù) 的 程 序 設(shè) 計(jì) 方 法 ;( 2 ) 分 析 觀 察 到 的 實(shí) 驗(yàn) 結(jié) 果 ;( 3 ) 分 析 PIC單 片 機(jī) IO端 口 輸 入 與 輸 出 操 作 的 不 同 之 處 。 主 要 內(nèi) 容第 2節(jié) 中 斷中 斷 介 紹中 斷 控 制 方 法

11、中 斷 應(yīng) 用 舉 例外 部 中 斷 實(shí) 驗(yàn) 1. 中 斷 中 斷 是 指 在 程 序 運(yùn) 行 過 程 中 , 當(dāng) 出 現(xiàn) 情 況 時(shí) , CPU暫時(shí) 停 止 當(dāng) 前 程 序 的 執(zhí) 行 , 轉(zhuǎn) 而 執(zhí) 行 處 理 新 情 況 的 過 程 叫 做中 斷 。 簡 單 來 說 : 中 斷 是 一 種 發(fā) 生 了 一 個(gè) 外 部 的 事 件 時(shí) 調(diào) 用相 應(yīng) 的 處 理 程 序 的 過 程 。2.中 斷 源引 起 中 斷 的 原 因 , 或 能 夠 發(fā) 出 中 斷 請(qǐng) 求 信 號(hào) 的 來 源 統(tǒng)稱 為 中 斷 源 。( 1) 軟 件 中 斷 源 : 軟 件 陷 阱 產(chǎn) 生 的 中 斷 為 軟 件 中

12、 斷 源 ( 不 可 屏 蔽 中 斷 )( 2) 硬 件 中 斷 源 : 外 設(shè) 發(fā) 出 的 請(qǐng) 求 為 硬 件 中 斷 源 ( 可 屏 蔽 中 斷 )2.1 中 斷 介 紹 3.中 斷 處 理 過 程 一 個(gè) 完 整 的 中 斷 處 理 過 程 應(yīng) 該 包 括 : 中 斷 請(qǐng) 求 、 中斷 排 隊(duì) 或 中 斷 判 優(yōu) 、 中 斷 響 應(yīng) 、 中 斷 處 理 和 中 斷 返 回 。2.1 中 斷 介 紹正 在 執(zhí) 行 的 程 序中 斷 請(qǐng) 求 繼 續(xù) 執(zhí) 行 原 程 序 中斷服務(wù)程序中 斷 狀 態(tài) 標(biāo) 志 位 置 1 2 6 ( 1) 中 斷 排 隊(duì) 或 中 斷 判 優(yōu) 在 程 序 運(yùn) 行 過

13、 程 中 , 幾 個(gè) 中 斷 請(qǐng) 求 可 能 同 時(shí) 出 現(xiàn) , 但 中 斷 系統(tǒng) 只 能 按 一 定 的 次 序 來 響 應(yīng) 和 處 理 。 這 些 中 斷 請(qǐng) 求 被 按 照 優(yōu) 先 級(jí)別 順 序 進(jìn) 行 處 理 。 最 先 被 響 應(yīng) 的 中 斷 具 有 最 高 優(yōu) 先 級(jí) 別 。PIC單 片 機(jī) 中 斷 優(yōu) 先 級(jí) 原 則 : 用 戶 可 設(shè) 置 中 斷 源 優(yōu) 先 級(jí) 為 1-7 級(jí) 。 優(yōu) 先 級(jí) 設(shè) 置 中 , 1為 最 低 優(yōu) 先 級(jí) , 7 為 最 高 優(yōu) 先 級(jí) 。 如 果 中 斷 源 的 優(yōu) 先 級(jí) 設(shè) 置 為 零 , 則 中 斷 源 被 禁 止 。 在 用 戶 分 配

14、的 優(yōu) 先 級(jí) 相 同 時(shí) , 單 片 機(jī) 內(nèi) 部 提 供 自 然 順 序 優(yōu) 先 級(jí) 解決 優(yōu) 先 級(jí) 沖 突 。 每 個(gè) 中 斷 源 在 中 斷 向 量 表 IVT中 的 位 置 是 其 自 然 順 序 優(yōu) 先 級(jí) , 中 斷 向 量 的 編 號(hào) 越 低 , 自 然 優(yōu) 先 級(jí) 越 高 ; 向 量 的 編 號(hào)越 高 , 自 然 優(yōu) 先 級(jí) 越 低 。 高低自 然 順 序 優(yōu) 先 級(jí) ( 2) 中 斷 響 應(yīng) ( 3) 中 斷 服 務(wù) 程 序 保 護(hù) 現(xiàn) 場 : 目 的 是 為 了 保 護(hù) 那些 與 主 程 序 中 有 沖 突 的 寄 存 器 ,沒 有 沖 突 的 話 , 這 一 步 驟 可

15、 以省 略 。 開 中 斷 : 是 為 了 能 實(shí) 現(xiàn) 中 斷 的嵌 套 。 為 產(chǎn) 生 中 斷 的 相 應(yīng) 設(shè) 備 提 供 服務(wù) 恢 復(fù) 現(xiàn) 場 : 與 保 護(hù) 現(xiàn) 場 對(duì) 應(yīng) 的 ,要 注 意 數(shù) 據(jù) 恢 復(fù) 的 次 序 , 以 免混 亂 。 返 回 : 將 壓 入 堆 棧 的 斷 點(diǎn) 地 址返 回 PC 3 0 1. 中 斷 控 制 相 關(guān) 的 寄 存 器INTCON1 和 INTCON2 寄 存 器 : 中 斷 控 制 寄 存 器 , 實(shí) 現(xiàn) 全 局 中 斷 控 制 功 能 。 NSTDIS位 : 中 斷 嵌 套 禁 止 位 ( INTCON1) 。 默 認(rèn) 為 0; 該 位 置 1,

16、 則禁 止 中 斷 嵌 套 , 即 如 果 正 在 處 理 一 個(gè) 中 斷 , 將 禁 止 處 理 新 的 中 斷 , 即 使新 中 斷 的 優(yōu) 先 級(jí) 比 當(dāng) 前 正 在 處 理 的 中 斷 優(yōu) 先 級(jí) 高 。 ALTIVT位 : 使 能 備 用 中 斷 向 量 表 位 。 使 用 標(biāo) 準(zhǔn) 向 量 表 時(shí) 該 位 置 0( 默 認(rèn) ) ;使 用 備 用 向 量 表 時(shí) 該 位 置 1 。 INT2EP- INT0EP位 : 外 部 中 斷 邊 沿 檢 測 極 性 選 擇 位 。 該 位 置 1, 是 來 負(fù) 邊 沿 時(shí) 產(chǎn) 生 中 斷 ; 該 位 置 0( 默 認(rèn) ) , 是 來 正 邊 沿

17、 時(shí) 產(chǎn) 生 中 斷 2.2 中 斷 控 制 方 法 3 1 中 斷 標(biāo) 志 狀 態(tài) 寄 存 器 IFSx: 所 有 中 斷 請(qǐng) 求 標(biāo) 志 都 保 存 在 這 些 寄 存器 中 , 標(biāo) 志 狀 態(tài) 位 記 載 是 否 已 經(jīng) 發(fā) 生 了 中 斷 請(qǐng) 求 , 每 個(gè) 中 斷 源 的中 斷 請(qǐng) 求 標(biāo) 志 由 各 自 的 外 設(shè) 置 1 , 通 過 軟 件 清 零 。 置 1 = 發(fā) 生 中 斷 請(qǐng) 求 置 0 = 未 發(fā) 生 中 斷 請(qǐng) 求 3 2 中 斷 允 許 控 制 寄 存 器 IECx: 所 有 中 斷 允 許 控 制 位 都 保 存 在 這 些寄 存 器 中 。 這 些 控 制 位

18、用 于 控 制 是 否 允 許 來 自 外 的 中 斷 請(qǐng) 求 被響 應(yīng) 。 置 1 =允 許 中 斷 請(qǐng) 求 置 0 =不 允 許 中 斷 請(qǐng) 求 3 3 中 斷 優(yōu) 先 級(jí) 控 制 寄 存 器 IPCx: 用 于 為 每 個(gè) 中 斷 源 設(shè) 置 中 斷 優(yōu) 先級(jí) 。 每 個(gè) 用 戶 中 斷 源 都 可 以 設(shè) 置 為 1-7 的 優(yōu) 先 級(jí) , 用 三 位 二 進(jìn)制 數(shù) 表 示 。 如 果 中 斷 源 的 優(yōu) 先 級(jí) 設(shè) 置 為 零 , 則 中 斷 源 被 禁 止 。 3 4 2. 中 斷 程 序 設(shè) 計(jì)( 1) 中 斷 初 始 化 配 置 若 禁 止 中 斷 嵌 套 , 設(shè) 置 NSTD

19、IS 控 制 位 ( INTCON1 )為 1; 不 做設(shè) 置 時(shí) 該 位 默 認(rèn) 為 0, 即 中 斷 可 以 嵌 套 ; 設(shè) 置 中 斷 源 優(yōu) 先 級(jí) , 給 IPCx寄 存 器 中 的 相 應(yīng) 中 斷 置 1-7的 優(yōu) 先 級(jí) ; 將 中 斷 標(biāo) 志 狀 態(tài) 寄 存 器 IFSx中 的 中 斷 標(biāo) 志 狀 態(tài) 位 清 零 ; 設(shè) 置 中 斷 允 許 控 制 寄 存 器 IECx中 的 中 斷 允 許 控 制 位 為 1, 允 許 中 斷請(qǐng) 求void Initializeint0 () INTCON1 bits. NSTDIS= 1 ; /中 斷 嵌 套 禁 止 IFS0 bits.I

20、NT0 IF = 0 ; /清 除 INT0 的 中 斷 標(biāo) 志 IPC0 bits.INT0 IP = 7 ; /中 斷 優(yōu) 先 級(jí) 為 7 IEC0 bits.INT0 IE = 1 ; /使 能 中 斷 2.2 中 斷 控 制 方 法 ( 2 ) 中 斷 服 務(wù) 程 序 ISR的 編 寫void _attribute_(_interrupt_(_save_(variable1 ,variable2 ) _INT0 Interrupt(void)/中 斷 服 務(wù) 程 序 代 碼_attribute_(_interrupt_ ( _save_ (symbol-list) , _ irq_ (

21、irqid) , _ altirq_ (altirqid) , _ preprologue_ (asm) ) ) save 參 數(shù) 指 定 進(jìn) 入 和 退 出 ISR時(shí) 需 要 保 護(hù) 和 恢 復(fù) 的 一 個(gè) 或 多 個(gè) 變 量 ; irq 參 數(shù) 允 許 將 一 個(gè) 中 斷 向 量 對(duì) 應(yīng) 于 一 個(gè) 特 定 的 中 斷 , 括 號(hào) 括 起 來 的 是 中斷 ID號(hào) ; altirq 參 數(shù) 允 許 將 一 個(gè) 中 斷 向 量 對(duì) 應(yīng) 于 一 個(gè) 指 定 的 備 用 中 斷 ; preprologue 參 數(shù) 允 許 在 生 成 的 代 碼 中 , 編 譯 器 生 成 的 函 數(shù) prolo

22、gue前 插入 匯 編 語 句 。 MPLAB C3 0 的 關(guān) 鍵 字 _attribute_ 用 來 指 定 特 殊 屬 性 。雙 括 弧 中 的 內(nèi) 容 是 可 選 的 屬 性 說 明 。屬 性 說 明 中 斷 向 量 名 例 1.單 中 斷 應(yīng) 用 。 按 鍵 S8鏈 接 17管 腳 ( RE8端 口 ) 做 為 外 部 中 斷INT0使 用 。 無 中 斷 時(shí) 程 序 執(zhí) 行 流 水 燈 , 來 中 斷 時(shí) 6個(gè) 發(fā) 光 LED全 亮 , 中 斷 結(jié) 束 返 回 后 繼 續(xù) 執(zhí) 行 流 水 燈 程 序 。硬 件 分 析 : S8不 按 下 時(shí) , 5管 腳 輸 入 為 高 電 平 ;

23、 S8按 下 再 松 開 時(shí) ,17管 腳 輸 入 一 個(gè) 低 電 平 脈 沖 信 號(hào) , 即 產(chǎn) 生 外 部 中 斷 INT0。2.3 中 斷 應(yīng) 用 舉 例 軟 件 分 析 :( 1) 外 部 中 斷 INT0對(duì) 應(yīng) 的 寄 存 器 中 斷 標(biāo) 志 狀 態(tài) 寄 存 器 IFS0的 INT0IF位 ; 中 斷 允 許 控 制 寄 存 器 IEC0的 INT0IE位 ; 中 斷 優(yōu) 先 級(jí) 控 制 寄 存 器 IPC0的 INT0IP位 ;( 2) 外 部 中 斷 INT0的 產(chǎn) 生 及 設(shè) 置 : 外 部 中 斷 輸 入 正 或 負(fù) 邊 沿 時(shí) 產(chǎn) 生 中 斷 ; INTCON2 寄 存 器

24、 的 INT0EP位 置 1是 負(fù) 邊 沿 時(shí) 產(chǎn) 生 中 斷 ; 置 0是 正 邊 沿時(shí) 產(chǎn) 生 中 斷 ( 默 認(rèn) 設(shè) 置 ) ;( 3) 程 序 設(shè) 計(jì) 編 寫 外 部 中 斷 INT0初 始 化 程 序 , 設(shè) 置 并 使 能 INT0; 編 寫 中 斷 服 務(wù) 程 序 ISR, 點(diǎn) 亮 6個(gè) 發(fā) 光 LED; 編 寫 主 程 序 , 調(diào) 用 初 始 化 程 序 , 實(shí) 現(xiàn) 流 水 燈 功 能 程 序 ; 3 8 #include void Initializeint0 () IFS0 bits.INT0 IF = 0 ; /清 除 INT0 的 中 斷 標(biāo) 志 IPC0 bits.I

25、NT0 IP = 7 ; /中 斷 優(yōu) 先 級(jí) 為 7 IEC0 bits.INT0 IE = 1 ; /使 能 中 斷void _attribute_(_interrupt_) _INT0 Interrupt(void) IFS0 bits.INT0 IF = 0 ; /清 INT0 中 斷 標(biāo) 志 PORTE =0 x3 f; /6 個(gè) LED燈 全 亮 delay(); /延 時(shí)int main() Initializeint0 (); /調(diào) 用 INT0 初 始 化 程 序 int ledcode6 =0 x0 1 ,0 x0 2 , 0 x0 4 , 0 x0 8 , 0 x1 0

26、, 0 x2 0 ; TRISE =0 x0 1 0 0 ; /RE0 -RE5 配 置 為 輸 出 , RE8 外 部 INT0 輸 入while(1 ) for (i=0 ;iSelect ToolsPICkit 3 選 擇 調(diào) 試 工 具 ;( 3 ) 點(diǎn) 擊 DebuggerSettings, 在 Settings窗 口 中 點(diǎn) 擊 Power欄 , 選 擇 由PICkit3 向 實(shí) 驗(yàn) 板 供 電 ;( 4 ) 完 成 單 中 斷 程 序 實(shí) 驗(yàn) ;( 5 ) 完 成 多 中 斷 程 序 實(shí) 驗(yàn) ;五 . 實(shí) 驗(yàn) 報(bào) 告 內(nèi) 容 與 要 求( 1 ) 簡 述 中 斷 程 序 設(shè) 計(jì)

27、方 法 ;( 2 ) 分 析 單 中 斷 實(shí) 驗(yàn) 結(jié) 果 , 總 結(jié) 中 斷 處 理 過 程 ;( 3 ) 分 析 多 中 斷 實(shí) 驗(yàn) 結(jié) 果 , 總 結(jié) 優(yōu) 先 級(jí) 處 理 原 則 ;( 4 ) 分 析 多 中 斷 實(shí) 驗(yàn) 結(jié) 果 , 總 結(jié) 中 斷 嵌 套 工 作 原 理 。 主 要 內(nèi) 容第 3節(jié) 定 時(shí) 器定 時(shí) 器 介 紹定 時(shí) 器 的 控 制 方 法定 時(shí) 器 應(yīng) 用 舉 例定 時(shí) 器 實(shí) 驗(yàn) 3.1 定 時(shí) 器 介 紹模 式定 時(shí) 器模 塊 1 6 位 定 時(shí) 器模 式 同 步 計(jì) 數(shù) 器模 式 異 步 計(jì) 數(shù) 器模 式 門 控 時(shí) 間 累加 模 式 3 2 位 定 時(shí) 器Tim

28、er1 Timer2 Timer3 Timer4 Timer5 1. 定 時(shí) 器 模 塊 及 其 工 作 模 式 3.1 定 時(shí) 器 介 紹2.工 作 模 式( 1) 定 時(shí) 器 模 式 定 時(shí) 器 顧 名 思 義 就 是 定 時(shí) , 單 片 機(jī) 的 定 時(shí) 功 能 可 產(chǎn) 生 精 確 的 定 時(shí) 時(shí) 間 。 定 時(shí) 器 是 單 片 機(jī) 里 最 “ 活 躍 ” 的 部 件 之 一 ,很 多 程 序 、 應(yīng) 用 系 統(tǒng) 都 離 不 開它 。 定 時(shí) 器 的 核 心 是 計(jì) 數(shù) 器例 如 一 個(gè) 鬧 鐘 , 將 它 定 時(shí) 在 1個(gè) 小 時(shí) 后 鬧 響 , 也 能 說 是 秒 針 走 了3600次

29、 后 鬧 響 。 因 秒 針 每 一 次 走 動(dòng) 的 時(shí) 間 正 好 是 1秒 , 所 以 定 時(shí) 時(shí) 間 就 轉(zhuǎn) 化 為 秒 針 走 的 次 數(shù) , 也 就 是 計(jì) 數(shù) 的 數(shù) 值 ( 3600次 ) 。 可 見 , 定 時(shí) 時(shí) 間 與秒 針 ( 基 準(zhǔn) 時(shí) 鐘 源 ) 、 計(jì) 數(shù) 值 之 間 具 有 密 切 關(guān) 系 。 ( 2) 計(jì) 數(shù) 器 模 式 計(jì) 數(shù) 器 是 記 錄 外 界 發(fā) 生 的 事 情 , 即 統(tǒng) 計(jì) 外 部 輸 入 的 脈 沖 次 數(shù) 。 計(jì) 數(shù) 的 例 程 處 處 可 見 , 如 錄 音 的 時(shí) 長 、 家 里 用 的 電 度 表 、 汽 車 上 的 里程 表 等 。 計(jì)

30、 數(shù) 器 的 核 心 也 是 計(jì) 數(shù) 器 計(jì) 數(shù) 器 時(shí) 鐘 源 由 外 部 提 供 : 外 部 輸 入 時(shí) 鐘 源 與 系 統(tǒng) 指 令 周 期 時(shí) 鐘 TCY 同 步 的 是 同 步 計(jì) 數(shù) 器 外 部 輸 入 時(shí) 鐘 源 與 系 統(tǒng) 指 令 周 期 時(shí) 鐘 TCY 不 同 步 的 是 異 步 計(jì) 數(shù) 器 ( 3) 門 控 時(shí) 間 累 加 模 式 當(dāng) 外 部 門 控 信 號(hào) 為 由 低 變 高 時(shí) , 對(duì) 應(yīng) 的 定 時(shí) 器 開 始 遞 增 計(jì) 數(shù) ;當(dāng) 外 部 門 控 信 號(hào) 為 由 高 變 低 時(shí) , 對(duì) 應(yīng) 的 定 時(shí) 器 停 止 遞 增 計(jì) 數(shù) 。 定 時(shí) 器 時(shí) 鐘 源 來 自 于

31、 內(nèi) 部 系 統(tǒng) 時(shí) 鐘 。 3.2 定 時(shí) 器 的 控 制 方 法1. Timer1模 塊 內(nèi) 部 結(jié) 構(gòu) ( Timer2/3/4/5結(jié) 構(gòu) 基 本 相 同 ) 指 令 周 期 時(shí) 鐘 ( Fosc/4 )時(shí) 鐘 選 擇 定 時(shí) 器 開 關(guān) PR1 周 期 寄 存 器 : 決 定 定 時(shí) 時(shí) 間定 時(shí) 模 式 工 作 時(shí) TMR1 計(jì) 數(shù) 寄 存 器定 時(shí) 中 斷 標(biāo) 志 位 置 1 2.時(shí) 鐘 定 時(shí) 器 的 輸 入 時(shí) 鐘 由 內(nèi) 部 系 統(tǒng) 時(shí) 鐘 提 供 系 統(tǒng) 時(shí) 鐘 Fosc四 分 頻 產(chǎn) 生 內(nèi) 部 指 令 周 期 時(shí) 鐘 Fcy, 即 Fcy=Fosc/4 定 時(shí) 器 按

32、照 指 令 周 期 時(shí) 鐘 進(jìn) 行 計(jì) 數(shù) ( 預(yù) 分 頻 比 為 1:1時(shí) ) 。3.定 時(shí) 器 預(yù) 分 頻 器 定 時(shí) 器 預(yù) 分 頻 器 把 系 統(tǒng) 時(shí) 鐘 的 頻 率 按 倍 數(shù) 分 頻 , 那 么 一 個(gè) 計(jì) 數(shù) 周期 就 按 倍 數(shù) 變 大 。 16位 定 時(shí) 器 的 輸 入 時(shí) 鐘 ( FOSC/4 或 外 部 時(shí) 鐘 ) 的 預(yù) 分 頻 比 選 項(xiàng) 為1:1、 1:8、 1:64 和 1:256。例 如 : 原 本 1個(gè) 指 令 周 期 時(shí) 鐘 計(jì) 數(shù) 1次 ( 如 1ms計(jì) 數(shù) 1次 ) , 預(yù) 分 頻 器 設(shè) 為 1: 4 后 , 就 是 4個(gè) 指 令 周 期 計(jì) 數(shù) 1次

33、 ( 即 4ms計(jì) 數(shù) 1次 ) 。 3.2 定 時(shí) 器 的 控 制 方 法 定 時(shí) 器 開 控 制 位1 = 啟 動(dòng) 定 時(shí) 器0 = 停 止 定 時(shí) 器 定 時(shí) 器 門 控 時(shí) 間 累 加 使 能 位1 = 門 控 時(shí) 間 累 加 使 能0 = 門 控 時(shí) 間 累 加 禁 止 定 時(shí) 器 輸 入 時(shí) 鐘預(yù) 分 頻 選 擇 位1 1 = 預(yù) 分 頻 比 是 1 :2 5 61 0 = 預(yù) 分 頻 比 是 1 :6 40 1 = 預(yù) 分 頻 比 是 1 :80 0 = 預(yù) 分 頻 比 是 1 :1 定 時(shí) 器 外 部 時(shí) 鐘 輸 入 同步 選 擇 位當(dāng) TCS=1 時(shí) :1 = 同 步 外 部

34、 時(shí) 鐘 輸 入0 = 不 同 步 外 部 時(shí) 鐘 輸 入當(dāng) TCS=0 時(shí) , Timer1 使用 內(nèi) 部 時(shí) 鐘 。3.2 定 時(shí) 器 的 控 制 方 法4. Timer模 塊 相 關(guān) 的 寄 存 器TMR1計(jì) 數(shù) 寄 存 器 : 存 放 計(jì) 數(shù) 的 值 ;PR1周 期 寄 存 器 : 存 放 周 期 值 , 該 值 決 定 定 時(shí) 時(shí) 間 ;T1CON控 制 寄 存 器 : 控 制 Timer1模 塊 所 有 操 作 。 定 時(shí) 器 時(shí) 鐘 源 選 擇 位1 = 來 自 TxCK 引 腳 的 外 部 時(shí) 鐘0 = 內(nèi) 部 時(shí) 鐘 ( FOSC/4 ) 3 2 位 定 時(shí) 器 模 式 選

35、擇 位1 =TMR2 和 TMR3 形 成 3 2 位 定 時(shí) 器0 =TMR2 和 TMR3 為 獨(dú) 立 的 1 6 位 定 時(shí) 器 3 2 位 定 時(shí) 器 模 式 選 擇 位1 =TMR4 和 TMR5 形 成 3 2 位 定 時(shí) 器0 =TMR4 和 TMR5 為 獨(dú) 立 的 1 6 位 定 時(shí) 器 5 4 5、 定 時(shí) 器 周 期 值 計(jì) 算( 1) 系 統(tǒng) 時(shí) 鐘 Fosc四 分 頻 產(chǎn) 生 內(nèi) 部 指 令 周 期 時(shí) 鐘 Fcy, 即 Fcy=Fosc/4 Tcy指 令 周 期 =1/Fcy=1/( fosc/4) ( 2) 定 時(shí) 器 的 周 期 值 計(jì) 算 公 式 :定 時(shí) 器

36、 周 期 值 =所 需 定 時(shí) 時(shí) 間 /( 指 令 周 期 分 頻 比 )例 如 : 系 統(tǒng) 時(shí) 鐘 頻 率 為 fosc=7.3728MHz, 定 時(shí) 1秒 。 周 期 值 計(jì) 算 如 下 : 指 令 周 期 =1/( fosc/4)=1/1843200 定 時(shí) 器 周 期 值 =所 需 定 時(shí) 時(shí) 間 /( 分 頻 比 指 令 周 期 ) =1s/(256*1/1843200) =7200 =0 x1c203.2 定 時(shí) 器 的 控 制 方 法 6. 定 時(shí) 器 中 斷 設(shè) 置 定 時(shí) 器 中 斷 使 能 位 TxIE, 可 使 能 定 時(shí) 器 中 斷 。 16 位 定 時(shí) 器 在 發(fā)

37、生 周 期 匹 配 時(shí) ( TMRx中 的 值 與 PRx中 的 值 相 等 時(shí) ) 產(chǎn)生 定 時(shí) 中 斷 , 相 應(yīng) 的 定 時(shí) 器 中 斷 標(biāo) 志 狀 態(tài) 位 TxIF 會(huì) 被 置 1。3.2 定 時(shí) 器 的 控 制 方 法周 期 匹 配 定 時(shí) 器 中 斷 相 關(guān) 寄 存 器 3.3 定 時(shí) 器 應(yīng) 用 舉 例例 1 : 流 水 燈 時(shí) 間 間 隔 為 1 s。void InitializeTMR1 () TMR1 = 0 ; /計(jì) 數(shù) 寄 存 器 TMR1 0 , 從 0 開 始 計(jì) 數(shù) T1 CON = 0 x0 0 3 0 ; /關(guān) 閉 定 時(shí) 器 , 使 用 內(nèi) 部 時(shí) 鐘 ,

38、預(yù) 分 頻 比 1 :2 5 6 PR1 =0 x1 c2 0 ; /周 期 寄 存 器 賦 值 , 使 定 時(shí) 時(shí) 間 為 1 s IFS0 bits.T1 IF = 0 ; /清 除 TMR1 的 中 斷 標(biāo) 志 IPC0 bits.T1 IP = 7 ; /中 斷 優(yōu) 先 級(jí) 為 7 IEC0 bits.T1 IE = 1 ; /使 能 定 時(shí) 中 斷void _attribute_(_interrupt_) _T1 Interrupt(void) TMR1 =0 ; IFS0 bits.T1 IF = 0 ; /清 定 時(shí) 器 中 斷 標(biāo) 志 狀 態(tài) 位 led = led1 ; in

39、t main() InitializeTMR1 (); T1 CONbits.TON = 1 ; /打 開 定 時(shí) 器 . 3.3 定 時(shí) 器 應(yīng) 用 舉 例例 2 : 設(shè) 計(jì) 簡 易 計(jì) 時(shí) 器 , 在 LCD上 顯 示 計(jì) 時(shí) 時(shí) 間 ( mm:ss) 。void InitializeTMR1 () TMR1 = 0 ; /計(jì) 數(shù) 寄 存 器 TMR1 0 , 從 0 開 始 計(jì) 數(shù) T1 CON = 0 x0 0 3 0 ; /關(guān) 閉 定 時(shí) 器 , 使 用 內(nèi) 部 時(shí) 鐘 , 預(yù) 分 頻 比 1 :2 5 6 PR1 =0 x1 c2 0 ; /周 期 寄 存 器 賦 值 , 使 定

40、時(shí) 時(shí) 間 為 1 s IFS0 bits.T1 IF = 0 ; /清 除 TMR1 的 中 斷 標(biāo) 志 IPC0 bits.T1 IP = 7 ; /中 斷 優(yōu) 先 級(jí) 為 7 IEC0 bits.T1 IE = 1 ; /使 能 定 時(shí) 中 斷int main() OpenLCD( ) ; putrsLCD(mm:ss) ;InitializeTMR1 ();T1 CONbits.TON = 1 ; /打 開 定 時(shí) 器 void _attribute_(_interrupt_) _T1 Interrupt(void) if(seconds5 9 )seconds+;else secon

41、ds=0 ;if(minutesSelect ToolsPICkit 3 選 擇 調(diào) 試 工 具 ;( 3 ) 點(diǎn) 擊 DebuggerSettings, 在 Settings窗 口 中 點(diǎn) 擊 Power欄 , 選 擇 由PICkit3 向 實(shí) 驗(yàn) 板 供 電 ;( 4 ) 完 成 間 隔 1 s/5 s/1 0 s的 流 水 燈 實(shí) 驗(yàn) ;( 5 ) 完 成 簡 易 計(jì) 數(shù) 器 實(shí) 驗(yàn) ;( 6 ) 完 成 交 通 燈 實(shí) 驗(yàn) ;五 . 實(shí) 驗(yàn) 報(bào) 告 內(nèi) 容 與 要 求( 1 ) 簡 述 定 時(shí) 器 工 作 原 理 ;( 2 ) 總 結(jié) 定 時(shí) 器 的 設(shè) 計(jì) 方 法 。 主 要 內(nèi) 容

42、第 4節(jié) 輸 出 比 較輸 出 比 較 介 紹輸 出 比 較 的 工 作 模 式輸 出 比 較 的 控 制 寄 存 器輸 出 比 較 應(yīng) 用 舉 例輸 出 比 較 實(shí) 驗(yàn) 6 3 1.輸 出 比 較 輸 出 比 較 模 塊 工 作 時(shí) , 把 所 選 的 定 時(shí) 器 的 時(shí) 基 值 與 1/2個(gè)比 較 寄 存 器 的 值 作 比 較 , 在 比 較 匹 配 ( 相 等 ) 發(fā) 生 時(shí) 能 產(chǎn)生 單 個(gè) 脈 沖 輸 出 或 連 續(xù) 脈 沖 輸 出 。 輸 出 比 較 模 塊 從 引 腳 輸 出 的 脈 沖 頻 率 和 占 空 比 可 調(diào) , 該 信號(hào) 可 以 用 來 控 制 外 部 設(shè) 備 以

43、滿 足 不 同 用 途 的 需 要 , 如 延 時(shí)驅(qū) 動(dòng) 、 功 率 控 制 、 直 流 或 步 進(jìn) 電 機(jī) 、 可 控 硅 觸 發(fā) 等 。 dsPIC30F4011有 4個(gè) 輸 出 比 較 通 道 , 以 符 號(hào) OC1/2/3/4等 表示 。 所 有 輸 出 比 較 通 道 功 能 上 是 都 相 同 的 。4.1 輸 出 比 較 介 紹 4.1 輸 出 比 較 介 紹2.輸 出 比 較 模 式 框 圖 定 時(shí) 器 時(shí) 基 值 比 較 寄 存 器 定 時(shí) 器 周 期 匹 配 信 號(hào)比 較 匹 配 周 期 匹 配 6 5 4.2 輸 出 比 較 工 作 模 式1. 每 個(gè) 輸 出 比 較 模

44、 塊 均 有 以 下 工 作 模 式 : 單 比 較 匹 配 模 式 比 較 強(qiáng) 制 I/O 引 腳 為 低 電 平 輸 出 比 較 強(qiáng) 制 I/O 引 腳 為 高 電 平 輸 出 比 較 使 I/O 引 腳 狀 態(tài) 翻 轉(zhuǎn) 輸 出雙 比 較 匹 配 模 式 產(chǎn) 生 單 個(gè) 輸 出 脈 沖 連 續(xù) 輸 出 脈 沖簡 單 脈 沖 寬 度 調(diào) 制 ( PWM) 模 式 6 6 2.單 比 較 匹 配 模 式 輸 出 比 較 模 塊 把 一 個(gè) 值 裝 入 OCxR 寄 存 器 , 并 將 該 值 與 所 選 定時(shí) 器 的 計(jì) 數(shù) 器 寄 存 器 TMR的 值 作 比 較 , 當(dāng) 比 較 匹 配 事

45、 件 發(fā) 生 時(shí) :( 1) OCx 引 腳 的 初 始 狀 態(tài) 為 低 電 平 時(shí) , 比 較 匹 配 事 件 強(qiáng) 制 該 引腳 為 高 電 平 ; 兩 個(gè) 指 令 時(shí) 鐘 后 , 相 應(yīng) 通 道 的 中 斷 標(biāo) 志 位 OCxIF 被 置 1。 4.2 輸 出 比 較 工 作 模 式寄存器值 預(yù)先設(shè)置 ( 2) 當(dāng) OCx 引 腳 的 初 始 狀 態(tài) 為 高 電 平 時(shí) , 比 較 匹 配 事 件 強(qiáng)制 該 引 腳 為 低 電 平 ; 兩 個(gè) 指 令 時(shí) 鐘 后 , 相 應(yīng) 通 道 的 中 斷 標(biāo)志 位 OCxIF 被 置 1 。寄存器值預(yù)先設(shè)置 6 8 ( 3) 輸 出 引 腳 Ocx

46、初 始 化 驅(qū) 動(dòng) 為 低 電 平 , 比 較 匹 配 事 件 使OCx 引 腳 電 平 交 替 翻 轉(zhuǎn) 輸 出 高 低 電 平 。 寄 存 器 值 預(yù) 先 設(shè) 置PR2 OCxROC引 腳 輸 出 脈 沖 信 號(hào) 的 周 期 由 2*PR的 值 決 定OC引 腳 輸 出 脈 沖 信 號(hào) 的 占 空 比 為 50% 6 9 3. 雙 比 較 匹 配 模 式 單 個(gè) 輸 出 脈 沖 連 續(xù) 輸 出 脈 沖 輸 出 比 較 模 塊 把 2個(gè) 值 分 別 裝 入 OCxR 寄 存 器 和 OCxRS 寄 存 器 , OCxR寄 存 器 的 值 與 所 選 的 定 時(shí) 器 的 計(jì) 數(shù) 器 寄 存 器

47、TMR的 值作 比 較 , 在 比 較 匹 配 事 件 發(fā) 生 時(shí) , 在 OCx 引 腳 上 產(chǎn) 生 脈沖 的 前 ( 上 升 ) 沿 。 OCxRS寄 存 器 的 值 與 所 選 的 定 時(shí) 器 的 計(jì) 數(shù) 器 寄 存 器 TMR的值 作 比 較 , 在 比 較 匹 配 事 件 發(fā) 生 時(shí) , 在 OCx 引 腳 上 產(chǎn) 生脈 沖 的 后 ( 下 降 ) 沿 。4.2 輸 出 比 較 工 作 模 式 7 0 ( 1 ) 單 個(gè) 輸 出 脈 沖寄存器值預(yù)先設(shè)置 7 1 ( 2 ) 連 續(xù) 輸 出 脈 沖OC引 腳 輸 出 脈 沖 信 號(hào) 的 周 期 由 PRy的 值 決 定OC引 腳 輸 出

48、 脈 沖 信 號(hào) 的 占 空 比 ( OCxRS-OCxR) /PRy寄存器值預(yù)先設(shè)置 4. 簡 單 PWM模 式脈 沖 寬 度 調(diào) 制 ( PWM) 是 英 文 “ Pulse Width Modulation”的 縮 寫 , 簡 稱 脈 寬 調(diào) 制 。 它 是 利 用 微 處 理 器 的 數(shù) 字 輸 出 來 對(duì)模 擬 電 路 進(jìn) 行 控 制 的 一 種 非 常 有 效 的 技 術(shù) , 廣 泛 應(yīng) 用 于 測 量 ,通 信 , 功 率 控 制 與 變 換 等 許 多 領(lǐng) 域 。 不 帶 故 障 保 護(hù) 輸 入 的 PWM 模 式 帶 故 障 保 護(hù) 輸 入 的 PWM 模 式 ( 故 障 保

49、 護(hù) 通 過 OCFA 引 腳 提供 , 當(dāng) 引 腳 上 檢 測 到 了 邏 輯 “ 0” , 所 選 的 PWM 輸 出 引 腳將 被 置 于 高 阻 態(tài) , PWM 輸 出 立 即 關(guān) 閉 ) 7 2 4.2 輸 出 比 較 工 作 模 式 輸 出 比 較 模 塊 配 置 為 PWM 工 作 模 式 時(shí) , 通 過 寫 入 所 選 定 時(shí) 器 的 周 期 寄 存 器 ( PRy) 設(shè) 置 PWM 周 期 ; OCxR 是 主 鎖 存 器 ( 只 讀 ) ; OCxRS 是 輔 助 鎖 存 器 , 用 戶 通 過 寫 入 OCxRS 寄 存 器 設(shè) 置 PWM 占 空 比 ; 在 每 個(gè) 定

50、 時(shí) 器 與 周 期 寄 存 器 匹 配 事 件 產(chǎn) 生 時(shí) ( PWM 周 期 結(jié) 束 時(shí) ) , 寄 存 器OCxR被 裝 載 OCxRS的 內(nèi) 容 。 7 3 PWM 周 期 = (PR) + 1 4 TOSC (TMR 預(yù) 分 頻 值 )PWM 輸 出 波 形 寄存器值預(yù)先設(shè)置 7 5 每 個(gè) 輸 出 比 較 通 道 均 有 下 列 寄 存 器 : OCxCON : 通 道 的 控 制 寄 存 器 OCxR : 輸 出 比 較 通 道 的 數(shù) 據(jù) 寄 存 器 OCxRS : 輸 出 比 較 通 道 的 輔 助 數(shù) 據(jù) 寄 存 器4.3 輸 出 比 較 的 控 制 寄 存 器 7 6輸

51、出 比 較 定 時(shí) 器 選 擇 位1 = Timer 3 是 比 較 x 的 時(shí) 鐘 源0 = Timer 2 是 比 較 x 的 時(shí) 鐘 源 OCM: 輸 出 比 較 模 式 選 擇 位1 1 1 = OCx 處 于 PWM 模 式 , 錯(cuò) 誤 引 腳 使 能1 1 0 = OCx 處 于 PWM 模 式 , 錯(cuò) 誤 引 腳 禁 止1 0 1 = 初 始 化 OCx 引 腳 為 低 電 平 , 在 OCx 引 腳 上 產(chǎn) 生 連 續(xù) 的 輸 出 脈 沖 ( 雙 )1 0 0 = 初 始 化 OCx 引 腳 為 低 電 平 , 在 OCx 引 腳 上 產(chǎn) 生 單 個(gè) 輸 出 脈 沖0 1 1

52、= 比 較 匹 配 事 件 使 OCx 引 腳 的 電 平 交 替 翻 轉(zhuǎn) ( 單 )0 1 0 = 初 始 化 OCx 引 腳 為 高 電 平 , 比 較 匹 配 事 件 強(qiáng) 制 OCx 引 腳 為 低 電 平0 0 1 = 初 始 化 OCx 引 腳 為 低 電 平 , 比 較 匹 配 事 件 強(qiáng) 制 OCx 引 腳 為 高 電 平0 0 0 = 輸 出 比 較 通 道 禁 止 例 1: 采 用 單 比 較 匹 配 模 式 在 OC4( RD3) 引 腳 產(chǎn) 生 1.6k Hz( 占 空 比 為 50%) 的 連 續(xù) 信 號(hào) 。設(shè) 置 分 析 :( 1) 要 求 輸 出 的 信 號(hào) f=

53、1.6k Hz 系 統(tǒng) 時(shí) 鐘 頻 率 為 Fosc=7.3728MHz 指 令 周 期 時(shí) 鐘 頻 率 為 Fcy=Fosc/4=1.8432MHz( 2) 輸 出 比 較 模 塊 采 用 1 6 位 定 時(shí) 器 Time2 , Time2 使 用 內(nèi) 部時(shí) 鐘 , 預(yù) 分 頻 1 :1 , 可 得 :2*PR=T/Tcy=Fcy/f =1.8432MHz /1.6kHz=1152PR=576=0 x240 7 7 4.4 輸 出 比 較 的 應(yīng) 用 舉 例 void ConfigOC4 () /輸 出 比 較 模 塊 配 置 OC4 CON = 0 x0 0 0 0 ; /Timer2 是

54、 比 較 4 的 時(shí) 鐘 源 OC4 R = 0 x0 2 0 0 ; /設(shè) 置 匹 配 值 0 x0 2 0 0 T2 CON = 0 x0 0 0 0 ; /預(yù) 分 頻 1 :1 , 1 6 位 定 時(shí) 器 , 使 用 內(nèi) 部 時(shí) 鐘 PR2 = 0 x0 2 4 0 ; /周 期 寄 存 器 賦 值 0 x0 2 4 0 ,TMR2 在 0 x0 2 4 0 處 復(fù) 位 TMR2 = 0 x0 0 ; /TMR2 初 值 0 x0 0 IFS1 bits.OC4 IF = 0 ; /清 除 輸 出 比 較 中 斷 標(biāo) 志 位 IEC1 bits.OC4 IE = 1 ; /使 能 輸 出

55、 比 較 中 斷 IPC5 bits.OC4 IP = 7 ; /設(shè) 置 中 斷 優(yōu) 先 級(jí) 7 IEC0 bits.T2 IE = 0 ; /不 使 能 Timer2 定 時(shí) 器 中 斷 /*中 斷 子 程 序 : 輸 出 比 較 3 中 斷 , 比 較 匹 配 時(shí) 產(chǎn) 生 中 斷 */void _attribute_(_interrupt_) _OC4 Interrupt() IFS1 bits.OC4 IF = 0 ; /清 除 輸 出 比 較 4 中 斷 標(biāo) 志 位 main() ConfigOC4 (); T2 CONbits.TON = 1 ; /打 開 定 時(shí) 器 2OC4 CO

56、Nbits.OCM = 3 ; /選 擇 單 比 較 匹 配 模 式 , 電 平 交 替 翻 轉(zhuǎn) 輸 出while(1 ); 7 9 例 2: 采 用 雙 比 較 匹 配 模 式 在 OC3( RD2) 引 腳 產(chǎn) 生1.6k Hz占 空 比 為 75%的 連 續(xù) 信 號(hào) .設(shè) 置 分 析 :( 1) 要 求 輸 出 的 信 號(hào) f= 1.6k Hz, 占 空 比 為 75% 系 統(tǒng) 時(shí) 鐘 頻 率 為 Fosc=7.3728MHz 指 令 周 期 時(shí) 鐘 頻 率 為 Fcy=Fosc/4=1.8432MHz( 2) 輸 出 比 較 模 塊 采 用 1 6 位 定 時(shí) 器 Time2 , Ti

57、me2 使 用 內(nèi) 部 時(shí)鐘 , 預(yù) 分 頻 1 :1 , 可 得 :PR=T/Tcy=Fcy/f =1.8432MHz /1.6kHz=1152= 0 x0480( 3 ) 設(shè) OCxR= 0 x0 1 0 0 , 占 空 比 = 75% =( OCxRS-OCxR) /PR可 得 OCxRS= 0 x0 4 6 0 8 0 4.4 輸 出 比 較 的 應(yīng) 用 舉 例 void ConfigOC3 () /輸 出 比 較 模 塊 初 始 化OC3 CON = 0 x0 0 0 0 ; /Timer2 是 比 較 3 的 時(shí) 鐘 源OC3 R = 0 x0 1 0 0 ; /設(shè) 置 匹 配 值

58、 0 x0 1 0 0 , 在 TMR2 與 此 值 匹 配 時(shí) ,/OC3 引 腳 驅(qū) 動(dòng) 為 高 電 平OC3 RS = 0 x0 4 6 0 ; /設(shè) 置 匹 配 值 0 x0 4 6 0 , 在 TMR2 與 此 值 匹 配 時(shí) ,/OC3 引 腳 驅(qū) 動(dòng) 為 低 電 平T2 CON = 0 x0 0 0 0 ; /預(yù) 分 頻 1 :1 , 1 6 位 定 時(shí) 器 , 使 用 內(nèi) 部 時(shí) 鐘TMR2 = 0 x0 0 ; /TMR2 初 值 0 x0 0PR2 = 0 x0 4 8 0 ; /周 期 寄 存 器 賦 值 0 x0 4 8 0 ,TMR2 在 0 x0 4 8 0 復(fù) 位

59、 IFS1 bits.OC3 IF = 0 ; /清 除 輸 出 比 較 中 斷 標(biāo) 志 位 IEC1 bits.OC3 IE = 1 ; /使 能 輸 出 比 較 中 斷IPC4 bits.OC3 IP = 7 ;/設(shè) 置 中 斷 優(yōu) 先 級(jí) 7IEC0 bits.T2 IE = 0 ; /不 使 能 Timer2 定 時(shí) 器 中 斷 /*輸 出 比 較 3 中 斷 , 比 較 匹 配 時(shí) 產(chǎn) 生 中 斷 */void _attribute_(_interrupt_) _OC3 Interrupt() IFS1 bits.OC3 IF=0 ; /清 除 輸 出 比 較 3 中 斷 標(biāo) 志 位

60、 main() ConfigOC3 (); T2 CONbits.TON = 1 ; /打 開 定 時(shí) 器 2 OC3 CONbits.OCM = 5 ; /雙 比 較 匹 配 , 連 續(xù) 脈 沖 輸 出while(1 ); 8 2 例 3: 采 用 簡 單 PWM模 式 在 OC1( 23引 腳 )上 產(chǎn) 生 占 空比 可 調(diào) 的 連 續(xù) 信 號(hào) , 用 按 鍵 S8調(diào) 節(jié) 占 空 比 , 輸 出的 PWM信 號(hào) 控 制 發(fā) 光 二 極 管 D13的 亮 度 .設(shè) 置 分 析 :( 1) 按 鍵 S8調(diào) 節(jié) 輸 出 的 信 號(hào) 占 空 比 , 即 每 次 按 鍵 按 下 , 就 修改 OC1

61、RS的 值 以 改 變 占 空 比( 2) 輸 出 比 較 模 塊 OC1采 用 1 6 位 定 時(shí) 器 Time2 , Time2 使 用 內(nèi)部 時(shí) 鐘 , 預(yù) 分 頻 1 :1 , 8 3 4.4 輸 出 比 較 的 應(yīng) 用 舉 例 void ConfigOC1 () OC1 CON = 0 x0 0 0 0 ; /Timer2 是 輸 出 比 較 模 塊 的 時(shí) 鐘 源 OC1 RS = 0 x0 0 4 4 ; /賦 值 OC1 R值 為 0 x0 0 4 4T2 CON = 0 x0 0 0 0 ; /預(yù) 分 頻 1 , 1 6 位 定 時(shí) 器 , 使 用 內(nèi) 部 時(shí) 鐘TMR2 =

62、 0 x0 0 4 5 ; /定 時(shí) 器 啟 動(dòng) 后 立 即 復(fù) 位 將 OC1 RS值 載 入PR2 = 0 x0 0 4 5 ; /設(shè) 置 PWM周 期 ( 此 處 為 任 意 設(shè) 置 )IFS0 bits.OC1 IF = 0 ; /清 除 輸 出 比 較 中 斷 標(biāo) 志 位IEC0 bits.OC1 IE = 0 ; /不 使 能 輸 出 比 較 4 中 斷IFS0 bits.T2 IF = 0 ; /清 除 定 時(shí) 器 2 中 斷 標(biāo) 志 位IPC1 bits.T2 IP = 7 ; /設(shè) 置 定 時(shí) 器 2 中 斷 優(yōu) 先 級(jí) 7IEC0 bits.T2 IE = 1 ; /使 能

63、 Timer2 定 時(shí) 器 中 斷 main() ConfigOC1 ();T2 CONbits.TON = 1 ; /打 開 定 時(shí) 器 2OC1 CONbits.OCM = 6 ; /OC1 處 于 不 帶 故 障 保 護(hù) 輸 入 引 腳 的 PWM模 式while(1 ) if (PORTEbits.RE8 =0 ) /查 詢 按 鍵 S8 是 否 按 下 delay(); if (PORTEbits.RE8 = 0 ) cnt=cnt+0 x0 7 ; /按 鍵 S8 按 下 , 修 改 OC1 RS值if(cnt=0 x0 4 5 )cnt=0 x0 7 ;OC1 RS=cnt; 實(shí)

64、 驗(yàn) 五 、 輸 出 比 較 實(shí) 驗(yàn)一 . 實(shí) 驗(yàn) 目 的 ( 1 ) 掌 握 單 片 機(jī) 輸 出 比 較 模 塊 的 工 作 原 理 。 ( 2 ) 掌 握 單 片 機(jī) 輸 出 比 較 的 設(shè) 計(jì) 方 法 。 ( 3 ) 學(xué) 會(huì) 查 閱 相 關(guān) 數(shù) 據(jù) 手 冊(cè) 。二 . 實(shí) 驗(yàn) 儀 器 設(shè) 備 ( 1 ) PC機(jī) 一 臺(tái) ; ( 2 ) MPLAP IDE開 發(fā) 軟 件 一 套 ; ( 3 ) PICkit3 在 線 調(diào) 試 器 一 套 ; ( 4 ) APP0 0 9 實(shí) 驗(yàn) 板 一 套 ; ( 5 ) 示 波 器 一 臺(tái) 。三 . 實(shí) 驗(yàn) 任 務(wù) ( 1 ) 采 用 單 比 較 匹 配

65、模 式 在 OC4( RD3) 引 腳 產(chǎn) 生 一 定 頻 率 的 連 續(xù) 脈 沖 信 號(hào) , 下 載 運(yùn) 行 , 用 示 波 器 觀 察 輸 出 的 脈 沖 信 號(hào) 。 ( 2 ) 采 用 雙 比 較 匹 配 模 式 在 OC3( RD2) 引 腳 產(chǎn) 生 一 定 頻 率 一 定 占 空 比的 連 續(xù) 脈 沖 信 號(hào) , 下 載 運(yùn) 行 , 用 示 波 器 觀 察 輸 出 的 脈 沖 信 號(hào) 。 ( 3) 采 用 簡 單 PWM模 式 輸 出 PWM信 號(hào) 控 制 D13的 亮 度 , 運(yùn) 行 觀 察 結(jié) 果 。 四 . 實(shí) 驗(yàn) 步 驟( 1 ) 連 接 在 線 調(diào) 試 器 PICkit3

66、、 實(shí) 驗(yàn) 板 和 計(jì) 算 機(jī) ;( 2 ) 打 開 MPLAP IDE集 成 開 發(fā) 環(huán) 境 軟 件 , 點(diǎn) 擊 DebuggerSelect ToolsPICkit 3 選 擇 調(diào) 試 工 具 ;( 3 ) 點(diǎn) 擊 DebuggerSettings, 在 Settings窗 口 中 點(diǎn) 擊 Power欄 , 選 擇 由PICkit3 向 實(shí) 驗(yàn) 板 供 電 ;( 4 ) 完 成 單 比 較 匹 配 模 式 產(chǎn) 生 一 定 頻 率 的 連 續(xù) 脈 沖 信 號(hào) 實(shí) 驗(yàn) ;( 5 ) 完 成 雙 比 較 匹 配 模 式 產(chǎn) 生 一 定 頻 率 一 定 占 空 比 的 連 續(xù) 脈 沖 信 號(hào)實(shí) 驗(yàn) ;( 6 ) 完 成 簡 單 PWM模 式 輸 出 PWM信 號(hào) 控 制 D13的 亮 度 的 實(shí) 驗(yàn) 。五 . 實(shí) 驗(yàn) 報(bào) 告 內(nèi) 容 與 要 求( 1 ) 分 析 輸 出 比 較 模 塊 中 的 單 比 較 和 雙 比 較 基 本 原 理 , 總 結(jié) 輸 出 比較 模 塊 輸 出 信 號(hào) 的 設(shè) 計(jì) 方 法 。( 2 ) 分 析 輸 出 比 較 模 塊 中 的 單 比 較 和 雙 比 較 輸

展開閱讀全文
溫馨提示:
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),我們立即給予刪除!