?? timer1控制交通指示燈.c
字號:
//-----------------------------------------------------------------
// 名稱: 定時器T1控制交通指示燈
//-----------------------------------------------------------------
// 說明: 東西向綠燈亮5秒后,黃燈閃爍,閃爍5次后亮紅燈,
// 紅燈亮后,南北向由紅燈變為綠燈,5秒后南北向黃燈閃爍,
// 閃爍5次后亮紅燈,東西向綠燈亮,如此往復.
// 本例將時間設得較短是為了調試的時候能較快的觀察到運行效果.
//
//-----------------------------------------------------------------
#define F_CPU 4000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define RED_EW_ON() PORTC |= (1<<0); //東西向指示燈開
#define YELLOW_EW_ON() PORTC |= (1<<1);
#define GREEN_EW_ON() PORTC |= (1<<2);
#define RED_EW_OFF() PORTC &= ~(1<<0); //東西向指示燈關
#define YELLOW_EW_OFF() PORTC &= ~(1<<1);
#define GREEN_EW_OFF() PORTC &= ~(1<<2);
#define RED_SN_ON() PORTC |= (1<<3); //南北向指示燈開
#define YELLOW_SN_ON() PORTC |= (1<<4);
#define GREEN_SN_ON() PORTC |= (1<<5);
#define RED_SN_OFF() PORTC &= ~(1<<3); //南北向指示燈關
#define YELLOW_SN_OFF() PORTC &= ~(1<<4);
#define GREEN_SN_OFF() PORTC &= ~(1<<5);
#define YELLOW_EW_BLINK() PORTC ^= 0x02; //東西向黃燈閃爍
#define YELLOW_SN_BLINK() PORTC ^= 0x10; //南北向黃燈閃爍
#define BEEP() (PORTB ^= 0x01) //蜂鳴器
//延時倍數,閃爍次數,操作類型變量
INT8U Time_Count = 0, Flash_Count = 0, Operation_Type = 1;
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
int main()
{
}
//------------------------------------------------------------------
// 黃燈警報聲音輸出
//------------------------------------------------------------------
void Yellow_Light_Alarm()
{
}
//-----------------------------------------------------------------
// T1定時器溢出中斷服務程序(控制交通指示燈切換顯示)
//-----------------------------------------------------------------
ISR (....)
{
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -