STM32产生频率可调正弦波、锯齿波、三角波&LCD界面控制(3)

2020-02-22 12:16

}

en_show(sawtooth); } } else { sawtooth_en=0; en_show(sawtooth); }

///////////////////////////////////

else if((tp_dev.x[0]>154)&&(tp_dev.x[0]<201) &&(tp_dev.y[0]>219)&&(tp_dev.y[0]<251)) { if(triangle_flag&&(Mode1||Mode2)) { if(triangle_en) { triangle_en=0; en_show(triangle); } else { triangle_en=1; if(sinewave_en) { sinewave_en=0; en_show(sinewave) ; } if(sawtooth_en) { sawtooth_en=0; en_show(sawtooth) ; } en_show(triangle); } } else { triangle_en=0; en_show(triangle); } } //使能判断

if(triangle_en==0||sawtooth_en==0||sinewave_en==0) { TIM_Cmd(TIM6, DISABLE); TIM_Cmd(TIM2, DISABLE); } }

void judge_fre() {

// 频率检测

if((tp_dev.x[0]-55)*(tp_dev.x[0]-55)+(125-tp_dev.y[0])*(125-tp_dev.y[0])<150) {

if(sinewave_flag) { sinewave_fre+=1; wave_fre(sinewave); } }

else if((tp_dev.x[0]-168)*(tp_dev.x[0]-168)+(125-tp_dev.y[0])*(125-tp_dev.y[0])<150) {

if(sinewave_flag) { sinewave_fre-=1; wave_fre(sinewave); } }

else if((tp_dev.x[0]-55)*(tp_dev.x[0]-55)+(195-tp_dev.y[0])*(195-tp_dev.y[0])<150) {

if(sawtooth_flag) { sawtooth_fre+=1; wave_fre(sawtooth); } }

else if((tp_dev.x[0]-168)*(tp_dev.x[0]-168)+(195-tp_dev.y[0])*(195-tp_dev.y[0])<150) {

if(sawtooth_flag)

}

{ }

sawtooth_fre-=1; wave_fre(sawtooth);

else if((tp_dev.x[0]-55)*(tp_dev.x[0]-55)+(265-tp_dev.y[0])*(265-tp_dev.y[0])<150) {

if(triangle_flag) { triangle_fre+=1; wave_fre(triangle); } }

else if((tp_dev.x[0]-168)*(tp_dev.x[0]-168)+(265-tp_dev.y[0])*(265-tp_dev.y[0])<150) {

if(triangle_flag) { triangle_fre-=1; wave_fre(triangle); }

} //判断频率

}

void Mode_Show(u8 mode) { u16 color; color = POINT_COLOR; if(mode==1) //如果是模式1 就对模式1进行操作 { if(Mode1==1) { //横打印 LCD_Fill(20,20,110,25,BLACK); LCD_Fill(20,60,110,65,BLACK); //竖打印 LCD_Fill(105,20,110,65,BLACK); LCD_Fill(20,20,25,65,BLACK); } else { //横打印 LCD_Fill(20,20,110,25,MAGENTA); LCD_Fill(20,60,110,65,MAGENTA);

//竖打印 LCD_Fill(105,20,110,65,MAGENTA); LCD_Fill(20,20,25,65,MAGENTA); } } else { if(Mode2==1) {

//横打印

LCD_Fill(130,20,220,25,BLACK); LCD_Fill(130,60,220,65,BLACK);

//竖打印 LCD_Fill(215,20,220,65,BLACK); LCD_Fill(130,20,135,65,BLACK); } else {

//横打印

LCD_Fill(130,20,220,25,MAGENTA); LCD_Fill(130,60,220,65,MAGENTA);

//竖打印 LCD_Fill(215,20,220,65,MAGENTA); LCD_Fill(130,20,135,65,MAGENTA); } } POINT_COLOR=color; }

void wave_show(u8 wavemode) { u16 color; color = POINT_COLOR;

if(wavemode==1) //如果是sine 就对模式2进行操作 { if(sinewave_flag==1) { //横打印 LCD_Fill(50,80,145,85,BLACK); LCD_Fill(50,105,145,110,BLACK); //竖打印 LCD_Fill(50,80,55,110,BLACK); LCD_Fill(140,80,145,110,BLACK); } else

}

{ }

//横打印

LCD_Fill(50,80,145,85,LIGHTGREEN); LCD_Fill(50,105,145,110,LIGHTGREEN); //竖打印

LCD_Fill(50,80,55,110,LIGHTGREEN); LCD_Fill(140,80,145,110,LIGHTGREEN);

else if(wavemode==2) { if(sawtooth_flag==1) {

//如果是saw 就对模式2进行操作

//横打印

LCD_Fill(50,150,145,155,BLACK); LCD_Fill(50,175,145,180,BLACK);

//竖打印 LCD_Fill(50,150,55,180,BLACK); LCD_Fill(140,150,145,180,BLACK); } else { LCD_Fill(50,150,145,155,DARKBLUE); LCD_Fill(50,175,145,180,DARKBLUE);

//竖打印 LCD_Fill(50,150,55,180,DARKBLUE); LCD_Fill(140,150,145,180,DARKBLUE); } }

else if(wavemode==3) //如果是tri 就对模式3进行操作 { if(triangle_flag==1) {

//横打印 LCD_Fill(50,220,145,225,BLACK); LCD_Fill(50,245,145,250,BLACK); //竖打印 LCD_Fill(50,220,55,250,BLACK); LCD_Fill(140,220,145,250,BLACK); } else {


STM32产生频率可调正弦波、锯齿波、三角波&LCD界面控制(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:曲折之路

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: