?? time01._c
字號(hào):
/*AD轉(zhuǎn)換需要隔段時(shí)間采樣一次,用這個(gè)方法可以粗略實(shí)現(xiàn)1秒定時(shí),
我也時(shí)剛剛學(xué)習(xí)AVR 吧剛做的拿出來和新入門的朋友分享 或許有
幫助。存在問題的地方還請(qǐng)朋友門多斧正。*/
//***********************************
//函數(shù)功能:基準(zhǔn)時(shí)間100MS 總計(jì)定時(shí)1S
//編譯器類型及版本:ICCAVR 6.31
/************************************************************************/
#include<iom8v.h> //包含定義ATmega8寄存器的頭文件
#include<macros.h> //包含一些常用的宏定義
#pragma interrupt_handler TIME0:10 //中斷向量號(hào)碼
char i=0; //調(diào)整累加基準(zhǔn)定時(shí)次數(shù)的全局變量
//***********************************************************************/
//主函數(shù)
void main()
{TCCR0=0X05; //時(shí)鐘1024分頻
TCNT0=0X3A; //定時(shí)器計(jì)數(shù)初始值 100ms
TIMSK=0X01; //允許定時(shí)器0中斷
SEI(); //開全局中斷
DDRB=0XFF;
DDRD=0XFF;
PORTB=0Xff;
PORTD=0XFF;
}
//***********************************************************************/
//定時(shí)器中斷函數(shù)
void TIME0()
{if(i<10) //i決定循環(huán)基準(zhǔn)時(shí)間的次數(shù)
{TCNT0=0X3A; //重設(shè)初始值 100ms
i++; //累加基準(zhǔn)時(shí)間
}
else
{PORTD^=BIT(0); //翻轉(zhuǎn)PD口電平
i=0; //定時(shí)全局變量恢復(fù)初始值
}
}
//結(jié)束******************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -