?? diy0816_04.c
字號:
//4. I/O口LED燈閃爍應用。
//ATMEGA16的PB.0端口開關(可用接插線接VCC或GND代替)控制PA.0端口LED燈閃爍;
//LED燈閃爍可作燈塔,高建筑物,汽車轉彎等警示燈用。
//請你修改程序,改變LED燈閃爍快慢。
//ICC-AVR : 05-11-12
// Target : MEGA16
// Crystal: 8.0000Mhz
#include <iom16v.h>
#include <macros.h>
#define delay_time 500
//delay_time=500,定義延時常量
unsigned char pb_buf;
void delay_us(int time)
{ //微秒延時
do
{
time--;
}
while (time>1);
}
void delay_ms(unsigned int time)
{ //毫秒延時
while(time!=0)
{
delay_us(1000);
time--;
}
}
void shiyan4()
{
DDRB=0x00;PORTB=0xFF;//PB口輸入,內部上拉
DDRA=0xFF;PORTA=0xFF;//PA口輸出
while(1)//循環運行
{
pb_buf=PINB & 0x01;//檢測PINB0是否為0,為1重新檢測
if(pb_buf==0x00)//為0,PA0口的LED閃爍
{
PORTA=0xfe;//點亮LED
delay_ms(delay_time);//延時
PORTA = 0xff;//熄滅LED
delay_ms(delay_time);//延時
}//重新檢測,為1停止閃爍(熄滅)
}
}
void main()
{
shiyan4();//實驗4函數
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -