找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6029|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

AVR單片機(jī)定時器0的比較匹配功能試驗TIME0_CTC

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26188 發(fā)表于 2015-6-23 15:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*閑言碎語不要講*/
/*AVR定時器0的比較匹配功能試驗,  天津第四項目部宿舍  */

#include <iom16v.h>
#define uchar unsigned char
#define uint unsigned int
#define set_bit(a,b)  a|=(1<<b)
#define clr_bit(a,b)  a&=(1<<b)
#define get_bit(a,b)  a&(1<<b)
#pragma interrupt_handler time0ctc_isr:20
void time0ctc_isr()//定時計數(shù)器0比較匹配中斷
{
;/*其實這個比較匹配就是一個頻率發(fā)生器,而他的頻率大小由OCR0控制,所以在這中斷離改變OCR0就會改變下一次的波形頻率,*/
;/*所以這個就是用頻率變化的場合用的,*/
}
void int_time0ctc()//定時器0用在比較匹配設(shè)置初始化
{
     SREG=0x80;//開啟全局中斷
    TCNT0=0;//這里我采用RC震蕩8M時鐘,1024分頻后周期是128微秒/脈沖,(255-0)*128=3968us=3.968ms的時鐘信號出現(xiàn)在OC0引腳

OCR0=255;//這個OCR0就是說TCNT0一直加,加到和OCR0相等時,就發(fā)生所謂的比較匹配,這時就產(chǎn)生中斷了,只是這里要注意OCR0>TCNT0,否則時間不準(zhǔn)
   TCCR0=0x1D; //工作在CTC比較匹配模式,比較匹配時  取反(這里看手冊72頁里有引腳電平設(shè)置我這里設(shè)置為去取反了)    OC0引腳(就是4腳),時鐘1024分頻,開啟定時器
   
   TIMSK=0x02;//開啟定時器輸出比較匹配中斷
   
}
void main()
{
DDRC=0xff;
PORTC=0x00;
DDRB|=(1<<3);
PORTB|=(1<<3);
int_time0ctc();
while(1);


}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表