国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
數控電源 STC12單片機+TL494 LED驅動源程序與原理圖PCB文件
[打印本頁]
作者:
coolfire
時間:
2021-4-17 01:42
標題:
數控電源 STC12單片機+TL494 LED驅動源程序與原理圖PCB文件
原理圖和PCB文件:
sch_pcb.zip
(4.02 MB, 售價: 2 E幣)
2021-4-17 01:40 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
C語言代碼:
c代碼.zip
(65.17 KB, 售價: 1 E幣)
2021-4-17 01:41 上傳
點擊文件名下載附件
售價: 1 E幣
[記錄]
[
購買
]
STC12+TL494電路原理圖如下:
223108syxasysyb96uub6w.png
(123.07 KB)
下載附件
2021-4-17 01:41 上傳
Altium Designer畫的原理圖和PCB圖如下:(附件中可下載工程文件)
223108rcdxedhdx3lxq8ls.png
(49.66 KB)
下載附件
2021-4-17 01:41 上傳
單片機數控電源源程序如下:
#include "STC12C5A60S2.h"
#include "lcd.h"
#include "ADC.h"
#include "uart.h"
#include "key.h"
//--定義全局變量--//
unsigned char PuZh[16];
float Vout=0,Iout=0;
/*******************************************************************************
* 函 數 名 : main
* 函數功能 : 主函數
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void main(void)
{
unsigned int temp,i;
//初始化
InitADC();
LcdInit();
PWM_Init();
while(1)
{
Key_Scan();//按鍵掃描
for(temp=0,i=0;i<100;i++)
{
temp+=GetADCResult(0);//測電壓,取十次平均值
}
Vout=temp/1241.38;//計算實際電壓
for(temp=0,i=0;i<100;i++)
{
temp+=GetADCResult(1);//測電流,取十次平均值
}
Iout=temp/597.33;//計算實際電流
sprintf(PuZh,"S:V:%.1f",(float)VSet/10);//顯示電壓設定值
LcdShowStr(0,0,PuZh);
sprintf(PuZh,"M:V:%.1f I:%.1f",Vout,Iout);//顯示測量電壓電流
LcdShowStr(0,1,PuZh);
}
}
復制代碼
#include "key.h"
#include "delay.h"
unsigned char VSet=120;
void Key_Scan(void)
{
static unsigned char KEY_Flag=0;
if(LEFT==0)//左鍵
{
if((KEY_Flag&LEFT_Flag)==0)
{
delay_ms(5);
if(LEFT==0)
{
KEY_Flag|=LEFT_Flag;
if(VSet>90)VSet--;
Set_PWM1((unsigned char)VSet*1.24138);
}
}
}
else
{
KEY_Flag&=(~LEFT_Flag);
}
if(RIGHT==0)//右鍵
{
if((KEY_Flag&RIGHT_Flag)==0)
{
KEY_Flag|=RIGHT_Flag;
delay_ms(5);
if(RIGHT==0)
{
if(VSet<120)VSet++;
Set_PWM1((unsigned char)VSet*1.24138);
}
}
}
else
{
KEY_Flag&=(~RIGHT_Flag);
}
}
void PWM_Init(void)
{
CCON|=0;
CL=0;
CH=0;
CMOD|=0x02;
CCAP1H=0x80;
CCAP1L=0x80;
PCA_PWM1=0x00;
CCAPM1=0x42;
CR=1;
Set_PWM1((unsigned char)VSet*1.24138);
}
void Set_PWM1(unsigned char duty)
{
unsigned char temp;
if (duty == 0) //PWM固定輸出低
{
//- - - - - - EPCnH EPCnL
PCA_PWM1 = 0x03; //PWM模式下,CCAPnL,CCAPnH第九位
temp = 0xFF;
}
else if (duty == 100) //PWM固定輸出高
{
//- - - - - - EPCnH EPCnL
PCA_PWM1 = 0x00; //PWM模式下,CCAPnL,CCAPnH第九位
temp = 0;
}
else
{
PCA_PWM1 = 0x00;
temp = 256 -duty;
}
CCAP1L = temp;
CCAP1H = temp;
}
復制代碼
作者:
byla2215975
時間:
2022-5-5 20:31
STC12單片機+TL494 LED驅動源程序與原理圖學習學習
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0