Exemple #1
0
//显示曲目索引
//index:当前索引
//total:总文件数
void audio_index_show(u16 index,u16 total)
{
	//显示当前曲目的索引,及总曲目数
	LCD_ShowxNum(60+0,230,index,3,16,0X80);		//索引
	LCD_ShowChar(60+24,230,'/',16,0);
	LCD_ShowxNum(60+32,230,total,3,16,0X80); 	//总曲目				  	  
}
 int main(void)
 { 
	u16 adcx;
	float temp;
	delay_init();	    	 //延时函数初始化	  
	uart_init(9600);	 	//串口初始化为9600
	LED_Init();		  		//初始化与LED连接的硬件接口
 	LCD_Init();
 	Adc_Init();		  		//ADC初始化	    
	POINT_COLOR=RED;//设置字体为红色 
	LCD_ShowString(60,50,200,16,16,"Mini STM32");	
	LCD_ShowString(60,70,200,16,16,"ADC TEST");	
	LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
	LCD_ShowString(60,110,200,16,16,"2014/3/9");	
	//显示提示信息
	POINT_COLOR=BLUE;//设置字体为蓝色
	LCD_ShowString(60,130,200,16,16,"ADC_CH1_VAL:");	      
	LCD_ShowString(60,150,200,16,16,"ADC_CH1_VOL:0.000V");	    
	while(1)
	{
		adcx=Get_Adc_Average(ADC_Channel_1,10);
		LCD_ShowxNum(156,130,adcx,4,16,0);//显示ADC的值
		temp=(float)adcx*(3.3/4096);
		adcx=temp;
		LCD_ShowxNum(156,150,adcx,1,16,0);//显示电压值
		temp-=adcx;
		temp*=1000;
		LCD_ShowxNum(172,150,temp,3,16,0X80);
		LED0=!LED0;
		delay_ms(250);	
	}											    
}	
void key_diy(void)
{
	
			key=KEY_Scan(0);
			switch(key)
			{
				case KEY0_PRES:							//基础分控制按键
					if(key_status==0)
						key_status=1;           //摆脚自然下垂,尽快使之摆脚大于±60°
					else if(key_status==1)
						key_status=2;           //摆脚自然下垂,尽快使之做圆周运动
					else if(key_status==2)
						key_status=3;           //摆脚外力拉起到165°左右,使之倒立不少于5s,横杆转动不大于90°
					else	key_status=0;
					//显示按键状态
					LCD_ShowxNum(150,150,key_status,2,16,0);
					break;
				case KEY1_PRES:							//发挥部分控制按键
					if(key_status==0)
						key_status=4;           //摆脚自然下垂状态下使之尽快摆起倒立,持续10s以上
					else if(key_status==4)
						key_status=5;           //摆脚倒立状态下,施加干扰使之能继续保持倒立
					else if(key_status==5)
						key_status=6;           //摆脚倒立状态下,使之做圆周转动,尽快转动超过360°(单方向)
					else if(key_status==6)
						key_status=7;           //其他:加上位置闭环,使摆脚保持在某一位置实现倒立
					else key_status=0;
					//显示按键状态
					LCD_ShowxNum(150,150,key_status,2,16,0);
					break;
				case KEY2_PRES:
					flag=1;
					LCD_ShowString(250,150,50,20,16,(u8 *)"run..");
					break;
				case WKUP_PRES:
					key_status=0;
					flag=!flag;
					//显示按键状态
					LCD_ShowxNum(150,150,key_status,2,16,0);
					LCD_ShowxNum(260,200,flag,2,16,0);
					break;
				default:
					break;
			}
	
}
//根据当前的日期,更新日历表.
void calendar_date_refresh(void) 
{
 	u8 weekn;   //周寄存
	u16 offx=(lcddev.width-240)/2;
 	//显示阳历年月日
	POINT_COLOR=BRED; 
	BACK_COLOR=BLACK; 
	LCD_ShowxNum(offx+5,OTHER_TOPY+9,(calendar.w_year/100)%100,2,16,0);//显示年  20/19  
	LCD_ShowxNum(offx+21,OTHER_TOPY+9,calendar.w_year%100,2,16,0);     //显示年  
	LCD_ShowString(offx+37,OTHER_TOPY+9,lcddev.width,lcddev.height,16,"-"); //"-"
	LCD_ShowxNum(offx+45,OTHER_TOPY+9,calendar.w_month,2,16,0X80);     //显示月
	LCD_ShowString(offx+61,OTHER_TOPY+9,lcddev.width,lcddev.height,16,"-"); //"-"
	LCD_ShowxNum(offx+69,OTHER_TOPY+9,calendar.w_date,2,16,0X80);      //显示日	  
	//显示周几?
	POINT_COLOR=RED;
    weekn=calendar.week;
	Show_Str(5+offx,OTHER_TOPY+35,lcddev.width,lcddev.height,(u8 *)calendar_week_table[gui_phy.language][weekn],16,0); //显示周几?	
													 
}
Exemple #5
0
//显示播放时间,比特率 信息  
//totsec;音频文件总时间长度
//cursec:当前播放时间
//bitrate:比特率(位速)
void audio_msg_show(u32 totsec,u32 cursec,u32 bitrate)
{	
	static u16 playtime=0XFFFF;//播放时间标记	      
	if(playtime!=cursec)					//需要更新显示时间
	{
		playtime=cursec;
		//显示播放时间			 
		LCD_ShowxNum(60,210,playtime/60,2,16,0X80);		//分钟
		LCD_ShowChar(60+16,210,':',16,0);
		LCD_ShowxNum(60+24,210,playtime%60,2,16,0X80);	//秒钟		
 		LCD_ShowChar(60+40,210,'/',16,0); 	    	 
		//显示总时间    	   
 		LCD_ShowxNum(60+48,210,totsec/60,2,16,0X80);	//分钟
		LCD_ShowChar(60+64,210,':',16,0);
		LCD_ShowxNum(60+72,210,totsec%60,2,16,0X80);	//秒钟	  		    
		//显示位率			   
   		LCD_ShowxNum(60+110,210,bitrate/1000,4,16,0X80);//显示位率	 
		LCD_ShowString(60+110+32,210,200,16,16,"Kbps");	 
	} 		 
}
//ALIENTEK Mini STM32开发板范例代码16
//内部温度传感器实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司
 int main(void)
 { 
	u16 adcx;
	float temp;
	float temperate;	 
	delay_init();	    	 //延时函数初始化	  
	uart_init(9600);	 	//串口初始化为9600
	LED_Init();		  		//初始化与LED连接的硬件接口
 	LCD_Init();
 	T_Adc_Init();		  		//ADC初始化	    
	POINT_COLOR=RED;//设置字体为红色 
	LCD_ShowString(60,50,200,16,16,"Mini STM32");	
	LCD_ShowString(60,70,200,16,16,"Temperature TEST");	
	LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
	LCD_ShowString(60,110,200,16,16,"2014/3/9");	
	//显示提示信息											      
	POINT_COLOR=BLUE;//设置字体为蓝色
	LCD_ShowString(60,130,200,16,16,"TEMP_VAL:");	      
	LCD_ShowString(60,150,200,16,16,"TEMP_VOL:0.000V");	      
	LCD_ShowString(60,170,200,16,16,"TEMPERATE:00.00C");	  
	while(1)
	{
		adcx=T_Get_Adc_Average(ADC_CH_TEMP,10);
		LCD_ShowxNum(132,130,adcx,4,16,0);//显示ADC的值
		temp=(float)adcx*(3.3/4096);
		temperate=temp;//保存温度传感器的电压值
		adcx=temp;
		LCD_ShowxNum(132,150,adcx,1,16,0);     		//显示电压值整数部分
		temp-=(u8)temp;				    			//减掉整数部分		  
		LCD_ShowxNum(148,150,temp*1000,3,16,0X80);	//显示电压小数部分
 		temperate=(1.43-temperate)/0.0043+25;		//计算出当前温度值	 
		LCD_ShowxNum(140,170,(u8)temperate,2,16,0); //显示温度整数部分
		temperate-=(u8)temperate;	  
		LCD_ShowxNum(164,170,temperate*100,2,16,0X80);//显示温度小数部分
		LED0=!LED0;
		delay_ms(250);
	}										    
}	
Exemple #7
0
void OSC_Gui(u8 xdata,u8 ydata)
	{
	
	LCD_Clear(WHITE);
	delay_ms(1);	
	//这里需要修改
	LCD_ShowString(50,10,300,16,16,"X :   us/DIV Y :  V/DIV");
	switch(xdata)
		{
		 	case 0:
				LCD_ShowString(74,10,32,16,16,"2");
				xbujin=10;
				break;
			case 1:
				LCD_ShowString(74,10,32,16,16,"200");
				xbujin=0.1;
				break;
			default:
				LCD_ShowString(74,10,80,16,16,"20m ");
				xbujin=0.001;
				break;	
		}
		switch(ydata)
		{
		 	case 0:
				LCD_ShowString(170,10,32,16,16,"1");
				ybujin=10;
				break;
			case 1:
				LCD_ShowString(170,10,32,16,16,"0.1");
				ybujin=100;
				break;	
		}
	 //截止区
	 LCD_ShowString(50,220,100,16,16,"T:        ms");
	LCD_ShowxNum(68,220,TIM5CH1_CAPTURE_VAL,6,16,0);
	LCD_DrawVitalLine(20,30,20,210);	
	LCD_DrawVitalLine(40,30,40,210);
	LCD_DrawVitalLine(60,30,60,210);
	LCD_DrawVitalLine(80,30,80,210);
	LCD_DrawVitalLine(100,30,100,210);
	LCD_DrawVitalLine(120,30,120,210);
	LCD_DrawVitalLine(140,30,140,210);
	LCD_DrawLine(160,30,160,210);
	LCD_DrawVitalLine(180,30,180,210);
	LCD_DrawVitalLine(200,30,200,210);
	LCD_DrawVitalLine(220,30,220,210);
	LCD_DrawVitalLine(240,30,240,210);
	LCD_DrawVitalLine(260,30,260,210);
	LCD_DrawVitalLine(280,30,280,210);
	LCD_DrawVitalLine(300,30,300,210);
	LCD_DrawVitalLine(0,30,319,30);
	LCD_DrawVitalLine(0,50,319,50);
	LCD_DrawVitalLine(0,70,319,70);
	LCD_DrawVitalLine(0,90,319,90);
	LCD_DrawVitalLine(0,110,319,110);
	LCD_DrawLine(0,130,319,130);
	LCD_DrawVitalLine(0,150,319,150);
	LCD_DrawVitalLine(0,170,319,170);
	LCD_DrawVitalLine(0,190,319,190);
	LCD_DrawVitalLine(0,210,319,210); 

	}