亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? t10a2_main.c

?? avr 單片機(jī)的學(xué)習(xí)
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
/*************************2006/08/14/修改******************************/
//ICC-AVR application builder : 2006-8-7 16:54:17
// Target : M64
// Crystal: 8.0000Mhz or 16.0000MHZ
//2006/12/8修改,軟件改版,只分三種播放環(huán)境,改遙控鍵,改菜單,信號(hào)檢測(cè)等*/

#include <iom64.h>
#include <inavr.h>
#include <ioavr.h>

#include "T10A2_flash.H"
#include "T10A2_main_define.H"

//extern Lighten_VFD();

void port_init(void);
void watchdog_init(void);
void timer0_init(void);
void timer1_init(void);
void timer2_init(void);
//void int4_isr(void); //INT4 remote
//void timer0_ovf_isr(void);//T0
void adc_init(void);
//void adc_isr(void);  //AD轉(zhuǎn)換,中斷22
void twi_init(void); //I2C
void i2cReceiveByte(unsigned char ackFlag);
//void twi_isr(void);  //I2C 中斷34
void twi_receive_data_disposal(void);
void init_devices(void); // 初始化寄存器
void delay_1us(void);
void delay_us(uint i);
void delay_ms(uint j);

//void writebyte_6306(uchar temp_6306);//寫字節(jié)
//void write_address_6306(uchar __flash *pa);//送五個(gè)字節(jié),一段
void write_yigezi_display(uchar temp,uchar temp1);//寫一個(gè)字
void write_data_display(uchar i,uchar temp,uchar __flash *ps);//送不定長(zhǎng)字給顯示暫存器 i表開始字地址,temp 表末地址(0-13)
void write_data_display_1(uchar i,uchar temp,uchar *ps);//
void display_slow_side_open(void);
void display_slow_right_open(void);//慢顯,往右開屏

//void dispose_qidian(void);  //頻段處理
//void AD_select_channel(void);
//void ad_gain_coutrol_disposal(void);
void SendData_R2S15902(uchar temp_r2s,uchar number_r2s);
void sendbit_r2s15902(uchar temp_bit);
void sendbyte1_r2s15902(void);//input_select+tone
void sendbyte2_r2s15902(void);//fl,fr_vol
void sendbyte3_r2s15902(void);//cen,sw_vol
void sendbyte4_r2s15902(void);//sl,sr_vol
void STR(void);//PT2313 ic
void STOP(void);
void write_2313_byte(uchar s);
void write_2313_page(void);
void write_mic_delay(void);
void vol_max(void);

void tv_vol_disposal(void);//處理TV模式 音量
void ht_vol_disposal(void);
void cd_vol_disposal(void);
void vol_up_slowly_disposal(void);
void reset_disposal(void);

void remote_disp_init(void);//remote 前面段處理
void remote_disp_init_1(void);//
void display_init(void);
void remote_usbcard_on_disposal(void);
void remote_usbcard_on_disposal_1(void);
void remote_disposal_usbcard_inputselect(void);
void remote_disposal_pingheng(void);
void remote_disposal_pinghengjian(void);//remote處理子程序
void remote_disposal_pinghengjia(void);
void remote_disposal_EQ_jian(void);
void remote_disposal_EQ_jia(void);
void remote_disposal_EQ_disp(void);
void remote_display_mic(void);
void remote_disposal_mic_jia(void);
void remote_disposal_mic_jian(void);
void remote_disposal_mic_disp(void);

void tv_pingdian_disposal(void);
//void tv_send_datato_disp_buffer(void);
void input_select_autojia(void);
//void input_select_disposal(void);
void mode_select_disposal(void);
void output_disposal(void);
void input_select_init(void);//輸入初始化

void video_disposal(void);/*未完*/
void static_state_disposal(void);//無信號(hào)進(jìn)入待機(jī)狀態(tài)
void turn_on_init(void);//開機(jī)初化始
void turn_off_init(void);
//void SendDataToDisp_Buffer(uchar __flash *tp0,uchar __flash *tp1,uchar __flash *tp2,uchar __flash *tp3);
void Temportect_disposal(void);
void Dcportect_disposal(void);
void Shortportect_disposal(void);
void single_check_turnoff(void);//無信號(hào)自動(dòng)關(guān)機(jī)
void karaok_insert_pullout_disposal(void);
void auto_search_channel_theatre();
void osd_tiaoshi_display(void);//新加,用于菜單顯示

void tv_anjian_disposal1(void);//按鍵處理子程序
void ht_anjian_disposal2(void);
void cd_anjian_disposal3(void);
void mic_anjian_disposal5(void);
void setup_anjian_disposal6(void);
void setup_anjian_disposal6_0(void);
void menu_disposal(void); //菜單按鍵處理主程序

void start_cm6930(void);
void stop_cm6930(void);
void write_cm6930(uchar data_cm6930);
uchar read_cm6930(void);
uchar key_cm6930(void);

void touch_cm6930_disposal(void);//面板感應(yīng)處理
void touch_disposal(void);//面板按鍵處理
void write4094(uchar data4094);
void LED_Flash(void);

void Display_Proc(uchar Display_Mode);
void VFD_Display(void);
unsigned char Initial_Display(void);
void CLEAR_VFD(void);
void ini_CLEAR_VFD(void);

void Initial_VFD(void);
void Rotary_Proc(void);
void Temperature_Detect(void);
void fshizhen(void);
void sshizhen(void);


void port_init(void)

{
//	PORTA = 0x3b;//3b	1:output 0=input 00111011
//	DDRA  = 0xDF;
	PORTA	= 	0x80;	//0xe1;  //11100001  10000000
	DDRA	=	0xbf;	//0xef;  //11101111	10111111
//	PORTB = 0x08; 00001000
//	DDRB  = 0xfd;//#01111101B;//
	PORTB	=	0xc0;		//待定
	DDRB	=	0x3f;		
//	PORTC = 0xF1;	11110001
//	DDRC  = 0x6E;
	PORTC = 0x93;	//0xb1;  //10000001	10010011
	DDRC  = 0xdF;	//0x7e;  //01111110	11011111
//	PORTD = 0x2F;	00101111
//	DDRD  = 0x00;
	PORTD = 0x73; //01010011
	//PORTD = 0xdf; //11011111
	DDRD  = 0xac; //10101100
//	PORTE = 0xff;	11111111
//	DDRE  = 0xac;//input
	PORTE = 0x93;			//高3位顯示待定
	DDRE  = 0xec;//input 11101100 10010011
//	PORTF = 0x00;//AD口	00000000
//	DDRF  = 0x0e;
	PORTF = 0x08;//AD口
	DDRF  = 0x00;
//	PORTG = 0x08;	00001000
//	DDRG  = 0x04;	
	PORTG = 0x05;	//00000101
	DDRG  = 0x05;  //00000101
	SPCR = 0x1C;
	//SPSR = 0x01;
}
//Watchdog initialize
// prescale: 1024K
void watchdog_init(void)/* 看門狗用上了,要試一下*/
{
	WDR(); //this prevents a timout on enabling
	WDTCR=0x1f;
	WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
}
//TIMER0 initialize - prescale:32
// WGM: Normal
// desired value: 2KHz
// actual value:  2.000KHz (0.0%)
void timer0_init(void)
{
	//TCCR0 = 0x00; //stop
	//ASSR  = 0x00; //set async mode
	//TCNT0 = TIMER0_DATA;//set count
	//OCR0  = 0x7D; //比較寄存器,無用//0xFA 16M
	//TCCR0 = 0x07; //start timer		//0X03

	ASSR = 0x00;					//set async mode
	TCNT0 = 0;						//set count
	OCR0 = 100;
	TCCR0 = (1<<WGM01)|(1<<COM00)|(1<<CS01)|(1<<CS00);		//start timer
}
//TIMER1 initialize - prescale:8
// WGM: 5) PWM 8bit fast, TOP=0x00FF
// desired value: 10KHz
// actual value:  7.813KHz (28.0%)
void timer1_init(void)//注意不用中斷產(chǎn)生 占空比可變的方波
{
	/*TCCR1B = 0x00; //stop
	TCNT1H = 0x00; //setup 0xFF 初始值送0000,計(jì)數(shù)到滿0x00ff后自動(dòng)清0,
	TCNT1L = 0x00;//0x01
	//OCR1AH = 0x00;//只有A匹配//產(chǎn)生方波,OC1A輸出,同時(shí)匹配值隨時(shí)可變.
	//OCR1AL = 0x00;
	OCR1AH = 0x00;//unused
	OCR1AL = 0xFF;
	//OCR1BH = 0x00;//unused
	//OCR1BL = 0xFF;
	OCR1BH = 0x00;//只有B匹配
	OCR1BL = 0x00;
	OCR1CH = 0x00;//unused
	OCR1CL = 0xFF;
	ICR1H  = 0x00;
	ICR1L  = 0xFF;
	//TCCR1A = 0x81;//C1 反向  //正向時(shí),0x21則是B匹配,OC1B輸出, 0x09則是C匹配,OC1C輸出
	TCCR1A = 0x21;
	TCCR1B = 0x0a; //start Timer 8分頻 TCCR1B|=0x08;//表示快速中*/
}
//TIMER2 initialize - prescale:256分頻 //溢出清除標(biāo)志
// WGM: Normal
// desired value: 1KHz
// actual value:  1.008KHz (0.8%)
void timer2_init(void)/*TIFR&=~BIT(TOV2);T2溢出標(biāo)志位清除,計(jì)數(shù)31為1ms,T2不中斷,只計(jì)數(shù)*/
{
	TCCR2 = 0x00; //stop
	TCNT2 = 0x00; //setup e1
	OCR2  = 0x1F; //輸出比較寄存器,這里沒有用
	TCCR2 = 0x04; //start
}

//TIMER3 initialize
void timer3_init(void)/*TIFR&=~BIT(TOV2);T2溢出標(biāo)志位清除,計(jì)數(shù)31為1ms,T2不中斷,只計(jì)數(shù)*/
{	
	TCCR3A = 0x00;
	TCCR3B = 0x00; //stop
	TCNT3H = 0xFF; //1MS定時(shí)
	TCNT3L = 0x06;
	TCCR3B = 0x03; //start Timer 64分頻 4us
}

#pragma vector= INT4_vect//:6
__interrupt void int4_isr(void)//int4
{
	uchar j;
	TCCR2 = 0x00;
	if(first_int_f==0)
	{
		remote_data=0;
		remote_data1=0;
		remote_bit=0;
		first_int_f=1;
	}
	else
	{
		j=TCNT2;
		if(j<TIMER2_SMALL||j>TIMER2_LARGE)
		{
			first_int_f=0;
			remote_bit=0;
		}
		else
		{
			remote_bit++;
			remote_data<<=1;
			if(j>TIMER2_MIDDLE)
			remote_data|=BIT(0);
			switch(remote_bit)
			{
				case 8:
				remote_data1=remote_data;
				break;
				case 16:
				remote_data2=remote_data;
				if(remote_data1==0x18)
				{
					if(remote_continue_f==1)
					{
						if(remote_data2!=remote_data2bak)
						{
							remote_continue_f=1;
							remote_counter1=0;
							remote_data2bak=remote_data2;
						}
						else
						{
							switch(remote_data2)
							{
								case 0x0e://左
								case 0x0f://?

									if(((address_buffer&0xf0)==0x60)||((address_buffer&0xf0)==0x70)||((address_buffer&0xf0)==0x90))
									{
										remote_counter1++;
										if(remote_counter1<5)remote_data2=0xff;//500ms
										else {remote_counter1=4;}
									}
								else	remote_data2=0xff;
								break;
								case 0x15:	//vol+
								break;
								case 0x14:	//vol-
								break;
								case 0x00:	//standby
								break;
								default:		//其余按鍵不連續(xù)用 //遙控取數(shù)取remote_data2
								remote_data2=0xff;
								break;
							}
						}
					}
					else
					{
						remote_continue_f=1;
						remote_counter1=0;
						remote_data2bak=remote_data2;
					}
					first_int_f=0;
				}
				else
				remote_data2=0xff;
				remote_bit=0;
				remote_data=0;
				remote_data1=0;
				first_int_f=0;
				break;
				default:
				break;
			}
		}
	}
	remote_counter=0x00;
	TCNT2 = 0x00; //
	TCCR2 = 0x04;
}

/*
#pragma vector= TIMER0_OVF_vect//:17
__interrupt void timer0_ovf_isr(void)
{
	SEI();
	TCNT0 = TIMER0_DATA; //reload counter value	    //500us定時(shí)
	remote_counter++;
	grid_counter++;
	counter_1ms++;
	//if(counter_1ms%10 == 0)
	//{
		time_flag|=BIT(FLAG_5MS);	//10us標(biāo)志位
	//}
	
	if(counter_1ms>=2)
	{
		counter_1ms=0;
		counter_10ms++;
		time_flag|=BIT(FLAG_10MS);	//10us標(biāo)志位
	}
	if(grid_counter==13)grid_counter=0;//如不穩(wěn)定改成>=

}*/

#pragma vector= TIMER3_OVF_vect//:17
__interrupt void timer3_ovf_isr(void)
{
	SEI();
	TCNT3H = 0xFF; 					//1MS定時(shí)
	TCNT3L = 0xe1;					//0x06   0x83
	
	//VFD_isr();					//轉(zhuǎn)移到LED_FLASH里去
	
	Rotary_Proc();				//加按鍵燈
	
	LED_Flash();

	if (LED_Flash_Timer != 0)
	{
		LED_Flash_Timer--;
	}
	
	if(counter_1ms%8 == 0)
	{
		remote_counter++;
	}
	//grid_counter++;
	counter_1ms++;
	if(counter_1ms%40 == 0)
	{
		time_flag|=BIT(FLAG_5MS);	//5MS標(biāo)志位
	}
	
	if(counter_1ms>=80)
	{
		counter_1ms=0;
		counter_10ms++;
		time_flag|=BIT(FLAG_10MS);	//10ms標(biāo)志位

		b_stop_beep_timer++;		
		if (po_buzzer() && b_stop_beep_timer>=10)
		{
			po_buzzer_set(0);
		}		
	}
	//if(grid_counter==13)grid_counter=0;/*如不穩(wěn)定改成>=*/
	
}

void adc_init(void)
{
	ADCSRA = 0x00; //disable adc
	ADMUX = 0x00; //select adc input 0
	ACSR  = 0x80;
	ADCSRB = 0x00;
	ADCSRA = 0x82;
	//Current_Spect=SpectrumTable[0];
}
#pragma vector= ADC_vect//:22
__interrupt void adc_isr(void)
{
	static unsigned char last;
	unsigned char tmp,tmp2,step;
	SEI();
    //PORTE ^= 1<<4;
    step=Using_Temporary[0];
    ADCSRA=0xae;
    ADMUX=64+32+AD_TIME;
	if(step==0)
	{
		last=AD_Bias;
	}
	if(step<192)
	{
		tmp=ADCH;
		if(step<64)
		{
			if(tmp>last)
			{
				Using_Temporary[1]|=4;
			}
			tmp2=tmp-AD_Bias;
			if(tmp2 & 128)
			{
				tmp2=0-tmp2;
			}
			if(tmp2<Using_Temporary[3])
			{
				if(Using_Temporary[1] & 4)
				{
					if(tmp>last)
					{
						Using_Temporary[3]=tmp2;
						Using_Temporary[2]=step;
					}
				}
				else
				{
					Using_Temporary[3]=tmp2;
					Using_Temporary[2]=step;
				}
			}
		}
		if(step==97)
		{
			Using_Temporary[1] |= 1;
		}
		Using_Temporary[step+3]=tmp;
		last=tmp;
		ADCSRA=0xbe;
	}
	else
	{
		ADC_BREAK;
		ADCSRA=0x83;
		if(step==(192+48+10))step=192;
	}
	step++;
	Using_Temporary[0]=step;
	return;
}
/*#define TWPS0 0
#define TWPS1 1
#define TWEN  2
#define TWIE  0
#define TWEA  6
#define TWINT 7
#define TWSTA 5
#define TWSTO 4 */
void twi_init(void)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费观看视频| 欧美福利一区二区| 日本成人在线网站| 亚洲欧洲精品成人久久奇米网| 欧美在线视频日韩| 国产精品一区一区三区| 日本va欧美va精品| 亚洲男同1069视频| 久久综合久久久久88| 欧美欧美欧美欧美首页| 色婷婷综合五月| 国产成人亚洲精品青草天美| 午夜激情久久久| 依依成人精品视频| 欧美激情一区二区三区| 日韩欧美视频在线| 337p亚洲精品色噜噜噜| 在线精品视频一区二区三四| av在线播放不卡| 国产真实乱子伦精品视频| 青娱乐精品视频| 午夜伦理一区二区| 亚洲精品日韩综合观看成人91| 久久精品一区蜜桃臀影院| 精品少妇一区二区三区日产乱码| 欧美日韩高清不卡| 欧美日韩免费观看一区三区| 色综合久久66| 色婷婷综合久久久久中文一区二区 | 午夜a成v人精品| 亚洲欧美日韩在线不卡| 国产精品免费看片| 亚洲国产精品黑人久久久| 国产人成亚洲第一网站在线播放| 精品国产亚洲在线| 精品国偷自产国产一区| 日韩一区二区精品葵司在线| 88在线观看91蜜桃国自产| 91精品午夜视频| 在线不卡欧美精品一区二区三区| 精品视频一区二区三区免费| 欧美天天综合网| 欧美福利一区二区| 日韩亚洲欧美成人一区| 日韩欧美国产综合在线一区二区三区 | 国产精品99久久久久久久vr| 国产在线精品国自产拍免费| 国产成人一级电影| 99久久夜色精品国产网站| 91美女视频网站| 日本道色综合久久| 欧美日韩精品一区二区| 日韩欧美一区在线观看| 精品国产污网站| 国产精品乱子久久久久| 亚洲激情在线激情| 爽爽淫人综合网网站| 久久精品国产99国产精品| 福利一区福利二区| 91麻豆视频网站| 欧美日韩国产一二三| 日韩一区二区三区电影在线观看| 欧美精品一区二区三区蜜臀| 国产精品夫妻自拍| 丝瓜av网站精品一区二区| 久久99国产精品久久99| 高清在线观看日韩| 欧洲生活片亚洲生活在线观看| 9191国产精品| 久久久国产精品午夜一区ai换脸 | 久久精品国产澳门| 粉嫩欧美一区二区三区高清影视| 91女人视频在线观看| 日韩欧美一级二级三级| 国产精品免费看片| 日韩电影在线一区| www.在线欧美| 67194成人在线观看| 中文字幕精品一区| 亚洲成a天堂v人片| 国产aⅴ综合色| 欧美日韩在线免费视频| 久久久久久免费| 亚洲综合免费观看高清完整版在线 | 精品精品欲导航| 中文字幕一区视频| 青草国产精品久久久久久| www.亚洲人| 欧美一区二区视频在线观看2020 | 国产99久久久久| 91精品国产福利| 最新国产成人在线观看| 久久99精品国产麻豆婷婷| 91网站在线播放| 精品成人a区在线观看| 亚洲一区二区高清| 成人黄色在线网站| 日韩欧美国产1| 亚洲国产视频网站| 成人av电影免费在线播放| 日韩亚洲欧美一区| 亚洲第一综合色| av一区二区三区| 337p日本欧洲亚洲大胆精品| 亚洲一区二区精品视频| 97精品电影院| 日本一区二区成人在线| 久久精品国产成人一区二区三区| 欧美性猛交xxxx黑人交| 国产精品美日韩| 国产精品一级在线| 日韩欧美一区在线| 秋霞成人午夜伦在线观看| 日本精品视频一区二区三区| 国产精品美女久久久久aⅴ| 理论片日本一区| 91精品国产丝袜白色高跟鞋| 亚洲综合网站在线观看| 91女厕偷拍女厕偷拍高清| 中文字幕在线观看一区二区| 国产成人精品在线看| 亚洲精品一线二线三线| 激情小说欧美图片| 精品日本一线二线三线不卡| 五月天亚洲精品| 欧美在线不卡一区| 亚洲大片免费看| 欧美日韩国产一区二区三区地区| 一区二区成人在线| 欧美日韩中文字幕一区| 亚洲一区二区三区小说| 欧美日韩三级一区| 天天综合网 天天综合色| 欧美日韩一级二级三级| 午夜精品一区在线观看| 欧美另类久久久品| 日韩国产成人精品| 日韩欧美国产综合一区| 久草这里只有精品视频| 精品乱人伦一区二区三区| 韩国女主播成人在线观看| 国产亚洲一区二区三区四区| 国产传媒欧美日韩成人| 国产蜜臀97一区二区三区 | 日本高清免费不卡视频| 亚洲综合色视频| 6080yy午夜一二三区久久| 老司机免费视频一区二区三区| 久久在线观看免费| 国产**成人网毛片九色 | 在线观看亚洲专区| 午夜久久久久久久久久一区二区| 91精品国产福利| 国产精品一区二区在线观看不卡 | 一本色道久久综合亚洲91| 一区二区三区精品在线观看| 欧美最新大片在线看| 日韩高清不卡一区二区| 欧美精品一区二区三区视频| av不卡在线观看| 午夜久久久久久电影| 精品国产乱码91久久久久久网站| 国产高清不卡二三区| 一区二区在线免费| 欧美一区二区三区播放老司机| 九一九一国产精品| 国产精品看片你懂得| 欧美吞精做爰啪啪高潮| 狠狠色狠狠色综合系列| 18欧美乱大交hd1984| 欧美日韩aaa| 岛国精品在线观看| 亚洲国产精品久久久男人的天堂| 精品免费日韩av| 在线看日韩精品电影| 精东粉嫩av免费一区二区三区| 中文字幕日韩精品一区| 欧美日韩国产一级二级| 国产激情一区二区三区| 一区二区日韩av| 国产日韩v精品一区二区| 91高清视频免费看| 国产乱码精品一区二区三区忘忧草 | 99re成人在线| 麻豆精品精品国产自在97香蕉| 国产精品成人网| 日韩精品影音先锋| 色呦呦国产精品| 国产综合色视频| 亚洲一区自拍偷拍| 国产亚洲一区二区三区在线观看 | 久久久不卡网国产精品一区| 欧美亚洲国产怡红院影院| 国产乱一区二区| 日本伊人精品一区二区三区观看方式| 国产精品水嫩水嫩| 欧美sm极限捆绑bd| 欧美日韩中字一区| 色婷婷综合久久| 国产福利一区在线|