⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 define.h

📁 一个采用单片机的外部中断0口实现的红外遥控解码程序 可对大部分的遥控器进行解码 而只需要对其进行一些小的改动即可 采用的是avr的atmega16的单片机
💻 H
字号:
#ifndef _define_h_
#define _define_h_
#include<inavr.h>
#define NOP __no_operation()
#define nop()  {NOP;NOP;NOP;NOP;}
//Watch Dog
#define WDTOE 4
#define WDE   3
#define WDP2  2
#define WDP1  1
#define WDP0  0
/* UCSRA */
#define RXC   7
#define TXC   6
#define UDRE  5
#define FE    4
#define DOR   3
#define PE    2
#define U2X   1
#define MPCM  0
//TCCR0
#define FOC0     7
#define WGM00    6
#define COM01    5
#define COM00    4
#define WGM01    3
#define CS02     2
#define CS01     1
#define CS00     0
//TCCR2
#define FOC2     7
#define WGM20    6
#define COM21    5
#define COM20    4
#define WGM21    3
#define CS22     2
#define CS21     1
#define CS20     0
//ASSR 
#define AS2      3
#define TCN2UB   2
#define OCR2UB   1
#define TCR2UB   0
//TCCR1A
#define COM1A1   7
#define COM1A0   6
#define COM1B1   5
#define COM1B0   4
#define FOC1A    3
#define FOC1B    2
#define WGM11    1
#define WGM10    0
//TCCR1B
#define ICNC1    7
#define ICES1    6
#define WGM13    4
#define WGM12    3
#define CS12     2
#define CS11     1
#define CS10     0
//TCCR1C

//TIMSK
#define OCIE2    7
#define TOIE1    2
#define TOIE2    6
#define TICIE1   5
#define OCIE1A   4
#define OCIE1B   3
#define OCIE0    1
#define TOIE0    0
//TIFR
#define OCF2     7
#define TOV2     6
#define ICF1     5
#define OCF1A    4
#define OCF1B    3
#define TOV1     2
#define OCF0     1
#define TOV0     0

#define SetBit(X,Y) (X|=(1<<Y))
#define ClrBit(X,Y) (X&=~(1<<Y))
#define ValBit(X,Y) (X&(1<<Y)?1:0)

#define Time4_5_Big     0x30
#define Time4_5_Small   0x20
/*  0.6 + 2.2 ms  22.4 */
#define Time2_2_Big     0x5F
#define Time2_2_Small   0x40
/*  0.6 + 1.7 ms 18.4 0x10 */
#define Time1_7_Big     0x15
#define Time1_7_Small   0x0f
/*  0.6 + 0.6 ms  9.6  0x08 */ 
#define Time0_6_Big     0x0d
#define Time0_6_Small   0x05

/* time0/1 clk select */
#define CLK_STOP         0x00// stop
#define CLK_1            0x01// clk
#define CLK_8            0x02// clk/8
#define CLK_64           0x03// clk/64
#define CLK_256          0x04// clk/256
#define CLK_1024         0x05// clk/1024
#define CLK_FALL         0x06// T0/T1 falling
#define CLK_RISING       0x07// T0/T1 rising

#define INT0_Enable     SetBit(GICR,6)//GIMSK 4433 m16 GICR
#define INT0_Disable    ClrBit(GICR,6)

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -