久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
單相逆變串口控制EG8010源碼 顯示屏輸出25V,50hz,頻率可調(diào)
[打印本頁(yè)]
作者:
teleboy
時(shí)間:
2018-7-24 14:06
標(biāo)題:
單相逆變串口控制EG8010源碼 顯示屏輸出25V,50hz,頻率可調(diào)
單相正弦逆變輸出25V 50Hz
單片機(jī)源程序如下:
/**************************************************************/
/*英特靈思科技技術(shù)支持
*/
/****************************************************************/
#include "stm32f10x.h"
#include "pcb_config.h"
#include "jlx.h"
#include "bsp_usart1.h"
/****************************************************************/
static int freq = 0x7f; //頻率初值
int volat = 10; //電壓初值
int num = 0; //鍵值
int volatflag=1,freqflag=1,times=0,flag=0;//標(biāo)志位
int buff[2]; //任意鍵值緩沖
int start=1,close=1; //開(kāi)關(guān)變量
int sum=0; //任意鍵值的和
int n=0,k=0; //任意鍵取值變量
int Press_Second1=0,Press_Second2=0; //13鍵功能復(fù)用標(biāo)志位
int local=0; //輸入數(shù)字位置排布
u8 numstr[3]; //輸入數(shù)字位置排布
int freq1;
/****************************************************************/
int main(void)
{
unsigned char i,j;
unsigned char u[17]={1,5,9,13, 2,6,10,14, 3,7,11,15, 4,8,12,16};
/*********************初始化程序段******************************/
System_Start();
while (1)
{
i=Read_KeyValue();
j = u[i-1];
/************************鍵控程序段*****************************/
switch(j)
{
case 1: //開(kāi)機(jī)按鍵
//SendforGet_Data();
flag=1;num = 1;
/********************測(cè)試顯示程********************************/
if(start==1)
{
clear_screen();
display_GB2312_string(1,0, "電壓");
display_GB2312_string(1,65, "電流");
display_GB2312_string(5,0, "頻率");
display_GB2312_string(5,65, "溫度");
display_GB2312_string(3,0, "25V" ) ;
display_GB2312_string(7,0, "50Hz" );
display_GB2312_string(3,65, "2A");
display_GB2312_string(7,65 ,"27C" );
start=0;
close=1;
local=1;
}
break;
case 2: flag=1;num = 2;break;
case 3: flag=1;num = 3; break;
case 4: flag=1;num = 4; break;
case 5: flag=1;num = 5; break;
case 6: flag=1;num = 6; break;
case 7: flag=1;num = 7; break;
case 8: flag=1;num = 8; break;
case 9: flag=1;num = 9; break;
case 16: flag=1;num=0; break;
case 10: //頻率調(diào)節(jié)功能
freqflag=1-freqflag; //取反標(biāo)志位
/**********************電壓調(diào)節(jié)程序段********************************************/
if(freqflag==0) //調(diào)壓顯示界面
{
clear_screen();
display_GB2312_string(1,30, "調(diào)頻模式");
display_GB2312_string(5,30, "頻率");
sum=0;
}
if(freqflag==1)
{
clear_screen();
display_GB2312_string(1,0, "電壓");
display_GB2312_string(1,65, "電流");
display_GB2312_string(5,0, "頻率");
display_GB2312_string(5,65, "溫度");
display_GB2312_string(3,65, "2A");
display_GB2312_string(7,65, "27C" );
display_GB2312_string(3,0, "25V" ) ;
Press_Second2=1;
}
break;
case 11: //步進(jìn)減頻 不用立即顯示
if(freq<=0x33) freq=0x33;
else if (freq>=0xff) freq==0xff; //freq=sum;
//freq=sum;
freq=freq-0x02;
USART_SendData(USART1,0x84);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET);
USART_SendData(USART1,freq);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET); //發(fā)送完成發(fā)送完成
freq1=freq+0x01;
freq1=freq/2.5;
sprintf(numstr,"%dHz",freq1);
display_GB2312_string(7,0, numstr);
break;
case 12: //步進(jìn)增頻
if(freq<=0x33) freq=0x33;
else if (freq>=0xff) freq=0xff; //freq=sum;
freq=freq+0x02;
USART_SendData(USART1,0x84);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET);
USART_SendData(USART1,freq);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET); //發(fā)送完成發(fā)送完成
freq1=freq-0x01;
freq1=freq/2.5;
sprintf(numstr,"%dHz",freq1);
display_GB2312_string(7,0, numstr);
break;
case 13: //電壓調(diào)節(jié)功能鍵
volatflag=1-volatflag; //取反標(biāo)志位
/**********************電壓調(diào)節(jié)程序段**************************/
if(volatflag==0) //調(diào)壓顯示界面
{
clear_screen();
display_GB2312_string(1,30, "調(diào)壓模式");
display_GB2312_string(5,30, "電壓");
sum=0;
}
if(volatflag==1)
{
clear_screen();
display_GB2312_string(1,0, "電壓");
display_GB2312_string(1,65, "電流");
display_GB2312_string(5,0, "頻率");
display_GB2312_string(5,65, "溫度");
display_GB2312_string(3,65, "2A");
display_GB2312_string(7,65 ,"27C" );
display_GB2312_string(7,0, "50Hz" );
Press_Second1=1;
}
break;
/***************************************************************/
case 14: //步進(jìn)減壓
//volat=sum;
volat=volat+1;
// if(volat==0xff) volat=0x01;
// if(volat==0x00) volat=0xfb;
USART_SendData(USART3,volat);
while(USART_GetFlagStatus(USART3,USART_FLAG_TXE)==Bit_RESET);
// USART_SendData(USART1,volat);
// while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET); //發(fā)送完成
//
sprintf(numstr,"%dV",volat);
display_GB2312_string(3,0, numstr);
// Delay_us(20000);
// SendforGet_Data();
break;
case 15: //步進(jìn)增壓
//volat=sum;
volat=volat-1;
// if(volat==0xff) volat=0x01;
// if(volat==0x00) volat=0xfb;
USART_SendData(USART3,volat);
while(USART_GetFlagStatus(USART3,USART_FLAG_TXE)==Bit_RESET);
// USART_SendData(USART1,0x83);
// while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET);
// USART_SendData(USART1,volat);
// while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET); //發(fā)送完成
sprintf(numstr,"%dV",volat);
display_GB2312_string(3,0, numstr);
// Delay_us(20000);
// SendforGet_Data();
break;
} //switch結(jié)束
/**************************************************************/
if(flag==1)
{
buff[times++]=num;
flag=0;
}
/***************************************************************/
if(volatflag==0&&freqflag==1&&flag==0)
{
for(n=0;n<times;n++)
{
sum=sum*10+buff[n]*pow(10,(times-1-n));
Delay_us(1000);
if(local==1)
{sum=0;local=0;}
sprintf(numstr,"%dV",sum);
display_GB2312_string(5,60, numstr);
}
times =0;
}
/**********************算法有誤*********************************/
if(freqflag==0&&volatflag==1&&flag==0)
{
for(n=0;n<times;n++)
{
sum=sum*10+buff[n]*pow(10,(times-1-n));
Delay_us(1000);
if(local==1)
{sum=0;local=0;}
sprintf(numstr,"%dHz",sum);
display_GB2312_string(5,60, numstr);
}
times=0;
}
/**********************電壓值轉(zhuǎn)換成16進(jìn)制************************/
if(Press_Second1==1) //電壓
{
sum =sum;
volat=sum;
// USART_SendData(USART1,0x83);
//
// while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET);
USART_SendData(USART3,volat);
while(USART_GetFlagStatus(USART3,USART_FLAG_TXE)==Bit_RESET); //發(fā)送完成
Press_Second1=0;
sprintf(numstr,"%dV",volat);
display_GB2312_string(3,0, numstr);
// Delay_us(20000);
// SendforGet_Data();
}
if(Press_Second2==1) //頻率
{
if(sum<20)
{sum=20*2.5;}
else if(sum>100)
{
sum=100*2.5;
}
else
sum =sum*2.5;
freq=sum/2.5;
sum=sum+0x01;
sprintf(numstr,"%dHz",freq);
display_GB2312_string(7,0, numstr);
USART_SendData(USART1,0x84);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET);
USART_SendData(USART1,sum);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET); //發(fā)送完成
freq=sum;
// Delay_us(20000);
// SendforGet_Data();
Press_Second2=0;
}
}
}
/****************************************************************/
復(fù)制代碼
所有資料51hei提供下載:
單相逆變串口控制EG8010+顯示屏輸出25V,50hz,頻率可調(diào).rar
(383.41 KB, 下載次數(shù): 88)
2018-7-24 17:42 上傳
點(diǎn)擊文件名下載附件
單相正弦逆變輸出25V 50Hz
下載積分: 黑幣 -5
作者:
admin
時(shí)間:
2018-7-24 17:42
此貼需要補(bǔ)全原理圖等資料后可獲得大量積分
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产一级电影在线
|
国产最新视频在线
|
日韩欧美在线免费观看
|
欧美一区二区三区在线观看
|
国产在线精品一区二区三区
|
亚洲免费视频一区
|
羞羞视频在线观免费观看
|
成人午夜av
|
欧美一级欧美三级在线观看
|
亚洲品质自拍视频网站
|
91精品国产91
|
欧美一区二区三区在线
|
成人a在线观看
|
欧美在线观看一区
|
中文日韩在线
|
精品综合久久久
|
中文字幕 视频一区
|
中文精品久久
|
综合久久亚洲
|
精品综合
|
国产精品99视频
|
久久免费看
|
成人高潮片免费视频欧美
|
96久久久久久
|
日韩不卡在线
|
男女污污网站
|
亚洲成av片人久久久
|
免费成人高清在线视频
|
精品中文字幕一区二区
|
欧美高清视频在线观看
|
亚洲高清中文字幕
|
成人在线视频观看
|
精品欧美一区二区精品久久
|
大陆一级毛片免费视频观看
|
久久久国产网站
|
日韩精品在线免费观看
|
91久久久久久久久
|
午夜丁香视频在线观看
|
成人午夜精品
|
97av视频在线
|
国产乱码久久久
|