?? q1._c
字號:
#include "iom16v.h"
#define LOBYTE(a) ((BYTE)(a&0x0f))
#define HIBYTE(a) ((BYTE)((a)>>4))
#define _asm asm
#define WDR() asm("wdr")
#define SEI() asm("sei")
#define CLI() asm("cli")
#define NOP() asm("nop")
#define SLEEP() asm("sleep")
#define led_on() (PORTB =0x00)
#define led_off() (PORTB =0xff)
char i=0;
void delay_2us(int time)//微秒級延時程序
{
do
{
time--;
//WDR();
}
while (time>1);
}
void delay_ms(unsigned int time)//毫秒級延時程序
{
while(time!=0)
{
delay_2us(500);
time--;
}
//WDR();
}
void port_init(void)
{
DDRB = 0xff;
PORTB = 0x00;
}
void T_init(void)
{
TCCR1A=0x00;
TCCR1B=0x00; //停止定時器1
TCNT1H=0xc2;
TCNT1L=0xf7; //定時0.5s
TCCR1B=0x04; //256分頻
}
#pragma interrupt_handler timer1_ovf:9
void timer1_ovf(void) //位閃動即修改
{
TCNT1H=0xc2;
TCNT1L=0xf7;
TCCR1B=0x04;
if(i==1){i=0;led_on();}
else {i=1;led_off();}
}
void main(void)
{
port_init();
T_init();
TIMSK=0X45;
SEI();
while(1)
{
delay_ms(1000);
/*led_on();
delay_ms(1000);
led_off();*/
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -