?? main.c
字號:
/*
T/C0中斷方式測試程序
main.c
MCU:AT90S2313
時鐘:4MHz
芯藝 2004-09-18
*/
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#define uchar unsigned char
#define SET_LED PORTD&=0XEF //PD4接發光管
#define CLR_LED PORTD|=0X10
static uchar g_bCount=0; //中斷計數器
static uchar g_bDirection=0;
//T/C0中斷例程
SIGNAL(SIG_OVERFLOW0)
{
// 產生中斷周期 T = 256 * 1024 / 4MHz
if(++g_bCount >14) //中斷15次約一秒
{
if(g_bDirection) //反向LED控制腳
SET_LED,g_bDirection=0;
else
CLR_LED,g_bDirection=1;
g_bCount=0;
}
}
int main(void)
{
DDRD=0X10;
PORTD=0X10;
TCNT0=0; // T/C0開始值
TCCR0=5; // 預分頻 ck/1024 ,計數允許
TIMSK=_BV(TOIE0);
sei();
while(1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -