日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

您好,歡迎進入深圳市穎特新科技有限公司官方網站!

您現在的位置:首頁 新聞資訊 >> 新聞頭條 >> AVR 定時器快速PWM模式使用
新聞資訊
NEWS INFORMATION

AVR 定時器快速PWM模式使用

發(fā)布時間:2019-05-22

PWM很常用,AVR自帶內部PWM功能,分為快速PWM模式和相位修正PWM模式。

 

我們這里選擇方式15 ,由OCR1A保存上限值,由OCR1B保存匹配值,所以輸出管腳 OCR1A不能輸PWM,只能有OCR1B輸出PWM信號。

 

如果用方式 5,6,7模式 上限值是固定的,所以我們就可以用OCR1A和OCR1B保存匹配值

 

OCR1A和OCR1B都可以輸出PWM信號。

 

 

快速PWM時序圖

 

 

根據此公式計算出OCR1A和OCR1B的數值

 

OCR1A:

 

1,11059200 / 100 /64 = 1728                         // 11.0592MHz晶振系數 / 100Hz頻率 / 64分頻

 

2,1728 - 1 = 1727                                        //得到上限值,賦值給OCR1A

 

OCR1B:

 

1,1727 / 5   =    345.4    ( 取值為345 )          //得到匹配值,設定為2ms,賦值給OCR1B

 

100Hz表示每秒震動100次,所以周期是1s / 100 = 0.01s 即10ms

 

100Hz周期是10ms,要定時2ms即用 1727 / 5 =345.4 取值為345

 

所以也可以知道產生的是占空比為20%的PWM信號

 

測試代碼:

 

#include <iom16.h>

 

void FastPWM(void)

 

{

 

DDRD_Bit4 = 1; //    OC1B 管腳設置為輸出

 

DDRD_Bit5 = 1; //    OC1A 管腳設置為輸出

 

TCCR1A=(0<<COM1A1)|(1<<COM1A0)|(1<<COM1B1)|(0<<COM1B0)|(1<<WGM11)|(1<<WGM10);

 

// OC1A 作為上限值 電平取反   OC1B 作為比較值 比較匹配時清零,到達上限值是置1

 

// TCCR1A ==> COM1A1 , COM1A0 , COM1B1 , COM1B0 , FOC1A , FOC1B , WGM11 , WGM10

 

//               0        1        1        0       無關    無關     1       1

 

TCCR1B=(1<<WGM13)|(1<<WGM12)|(0<<CS12)|(1<<CS11)|(1<<CS10);

 

// 波形產生模式15 , 64分頻

 

// TCCR1B ==> ICNC1 , ICES1 , - , WGM13 , WGM12 , CS12 , CS11 , CS10

 

//             無關    無關          1       1      0      1      1

 

OCR1A=1727;   // 晶振頻率 11.0592MHz , 設定 100Hz PWM信號 , 64分頻

 

OCR1B=345;     // 為2ms的高電平持續(xù)時間

 

}

 

void main(void)

 

{

 

FastPWM();

 

}

聯系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

黄骅市| 象州县| 政和县| 吐鲁番市| 明水县| 霍山县| 云霄县| 长宁区| 吐鲁番市| 钦州市| 盘锦市| 郸城县| 吉林市| 津市市| 辽阳市| 金溪县| 宝坻区| 邓州市| 留坝县| 抚州市| 奉节县| 桃园县| 大庆市| 六安市| 镇平县| 万山特区| 海兴县| 中超| 玉山县| 宝丰县| 会昌县| 云安县| 丰县| 汾西县| 疏附县| 肃南| 巴中市| 英山县| 乐陵市| 蚌埠市| 镇坪县|