# PWM_PIC16F18854 [PIC16F18854 datasheet](http://ww1.microchip.com/downloads/en/DeviceDoc/PIC16LF18854-Data-Sheet-40001826D.pdf) ###### tags:`PIC16F18854` <style> .red {color:red;} </style> ## ==IC封裝與腳位== \\圖 ## ==用到的設定值表格== p209     TIMER2要在TxCON的CKPS<2:0>設定    當PR2=255 時,最大PWM分辨率為 10 位。分辨率是 PR2 寄存器值的函數 要把要用來輸出PWM的腳的TRIS 設為0才能輸出 有 3 個具有自動重載功能的 8 位定時器(Timer2/4/6),因此 CCP 和 PWM 模塊上的 PWM 模式可以使用這些timer的任何一個 當 TMR2 等於 PR2 時,在下一個遞增週期會發生以下三個事件: • TMR2 清零 • PWMx 引腳置位(例外:如果 PWM 佔空比 = 0%,則不會置位該引腳。) • PWM 脈寬由 PWMxDC 鎖存。 如果脈寬值大於週期,則分配的 PWM 引腳將保持不變。 ==當 TMR2IF 標誌位被設置時: • 清除相關的 TRIS 位以啟用輸出驅動器。 • 通過配置RxyPPS 寄存器將信號路由到所需的引腳。 • 通過設置 PWMxCON 寄存器的 PWMxEN 位來使能 PWMx 模塊== ## ==寫入控制暫存器== ## PMD3 如果功耗太高可以關這個  ### <span class ="red">PWM7MD</span>:禁用脈寬調製器 PWM7 位 1 = 禁用 PWM7 模塊 0 = 啟用 PWM7 模塊 ### <span class ="red">PWM6MD</span>:禁用脈寬調製器 PWM6 位 1 = 禁用 PWM6 模塊 0 = 啟用 PWM6 模塊 ## TxCON:Timer2/4/6 控制暫存器  ### <span class ="red">ON</span>:Timerx 開啟位 1 = Timerx 開啟 0 = Timerx 關閉 所有計數器和狀態機復位 ### <span class ="red">CKPS<2:0></span>:Timer2 類型時鐘預分頻選擇位 111 = 1:128 預分頻器 110 = 1:64 預分頻器 101 = 1:32 預分頻器 100 = 1:16 預分頻器 011 = 1:8 預分頻器 010 = 1:4 預分頻器 001 = 1:2 預分頻器 000 = 1:1 預分頻器 ### <span class ="red">OUTPS<3:0></span>:Timerx 輸出後分頻器選擇位 1111 = 1:16 後分頻器(Postscaler) 1110 = 1:15 後分頻器 1101 = 1:14 後分頻器 1100 = 1:13 後分頻器 1011 = 1:12 後分頻器 1010 = 1:11 後分頻器 1001 = 1:10 後分頻器 1000 = 1:9 後分頻器 0111 = 1:8 後分頻器 0110 = 1:7 後分頻器 0101 = 1:6 後分頻器 0100 = 1:5 後分頻器 0011 = 1:4 後分頻器 0010 = 1:3 後分頻器 0001 = 1:2 後分頻器 0000 = 1:1 後分頻器 ## PWMxCON  ### <span class ="red">PWMxEN</span>:PWM 模塊使能位 1 = 使能 PWM 模塊 0 = 禁止 PWM 模塊 ### <span class ="red">PWMxOUT</span>:讀取位時的 PWM 模塊輸出電平 1 = High 0 = Low ### <span class ="red">PWMxPOL</span>:PWMx 輸出極性選擇位 1 = PWM 輸出為低電平有效 0 = PWM 輸出為高電平有效 ## PWMxDCH  ### <span class ="red">PWMxDC<9:2></span>:PWM 佔空比最高位 ## PWMxDCL  ### <span class ="red">PWMxDC<1:0></span>:PWM 佔空比最低有效位 ## 使用方式 ### 接線方式 畫張圖拉 ### 要來寫程式了喔 DATASHEET裡的波型圖 ### 程式說明 ```c= 用這個啦 ``` ## 注意
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up