?? 紅外遙控器受控端程序.c
字號:
//-----------------------------------------------------------------
// 名稱: 紅外遙控器受控端程序
//-----------------------------------------------------------------
// 說明: 程序運行時,根據SONY紅外協議接收數據并解碼,然后將12位編碼
// 以16進制數形式顯示在三只數碼管上.
//
//-----------------------------------------------------------------
#define F_CPU 2000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define INT8U unsigned char
#define INT16U unsigned int
//蜂鳴器定義
#define BEEP() PORTD ^= _BV(PD7)
//讀取紅外輸入信號
#define Read_IR() (PIND & _BV(PD2))
//0-9,A-F的數碼管段碼
const INT8U SEG_CODE[] =
{ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71
};
//接收到的12位紅外數據及上次接收的數據
INT16U IR_D12 = 0x0000, Old_IR_D12 = 0x0000;
//12位二進制編碼分解為3個16進制數位
INT8U Digit_Buffer[] = {0,0,0};
//-----------------------------------------------------------------
// 輸出提示音
//-----------------------------------------------------------------
void Sounder()
{
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
int main()
{
}
//-----------------------------------------------------------------
// INT0中斷函數 (通過實測,以122,242為兩個時長的上限)
//-----------------------------------------------------------------
ISR (INT0_vect)
{
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -