?? main.c
字號:
/************************************************************
文 件:main.c
用 途:由TC1產生兩路獨立的16位PWM輸出,通過濾波變成電壓
Target : M16
Crystal: 8.0000Mhz
說 明:PD4輸出PWMB,PD5輸出PWMA
產生的PWM波形通過濾波后轉換成電壓
因LM358和濾波電路本身的原因,最大電壓約能到VCC的3/4
這種PWM模擬DA的方式,精度有限
創 建:2008.1.29
修 改:2008.1.29
Copy Right (c) www.avrvi.com AVR與虛擬儀器
************************************************************/
#include <iom16v.h>
#include <macros.h>
//主函數
void main(void)
{
PORTD = 0x00;
DDRD = (1<<PD4)|(1<<PD5); //PWM引腳PD4,PD5設置為輸出
TCCR1A = 0xA2; //兩路PWM,匹配清零
TCCR1B = 0x19; //快速PWM模式,位數可調,預分頻1
ICR1 = 2048; //計數上限值,此數為16位PWM
OCR1A=512; //匹配初值
OCR1B=1484;
//輸出電壓計算 占空比*VCC
//這里為 OCR1n / ICR1 * VCC
//實測DA2 為1.42V,DA1 為3.73。 3.73 V為LM358在輸入為5V的最大輸出電壓
while(1)
{
;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -