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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? 凌陽61單片機實現的多功能電子琴源程序代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
    display_cha(colon,0,112);
    display_cha(num1,2,0);
    display_cha(tan,2,16);
    display_cha(zou,2,32);
    display_cha(num2,4,0);
    display_cha(bian,4,16);
    display_cha(ji,4,32);
    display_cha(num3,6,0);
    display_cha(ge,6,16);
    display_cha(qu,6,32);
}
void display_mode_1(void)
{
	send_cmd(0xa6);
    display_cha(num1,0,0);
    display_cha(tan,0,16);
    display_cha(zou,0,32);
    display_cha(mo,0,48);
    display_cha(shi,0,64);
    display_cha(colon,0,80);
    page=1;
    colume=128;
}

void display_mode_2(void)
{
	send_cmd(0xa6);
    display_cha(num2,0,0);
    display_cha(bian,0,16);
    display_cha(ji,0,32);
    display_cha(mo,0,48);
    display_cha(shi,0,64);
    display_cha(colon,0,80);
    page=1;
    colume=128;
}

void display_mode_3(void)
{
	send_cmd(0xa6);
    display_cha(num3,0,0);
    display_cha(ge,0,16);
    display_cha(qu,0,32);
    display_cha(mo,0,48);
    display_cha(shi,0,64);
    display_cha(colon,0,80);
    page=1;
    colume=128;
}

/*初始化*/
void lcd_initial(void)
{
	LCD_RES_L;
	delay_nus(5);
	LCD_RES_H;
	delay_nus(5);
	send_cmd(0xA2);	//LCD bias setting: 1/9
	send_cmd(0xA0);	//ADC selection: ram-seg normal
	send_cmd(0xC8); //Common output mode selection: reverse
//	send_cmd(0xDC); //??????????????????


//	send_cmd(0xC8);//?????????????????

	send_cmd(0x25); //resistor
	send_cmd(0x81); //Electonic Volume
	send_cmd(0x14);
	send_cmd(0x2C); //voltage booster
	send_cmd(0x2E); //voltage regulator
	send_cmd(0x2F); //voltage follower
	send_cmd(0xAF); //LCD display on
	send_cmd(0xE0); //Column address increment w+1
	send_cmd(0x40); //start line address
	Clear_S();
}


/**************屏幕上添加一個音符********************************/
void display_add(unsigned char *note)
{
	if(colume==128)
	{
		colume=0;
		page++;
		if(page==8)
		{
			Clear_S();
			display_mode_1();
			display_add(note);
			return;
		}		
	}
	display_note(note,page,colume);
	colume+=8;
}
/**************屏幕上刪除一個音符********************************/
void display_del()
{
	colume-=8;
	if(colume==-8)colume=0;
	display_note(null,page,colume);
	if(colume==0&&page!=2)
	{
		colume=128;
		page--;
	}
}

/*--------------------------------------------------------------------------*/
//	函數名稱:void sound();
//	函數功能:控制DA轉換發聲。
//	入口參數:無
//	出口參數:無
/*-------------------------------------------------------------------------------*/
void sound(unsigned int key_delay)
{
	int i,j,m;
	long int t;	
	if(key_delay!=0)
	{
		switch(key_delay)
		{
			case 110:LEDL5_ON;break;
			case 98: LEDL6_ON;break;
			case 87: LEDL7_ON;break;
			
			case 82: LED1_ON;break;
			case 73: LED2_ON;break;
			case 64: LED3_ON;break;
		
			case 61: LED4_ON;break;
			case 54: LED5_ON;break;
			case 48: LED6_ON;break;
		
			case 42: LED7_ON;break;
			case 40: LEDH1_ON;break;
			default: break;
		}
		t=(int)20000/key_delay;
		j=0;
		for(i=0;i<t;i++)			//一次循環   cycles
		{
			*P_DAC_Ctrl=0x0000;
			*P_DAC1=j;
			*P_DAC2=j;
			for(m = 0;m<key_delay;m++);
			if(j==0x0000)
				j=0x8000;
			else j=0x0000;
			*P_Watchdog_Clear = 0x0001;
		}
		LED_OFF;	
		//	*P_DAC1=0x0000;
		//	*P_DAC2=0x0000;	
	}
	else
	{
		delay_nms(500);
	}
	*P_Watchdog_Clear = 0x0001;                             // 清看門狗
}



/*--------------------------------------------------------------------------*/
//	函數名稱:unsigned int code_to_delay(unsigned int key_code)
//	函數功能:將鍵盤掃描碼轉換成發音的延時。
//	入口參數:key_code-----鍵盤掃描碼
//	出口參數:key_delay----延時
/*-------------------------------------------------------------------------------*/
unsigned int code_to_delay(unsigned int key_code)
{
	unsigned int key_delay=0;
	switch(key_code)
		{
			case KEY_0: key_delay = 110;break;
			case KEY_1: key_delay = 98;break;
			case KEY_2: key_delay = 87;break;
			
			case KEY_4: key_delay = 82;break;
			case KEY_5: key_delay = 73;break;
			case KEY_6: key_delay = 64;break;
		
			case KEY_8: key_delay = 61;break;
			case KEY_9: key_delay = 54;break;
			case KEY_A: key_delay = 48;break;
		
			case KEY_C: key_delay = 42;break;
			case KEY_D: key_delay = 40;break;
			case KEY_E: key_delay = 0;break;
			
			default: key_delay = 0;break;
		}
		return key_delay;
}
/*--------------------------------------------------------------------------*/
//	函數名稱:unsigned char code_to_note(unsigned int key_code)
//	函數功能:將鍵盤掃描碼轉換成音符字模。
//	入口參數:key_code-----鍵盤掃描碼
//	出口參數:key_note----音符字模的首地址
/*-------------------------------------------------------------------------------*/
unsigned char *code_to_note(unsigned int key_code)
{
	unsigned char *key_note=null;
	switch(key_code)
		{
			case KEY_0: key_note=lsew;break;
			case KEY_1: key_note =lla;break;
			case KEY_2: key_note = ltea;break;
		
			case KEY_4: key_note = doe;break;
			case KEY_5: key_note = ray;break;
			case KEY_6: key_note = me;break;
		
			case KEY_8: key_note = far;break;
			case KEY_9: key_note = sew;break;
			case KEY_A: key_note = la;break;
	
			case KEY_C: key_note = tea;break;
			case KEY_D: key_note = hdoe;break;
			case KEY_E: key_note = zero;break;
	
			default: key_note = null;break;
		}
		return key_note;
}
/***********************音符轉成整數,以便存儲********************************/
//		doe-tea 用1-7
//		low_5,low_6,low_7用-5,-6,-7
//		high_1用8,休止符用0
int code_to_num(unsigned int key_code)
{
	int note_num=0;
	switch(key_code)
	{
		case KEY_0: note_num=-5;break;
		case KEY_1: note_num=-6;break;
		case KEY_2: note_num=-7;break;
		
		case KEY_4: note_num=1;break;
		case KEY_5: note_num=2;break;
		case KEY_6: note_num=3;break;
		
		case KEY_8: note_num=4;break;
		case KEY_9: note_num=5;break;
		case KEY_A: note_num=6;break;
	
		case KEY_C: note_num=7;break;
		case KEY_D: note_num=8;break;
		case KEY_E: note_num=0;break;
		default: break;
	}
	return note_num;	
}
/***********************存儲一個音符*******************************/
void store_note(int num)
{
	int *p;
	p=song;
	if(n<95)
	{
		*(p+n)=num;
		n++;
	}
}

/***********************刪除一個音符*******************************/
void del_note()
{
	n--;
	if(n==-1)
		n=0;
}
/***********************添加歌曲結束標志*******************************/
void store_end()
{
	int *p;
	p=song;
	*(p+n)=100;
}
/***********************播放歌曲********************************************/
void sing(unsigned int *song)
{
	unsigned int key_code=0;
	unsigned int *p;
	unsigned int delay;
	key_code=Key_Get();
	p=song;
	while(*p!=100&&key_code==Key_Get())
	{
		switch(*p)
		{
			case -5:delay=110;break;
			case -6:delay=98;break;
			case -7:delay=87;break;
			case 1:delay=82;break;
			case 2:delay=73;break;
			case 3:delay=64;break;
			case 4:delay=61;break;
			case 5:delay=54;break;
			case 6:delay=48;break;
			case 7:delay=42;break;
			case 8:delay=40;break;
			case 0:delay=0;break;
			default:break;
		}
		p++;
		sound(delay);
	}
}

//=============================================================================================== 
// 語法格式:	void speak(unsigned int key_code)
// 實現功能:	
// 參數:		
// 返回值:		
//===============================================================================================
//unsigned int KeyDataChange(unsigned int Key_Data);
//void Initial_INT(void);
//unsigned int g_Data[11] = {0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};
						   //0,	     1,		2,		3,		4,	  5,	6,		7,		8,		9
void speak(unsigned int key_code)
{
 //   KeyFlag = 0;

	SACM_S480_Initial(Auto);                                   //初始化為自動方式播放
	*P_Watchdog_Clear = 0x0001;                             // 清看門狗
    SACM_S480_Volume(15);                            //設置為最大播放音量    
   	switch(key_code)
	{		
		 case KEY_3:	SACM_S480_Play(0,DAC1+DAC2,Ramp_UpDn_On);break; 	//播放語音資源s0
		 case KEY_7: 	SACM_S480_Play(1,DAC1+DAC2,Ramp_UpDn_On);break; 	//播放語音資源s1
		 case KEY_B: 	SACM_S480_Play(2,DAC1+DAC2,Ramp_UpDn_On);break; 	//播放語音資源s2
		 case KEY_F:  	SACM_S480_Play(3,DAC1+DAC2,Ramp_UpDn_On);break;     //播放語音資源s3
		 default: break;		   	
	}
	while(SACM_S480_Status()&0x01)
	{
		*P_Watchdog_Clear = 0x0001;
		SACM_S480_ServiceLoop();					// 獲取語音數據并將其填入解碼隊列  
	} 
	*P_SystemClock=0x0012;		                             
	*P_Watchdog_Clear = 0x0001;                             // 清看門狗
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费xxxxxxxx| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 蜜臀国产一区二区三区在线播放| 日本久久一区二区三区| 国产精品久久久久一区| 91啪九色porn原创视频在线观看| 一区二区三区四区视频精品免费| 国产网红主播福利一区二区| 精品视频在线免费看| 91在线播放网址| 国产一区二区免费看| 自拍偷拍欧美激情| 精品第一国产综合精品aⅴ| 国产福利一区二区三区视频在线| 亚洲国产wwwccc36天堂| 亚洲图片你懂的| 国产精品网站导航| 久久夜色精品国产欧美乱极品| 制服丝袜亚洲色图| 欧美日韩高清影院| 欧美高清一级片在线| 欧美午夜宅男影院| 色狠狠色狠狠综合| 91色porny在线视频| 一道本成人在线| av不卡一区二区三区| 色婷婷国产精品| 91色porny| 欧美亚洲综合在线| 日韩一区二区电影网| 3d成人h动漫网站入口| 精品va天堂亚洲国产| 亚洲天堂a在线| 欧美少妇xxx| 欧美日韩精品一区二区三区蜜桃| 色婷婷av一区二区| 在线电影欧美成精品| 欧美变态tickling挠脚心| 久久久久久久久久看片| 久久精品一二三| 亚洲国产精品视频| 三级欧美在线一区| 风间由美一区二区三区在线观看 | 国产不卡在线播放| 91免费国产在线观看| 欧美日韩国产高清一区二区| 久久亚洲综合av| 午夜影视日本亚洲欧洲精品| 极品美女销魂一区二区三区免费 | jlzzjlzz国产精品久久| 91精品国产综合久久精品麻豆| 久久亚洲综合av| 日韩和欧美一区二区三区| av在线一区二区| 精品少妇一区二区三区视频免付费| 国产精品的网站| 国产在线视频一区二区三区| 91激情五月电影| 欧美激情一区不卡| 久久综合综合久久综合| 91色在线porny| 亚洲欧美日韩一区| 久久精品国产网站| 久久久精品tv| 色播五月激情综合网| 日本欧美大码aⅴ在线播放| 精品国产露脸精彩对白 | 久久天天做天天爱综合色| 国产精品一二三| 亚洲欧美视频在线观看| 欧美蜜桃一区二区三区| 国产乱一区二区| 中文字幕一区在线观看| 欧美日韩五月天| 懂色av一区二区三区免费观看| **欧美大码日韩| 欧美一区二区三区免费视频| 国产老妇另类xxxxx| 亚洲一区二区三区三| 91.com在线观看| av一区二区三区四区| 奇米777欧美一区二区| 亚洲免费av高清| 国产精品全国免费观看高清| 在线播放视频一区| 91在线视频免费观看| 国产又粗又猛又爽又黄91精品| 一区2区3区在线看| 中文幕一区二区三区久久蜜桃| 日韩一级高清毛片| 久久久精品免费观看| 日韩一区在线播放| 99久久国产免费看| 日韩国产欧美三级| 国产精品久久综合| 欧美福利视频导航| 成人综合婷婷国产精品久久蜜臀| 亚洲乱码一区二区三区在线观看| 91精选在线观看| 99久久婷婷国产综合精品| 日本欧美肥老太交大片| 亚洲欧美在线观看| 欧美不卡一区二区三区| 欧美在线一二三四区| 成人黄色av电影| 国内精品免费在线观看| 午夜久久久影院| 亚洲国产成人精品视频| 久久九九国产精品| 日韩欧美自拍偷拍| 在线观看日韩电影| 色婷婷久久综合| 成人免费视频播放| 国产精品69毛片高清亚洲| 亚洲韩国一区二区三区| 亚洲欧美成aⅴ人在线观看| 久久久亚洲精品一区二区三区| 欧美一级视频精品观看| 欧美美女一区二区在线观看| 日本丶国产丶欧美色综合| 99视频一区二区| 风间由美中文字幕在线看视频国产欧美| 日韩 欧美一区二区三区| 午夜精品久久久久影视| 亚洲成av人**亚洲成av**| 亚洲高清不卡在线观看| 五月天视频一区| 麻豆精品在线看| 久久精品国产久精国产爱| 免费欧美在线视频| 久久99精品网久久| 成人高清视频在线| 色噜噜狠狠一区二区三区果冻| 色噜噜久久综合| 91精品国产入口在线| 精品国产一区二区在线观看| 综合电影一区二区三区| 久久久久久久久岛国免费| 91久久免费观看| 99精品桃花视频在线观看| 国产成人精品亚洲日本在线桃色| 亚洲 欧美综合在线网络| 久久久久久久久久电影| 中文字幕 久热精品 视频在线| 欧美电影免费观看高清完整版在线| 欧美日韩在线观看一区二区| 欧美一区二区三区在线视频| 久久综合给合久久狠狠狠97色69| 欧美激情在线看| 亚洲午夜免费视频| 韩国视频一区二区| 在线观看亚洲精品| 777午夜精品免费视频| 国产精品免费网站在线观看| 蜜桃av噜噜一区二区三区小说| 国产一区二三区好的| 欧美亚洲一区三区| 国产精品女上位| 九九久久精品视频| 精品视频全国免费看| 久久精品一二三| 久久精品国产亚洲aⅴ| 色婷婷久久久亚洲一区二区三区 | 久久国产人妖系列| 欧美日本一区二区在线观看| 亚洲欧洲www| 国产盗摄视频一区二区三区| 欧美一区二区三区在| 亚洲高清久久久| 欧美精品久久99久久在免费线| 亚洲欧美韩国综合色| 99精品1区2区| 日韩美女视频一区二区| 不卡电影免费在线播放一区| 日韩欧美电影一二三| 日韩精品乱码免费| 日韩一级完整毛片| 免费成人av在线| 精品国产乱码久久久久久老虎 | 色琪琪一区二区三区亚洲区| 日韩美女视频一区二区 | 91视频免费看| 伊人婷婷欧美激情| 欧美情侣在线播放| 免费看欧美女人艹b| 欧美精品一区二区三区四区| 韩国精品免费视频| 国产精品国产三级国产普通话蜜臀 | 国产日韩av一区二区| 成人av在线电影| 亚洲国产精品久久久男人的天堂| 欧美浪妇xxxx高跟鞋交| 国内外成人在线| 成人免费在线观看入口| 欧美日韩一级视频| 国产精品一区二区视频| 玉米视频成人免费看| 国产欧美精品一区二区色综合朱莉 | 日产精品久久久久久久性色| 久久影院视频免费|