国产精品欧美福利_亚洲日韩一区二区在线_九九在线精品三级香蕉色网_欧美另类日本亚洲_A级毛片高清免费视_成人三级亚洲无码网站_免费观看国产经典福利片_欧洲成人r片在线观看_久久大量国产情侣高清_最近免费mv在线电影在线观看

蘇州奧聯(lián)電子科技有限公司
當(dāng)前位置: 蘇州奧聯(lián)電子科技有限公司 » 單片機(jī)

AVR 定時(shí)器中斷程序

分類:?jiǎn)纹瑱C(jī) 發(fā)布:2018年05月18日 22:12 瀏覽:857次 Tag:

基于7.3728M晶振作AVR定時(shí)器的時(shí)鐘源進(jìn)行1S定時(shí)! 
實(shí)驗(yàn)內(nèi)容: 
使用AVR的定時(shí)器T1做1S定時(shí),并使用PD口的LED指示燈做簡(jiǎn)單指示。

#include

#include


#define DISP_DDR   DDRD

#define DISP_PORT  PORTD


/*--------------------------------------------------------

程序名稱:定時(shí)器1初始化程序

--------------------------------------------------------*/

void timer1_init(void)

{

 TCCR1B = 0x00;  //stop timer


 TCNT1H = 0xE3;  //設(shè)置 TC1 的 計(jì)數(shù)寄存器 高8位值,基于7.3728M晶振

 TCNT1L = 0xDF;  //設(shè)置 TC1 的 計(jì)數(shù)寄存器 低8位值,基于7.3728M晶振


 //OCR1AH = 0x1C; //設(shè)置 TC1 的 輸出比較寄存器A 高8位值

 //OCR1AL = 0x20; //設(shè)置 TC1 的 輸出比較寄存器A 低8位值


 //OCR1BH = 0x1C; //設(shè)置 TC1 的 輸出比較寄存器B 高8位值

 //OCR1BL = 0x20; //設(shè)置 TC1 的 輸出比較寄存器B 低8位值


 //ICR1H  = 0x1C; //設(shè)置 TC1 的 輸入捕獲寄存器 高8位值

 //ICR1L  = 0x20; //設(shè)置 TC1 的 輸入捕獲寄存器 低8位值


 TCCR1A = 0x00;

 TCCR1B = 0x05;  //設(shè)置TC1 為 CLK/1024分頻,啟動(dòng)TC1

//選擇時(shí)鐘為晶振1024分頻即7372800/1024=7200HZ

//定時(shí)1s (65535-初值)/(定時(shí)器時(shí)鐘7200)=1s

//得初值換算十六進(jìn)制給TCNT1H TCNT1L

 MCUCR = 0x00;  //設(shè)置 MCU 的 控制寄存器

 GICR  = 0x00;  //設(shè)置 中斷控制寄存器

 TIMSK = 0x04;  //設(shè)置 定時(shí)計(jì)數(shù)器 的 屏蔽寄存器(TIMSK = BIT(2);)溢出中斷使能

 //SEI();  //enable interrupts

}

/*--------------------------------------------------------

程序名稱:定時(shí)器1中斷服務(wù)程序

--------------------------------------------------------*/

#pragma interrupt_handler timer1_ovf_isr:9

void timer1_ovf_isr(void)

{

 TCNT1H = 0xE3;  //reload counter high value

 TCNT1L = 0xE1;  //reload counter low value

 DISP_PORT++;  //每加1S,顯示加1

}


void main(void)

{

 DISP_DDR = 0XFF; //設(shè)置顯示口為輸出

 timer1_init();

 SEI();

 while(1);

}



相關(guān)文章
 
資訊欄目
最新資訊
資訊排行
 

在線咨詢

業(yè)務(wù)咨詢

My status 銷售部 點(diǎn)擊這里給我發(fā)消息 業(yè)務(wù)部