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

📄 t10a2_main_define.h

📁 AVR单片机基础程序实例! 十个程序源代码。
💻 H
📖 第 1 页 / 共 2 页
字号:
#define uchar unsigned char
#define uint  unsigned int
//#define FLAG_8MHZ
#ifdef FLAG_8MHZ
#define TIMER0_DATA 0x83
#define TIMER2_SMALL 30
#define TIMER2_LARGE 90
#define TIMER2_MIDDLE 46
#else


#define TIMER0_DATA 0xB2			//5ms
#define TIMER2_SMALL 60
#define TIMER2_LARGE 180
#define TIMER2_MIDDLE 92

/*

#define TIMER0_DATA 0x06			//500us
#define TIMER2_SMALL 60
#define TIMER2_LARGE 180
#define TIMER2_MIDDLE 92
*/


#endif
#define BIT(x)	(1 << (x))
#define SET_BIT(x,y) 	(x|=(1<<y))
#define CLR_BIT(x,y) 	(x&=~(1<<y))
#define TEST_BIT(x,y)	(x&(1<<y)) //检测位

#define bit_sta(adr,offset)			(adr & (1<<offset))
#define bit_set(adr,offset,a)		adr=(a<<offset) | (adr & (~(1<<offset)))
#define bit_rev_set(adr,offset,a)	adr=((a^1)<<offset) | (adr & (~(1<<offset)))
#define bit_eor(adr,offset)			adr=((1<<offset) ^ adr )

#define WDR() 	asm("wdr")
#define SEI()	asm("sei")
#define CLI()	asm("cli")
#define NOP()	asm("nop")
#define _WDR() 	asm("wdr")
#define _SEI()	asm("sei")
#define _CLI()	asm("cli")
#define _NOP()	asm("nop")

//#define r2s15_d3a_d8a 0x18 //r2s15902 d3a to d8a setup
//#define r2s15_d17a_d23 0x80//r2s15902 d17a to d23 setup //select_multi/*sl,sr,sw,c*/=1;
//#define Gain_control 0x60//5.1ch gain control d0 to d2

#define r2s15_d3a_d8a 0x00 //r2s15902 d3a to d8a setup
#define r2s15_d17a_d23 0x80//r2s15902 d17a to d23 setup //select_multi/*sl,sr,sw,c*/=1;
#define Gain_controlf 0x00//5.1ch fl,fr gain control d0 to d2
#define Gain_controls 0x00//5.1ch sl,sr gain control d0 to d2
#define Gain_controlc 0x00//5.1ch c gain control d0 to d2
#define Gain_controlsw 0x00//5.1ch sw gain control d0 to d2


#define PT2313_BYTE0 0x88 //2313 Address 字节0
#define PT2313_BYTE1 0x00 //volume
#define PT2313_BYTE2 0xc0 //ATT LR
#define PT2313_BYTE3 0xe0 //ATT RR
#define PT2313_BYTE4 0x80 //ATT LF
#define PT2313_BYTE5 0xa0 //ATT RF
#define PT2313_BYTE6 0x40 //Audio Switch 5c
#define PT2313_BYTE7 0x60 //Bass Control
#define PT2313_BYTE8 0x70 //Treble

//PORTA
//#define STANDBY 0
//#define OK_INSERT_DET	0
//#define ECHO_STB 1
//#define ECHO_SCL 2
//#define MUTE_KARAOK  3
//#define OK_SIGNAL_CHECK 4
//#define SEL_5_B 5
//#define SEL_5_A 6
//#define DTA_R2S	7
#define AD_SELC 0
#define AD_SELB 1
#define AD_SELA 2
#define ECHO_STB 3
#define ECHO_SCL 4
#define MUTE_KARAOK  5
#define OK_SIGNAL_CHECK 6
#define SEL_5_B 7



//PORTB

#define VFD_SID 2	
#define VFD_CLKD 1
#define VFD_BKD 0
												//PB3 空 不用
#define PWM_BUZ 4
#define PWM_AGC 5
#define KEYVOLA 6
#define KEYVOLB 7

//PORTC
#define VSEL_B 0//数字信号检测		////
#define VSEL_A 1//光纤与解码切换	////
#define TWI_TRANS_F 2  //IR_IN
#define POWER_DECODER 3
#define STANDBY 4

//#define AD_SELA	4 //
//#define AD_SELB 5
//#define AD_SELC 6
#define CHECK_SINGLE 5//检测信号高有效
#define CLK_R2S 6
#define DTA_R2S	7


//PORTD
#define stb_4094	2
#define sda_4094	3
#define err_dc		4
#define STANDBY_SWITCH 5
#define err_short 6
#define scl_4094	7

//PORTE
#define SCL_6931_2313 2
#define SDA_6931_2313 3
#define CM6930_CLK  2
#define CM6930_DTA 3
#define VFD_LATCH 5
#define VFD_CLKG 7
#define VFD_BKG 6

//#define REQ_6931 5
//#define BTL 7
//#define GAIN_CHECK 6 //增益检测不用了
//PORTF
#define AD_0 0
#define AD_1 1
#define AD_TEMP         2  //顺便
#define TEMPERATURE 2
#define MICIN_1 3

//PORTG
#define SPDIF_SEL 0				////
#define SPDIF_DET 1				////
//#define CLK_R2S 2
#define SEL_5_A 2

#define s_level 3
#define f_level 4

/*************************************************************************/
//王明文添加
#define SETB_VFD_BKD		SET_BIT(PORTB,VFD_BKD)
#define CLR_VFD_BKD		CLR_BIT(PORTB,VFD_BKD)
#define CPL_VFD_BKD		CPL_BIT(PORTB,VFD_BKD)

#define SETB_VFD_CLKD		SET_BIT(PORTB,VFD_CLKD)
#define CLR_VFD_CLKD		CLR_BIT(PORTB,VFD_CLKD)

#define SETB_VFD_SID		SET_BIT(PORTB,VFD_SID)
#define CLR_VFD_SID		CLR_BIT(PORTB,VFD_SID)

#define SETB_VFD_LATCH	SET_BIT(PORTE,VFD_LATCH)
#define CLR_VFD_LATCH		CLR_BIT(PORTE,VFD_LATCH)

#define SETB_VFD_CLKG		SET_BIT(PORTE,VFD_CLKG)
#define CLR_VFD_CLKG		CLR_BIT(PORTE,VFD_CLKG)

#define SETB_VFD_BKG		SET_BIT(PORTE,VFD_BKG)
#define CLR_VFD_BKG		CLR_BIT(PORTE,VFD_BKG)

//#define __PORTB_4_OUT
#define po_pwm_buz(a)		bit_set(PORTB,4,a)
#define po_buzzer_set(a)	bit_set(DDRB,4,a)
#define po_buzzer()		bit_sta(DDRB,4)

//中英文定义
#define Chinese_Mode						0
#define English_Mode						1

//	显示模式定义
#define Normal_DisMode					0
#define Initial_DisMode					1
#define StandBy_DisMode					2
#define Volume_DisMode					3
#define Source_DisMode					4
#define Detect_Source_DisMode			25
#define Mute_DisMode						5
#define Waiting_DisMode					6
#define Input_DisMode						7
#define Frequency_DisMode				8			//频谱显示模式
#define Protect_DisMode					9
#define MIC_Connect_DisMode				10
#define MIC_Data_DisMode					11
#define Mplayer_DisMode					12
#define EQ_DisMode						13			//bass/treble
#define Balance_DisMode					14			//各通道平衡调节
#define Decode_DisMode					15			//丽音

#define AI_DisMode						16			//AI
#define AutoFit_DisMode					17			//AUTO FIT
#define StreamFormat_DisMode				18			//音频格式
#define HT_TV_Mode_DisMode				19			//MOD
#define OK_Mode_DisMode					20			//ok MODe
#define SpeakerSet_DisMode				21			//喇叭设置
#define HeadPhone_DisMode				22			//耳机显示
#define Cn_En_DisMode						23			//中英文显示模式

#define FreqProc_DisMode					24			//频谱等待显示模式
#define Invalid_DisMode					26
#define USB_CARD_Connect_DisMode		27


//喇叭设置定义
#define Speaker_2_3						0
#define Speaker_Small						1


//kraok 模式定义定义
#define POP_MODE							0
#define BEAUTI_MODE						1
#define FOLK_MODE							2
#define OPERN_MODE						3
#define LECTURE_MODE						4
#define USER_MODE							5

//	HT_TV 模式定义定义
#define TV_General						0
#define TV_News							1
#define TV_Music							2
#define TV_Sports							3
#define TV_Film							4
#define TV_Standard						5

#define HT_General						6
#define HT_Fun								7
#define HT_Music							8
#define HT_Terror							9
#define HT_Fight							10
#define HT_Standard						11

#define TV_General_M						12
#define TV_News_M							13
#define TV_Music_M						14
#define TV_Sports_M						15
#define TV_Film_M							16
#define TV_Standard_M						17

//AT2508触摸IC

#define Feature_Select_Addr	0x00
#define BETA_Addr				0x0D
#define GPIO_Addr				0x2D

#define Cold_Reset_Addr		0xFE
#define Warm_Reset_Addr		0xFF

union
{
	uchar	ATA_2508_Buffer[2];
	uint	ATA_2508_Code;
}	ATA2508Rev;

uchar	Read_ATA_2508_Data[16];


//开关定义

#define SW_ON								1
#define SW_OFF								0

//StreamFormat定义
#define AC3_Stream						0
#define DTS_Stream						1
#define PCM_Stream						2
#define HDCD_Stream						3

//	丽音定义
#define SMALL_5_1_OUTPUT					0
#define SMALL_2_1_OUTPUT					1
#define EARPHONE_OUTPUT					2
#define BIG_5_1_OUTPUT					3
#define BIG_2_0_OUTPUT					4
#define EARPHONE1_OUTPUT					5

//	通道音量平衡定义
#define MAIN_CH_VOL						0			//平衡音量控制
#define FL_CH_VOL							1
#define FR_CH_VOL							2
#define SL_CH_VOL							3
#define SR_CH_VOL							4
#define CEN_CH_VOL						5
#define SW_CH_VOL							6
#define MAIN_VOL							7			//主音量控制

//	MIC连接模式定义
#define MIC_Insert						1
#define MIC_Pullout						0

//	MIC定义
#define MIC_NO								0
#define MIC_1								1
#define MIC_2								2

//	MIC DataType定义
#define MIC1_VOL							0
#define MIC2_VOL							1
#define MIC_ECHO							2
#define MIC_DELAY							3
#define MIC_TREBLE						4
#define MIC_BASS							5

//	Mplay连接模式定义
#define Dis_Connect						0
#define Mplayer_Connect					1

//	bass/treble定义
#define BASS_Mode							0
#define Treble_Mode						1

//	连接模式定义
#define HT_Mode							0
#define TV_Mode							1

//保护类型定义
#define Temperature_Protect				0			//温度保护
#define DC_Protect						1			//直流保护
#define ShortC_Protect					2			//短路保护


//温度检测定义
#define TEMP_FAN_DRIVE					0xc7		//70*C
#define TEMP_VOLUME_DEC					0x6E		//95*C		不确定	
#define TEMP_PROTECT						0x54		//105*C

//频谱


// 使用T/C1发出脉宽调制信号

#define FreqSenseMode_Normal			0
#define FreqSenseMode_CleanVFD		1
#define FreqSenseMode_ForceInitial	2
#define FreqSenseMode_SenseUp		4
#define FreqSenseMode_SenseDown		8

#define Initial_FreqSense           0x100

#define PORT_ADC			PORTF
#define DDR_ADC			DDRF
#define AD_FRQ				0
#define AD_TIME			1
#define PORT_AD_SEL		PORTC
#define DDR_AD_SEL		DDRC
#define AD_SEL_A			4
#define AD_SEL_B			5
#define AD_SEL_C			6
#define ADC_ON				SET_BIT(ADCSRA,6)
#define ADC_BREAK			CLR_BIT(ADCSRA,7)
#define AD_Bias			0x81


#define Switch_Channel_Timer			7		//500ms


/************************************************************************/


#define TW_START                 0x08
#define TW_REP_START             0x10
// Master Transmitter
#define TW_MT_SLA_ACK           0x18
#define TW_MT_SLA_NACK          0x20
#define TW_MT_DATA_ACK          0x28
#define TW_MT_DATA_NACK         0x30
#define TW_MT_ARB_LOST          0x38
// Master Receiver
#define TW_MR_ARB_LOST          0x38
#define TW_MR_SLA_ACK           0x40
#define TW_MR_SLA_NACK          0x48
#define TW_MR_DATA_ACK          0x50
#define TW_MR_DATA_NACK         0x58
// Slave Transmitter
#define TW_ST_SLA_ACK           0xA8
#define TW_ST_ARB_LOST_SLA_ACK  0xB0
#define TW_ST_DATA_ACK          0xB8
#define TW_ST_DATA_NACK         0xC0
#define TW_ST_LAST_DATA         0xC8
// Slave Receiver
#define TW_SR_SLA_ACK           0x60
#define TW_SR_ARB_LOST_SLA_ACK  0x68
#define TW_SR_GCALL_ACK         0x70
#define TW_SR_ARB_LOST_GCALL_ACK 0x78
#define TW_SR_DATA_ACK          0x80
#define TW_SR_DATA_NACK         0x88
#define TW_SR_GCALL_DATA_ACK    0x90
#define TW_SR_GCALL_DATA_NACK   0x98
#define TW_SR_STOP              0xA0
// Misc
#define TW_NO_INFO              0xF8
#define TW_BUS_ERROR            0x00
// defines and constants
#define TWCR_CMD_MASK           0x0F
#define TWSR_STATUS_MASK        0xF8
// return values
#define I2C_OK                  0x00
#define I2C_ERROR_NODEV         0x01
#define I2C_SEND_DATA_BUFFER_SIZE  0x20
#define I2C_RECEIVE_DATA_BUFFER_SIZE 0x20
#define TRUE  1
#define FALSE 0


uchar ram[120];/*电视影院变量*/
#define main_vol ram[0]
uchar AutoFit_Volume;
#define fl_vol_tv0 ram[1] /*范围0-20*/
#define fr_vol_tv0 ram[2]
#define sl_vol_tv0 ram[3]
#define sr_vol_tv0 ram[4]
#define ce_vol_tv0 ram[5]
#define sw_vol_tv0 ram[6]
#define mode_select_tv0 ram[7]
#define bass_tv0  ram[8]
#define treble_tv0   ram[9]
#define output_state_tv0 ram[10]

#define fl_vol_tv1 ram[11]
#define fr_vol_tv1 ram[12]
#define sl_vol_tv1 ram[13]
#define sr_vol_tv1 ram[14]
#define ce_vol_tv1 ram[15]
#define sw_vol_tv1 ram[16]
#define mode_select_tv1 ram[17]
#define bass_tv1 ram[18]
#define treble_tv1 ram[19]
#define output_state_tv1 ram[20]
#define fl_vol_tv2 ram[21]
#define fr_vol_tv2 ram[22]
#define sl_vol_tv2 ram[23]
#define sr_vol_tv2 ram[24]
#define ce_vol_tv2 ram[25]
#define sw_vol_tv2 ram[26]
#define mode_select_tv2 ram[27]
#define bass_tv2 ram[28]
#define treble_tv2 ram[29]
#define output_state_tv2 ram[30]
#define fl_vol_tv3 ram[31]
#define fr_vol_tv3 ram[32]
#define sl_vol_tv3 ram[33]
#define sr_vol_tv3 ram[34]
#define ce_vol_tv3 ram[35]
#define sw_vol_tv3 ram[36]
#define mode_select_tv3 ram[37]
#define bass_tv3 ram[38]
#define treble_tv3 ram[39]
#define output_state_tv3 ram[40]
#define fl_vol_tv4 ram[41]
#define fr_vol_tv4 ram[42]
#define sl_vol_tv4 ram[43]
#define sr_vol_tv4 ram[44]
#define ce_vol_tv4 ram[45]
#define sw_vol_tv4 ram[46]
#define mode_select_tv4 ram[47]
#define bass_tv4 ram[48]
#define treble_tv4 ram[49]
#define output_state_tv4 ram[50]
#define fl_vol_tv5 ram[51]
#define fr_vol_tv5 ram[52]
#define sl_vol_tv5 ram[53]
#define sr_vol_tv5 ram[54]
#define ce_vol_tv5 ram[55]
#define sw_vol_tv5 ram[56]
#define mode_select_tv5 ram[57]
#define bass_tv5 ram[58]
#define treble_tv5 ram[59]
#define output_state_tv5 ram[60]
#define fl_vol_tv6 ram[61]
#define fr_vol_tv6 ram[62]
#define sl_vol_tv6 ram[63]
#define sr_vol_tv6 ram[64]
#define ce_vol_tv6 ram[65]
#define sw_vol_tv6 ram[66]
#define mode_select_tv6 ram[67]
#define bass_tv6 ram[68]

⌨️ 快捷键说明

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