可编程频率及占空比均可调带数码管模块原理图PCB.docx
- 文档编号:2129658
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:25
- 大小:2.24MB
可编程频率及占空比均可调带数码管模块原理图PCB.docx
《可编程频率及占空比均可调带数码管模块原理图PCB.docx》由会员分享,可在线阅读,更多相关《可编程频率及占空比均可调带数码管模块原理图PCB.docx(25页珍藏版)》请在冰点文库上搜索。
可编程频率及占空比均可调带数码管模块原理图PCB
频率及占空比均可调带数码管模块使用手册
【简要说明】
1、 尺寸:
长74mmX宽72mmX高18mm
二、 主要芯片:
单片机,数码管、稳压器
三、 工作电压:
6V至40V,功耗小于1W
四、 特点:
1、具有稳压电路,输入电压广,具有电源指示灯。
2、具有6位数码管显示,前两位显示占空比,后四位显示频率。
3、具有按键调节功能,设置参数带记忆功能。
4、输出占空比:
0~100%可调。
5、输出频率:
小鱼10KHZ可调。
6、输出PWM信号,电压3.3V~30V,电压值有输入VSS电压决定。
输出电流最大1.5A,输出最大信号功率1.5W.
7、单片机编程,客户可以自己更改,提供源代码
8、有无信号输出,具有LED灯指示。
9、端子采用螺旋压接端子
10、工作温度-40度至+70度
11、工作湿度40%~80%RH
12、具有电源防接反保护
13、具有续流保护
14、具有电磁抗干扰能力
15、板子稳定工作可靠
16、板子可安装在DIN导轨上面
使用说明:
【标注说明】
【功能描述】
【原理图】
【PCB图】
【元件清单】
【应用举例】
【应用举例2】
【功能调节设置】
【测试参考程序】
/********************************************************************
汇诚科技
实现功能:
频率及占空比均可调带数码管模块
使用芯片:
STC12C5A60S2
晶振:
11.0592MHZ
编译环境:
Keil
作者:
zhangxinchun
淘宝店:
汇诚科技
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
*********************************************************************/
/*
注意单片机必须是52rc不能用60s2
*/
#include"main.h"
#include"peizhi.h"
#include"smg.h"
unsignedcharHighRH=0;//高电平重载值的高字节
unsignedcharHighRL=0;//高电平重载值的低字节
unsignedcharLowRH=0;//低电平重载值的高字节
unsignedcharLowRL=0;//低电平重载值的低字节
/***********************按键定义**********************************/
bitd1=1;
bitd2=1;
bitd3=1;
uint8ci;
uint8ca=0;
uint8ca1=0;
uint16cb=0;
voidkey();//按键函数声明
voidConfigPWM(unsignedintfr,unsignedchardc);//频率和占空比调节函数
voidmain()
{
bitq1=1;
bitq2=1;
bitq3=1;
EA=1;//开总中断
peizhit1
(1);//配置T0定时2ms
while
(1)
{
ConfigPWM(cb,ca);//频率100Hz,占空比10%
if(d1!
=q1)
{
q1=d1;
if(d1==0)
{
ca1++;
if(ca1>=2)
{
ca1=0;
}
}
}
if(ca1==1)
{
if(d2!
=q2)
{
q2=d2;
if(d2==0)
{
ca++;
if(ca>=99)
{
ca=99;
}
}
}
if(d3!
=q3)
{
q3=d3;
if(d3==0)
{
if(ca>0)
{
ca--;
}
}
}
}
if(ca1==0)
{
if(d2==0)
{
cb++;
if(cb>=9999)
{
cb=9999;
}
}
if(d3==0)
{
if(cb>0)
{
cb--;
}
}
}
xianshi1(cb);
xianshi2(ca);
}
}
voidkey()
{
staticuint8saomiaozhi[]={1,1,1,1};
saomiaozhi[0]=(saomiaozhi[0]<<1)|in1;
saomiaozhi[1]=(saomiaozhi[1]<<1)|in2;
saomiaozhi[2]=(saomiaozhi[2]<<1)|in3;
if(saomiaozhi[0]==0x00)
{
d1=0;
}
if(saomiaozhi[0]==0xff)
{
d1=1;
}
if(saomiaozhi[1]==0x00)
{
d2=0;
}
if(saomiaozhi[1]==0xff)
{
d2=1;
}
if(saomiaozhi[2]==0x00)
{
d3=0;
}
if(saomiaozhi[2]==0xff)
{
d3=1;
}
}
/*配置并启动PWM,fr-频率,dc-占空比*/
voidConfigPWM(unsignedintfr,unsignedchardc)
{
unsignedinthigh,low;
unsignedlongtmp;
tmp=(11059200/12)/fr;//计算一个周期所需的计数值
high=(tmp*dc)/100;//计算高电平所需的计数值
low=tmp-high;//计算低电平所需的计数值
high=65536-high+12;//计算高电平的重载值并补偿中断延时
low=65536-low+12;//计算低电平的重载值并补偿中断延时
HighRH=(unsignedchar)(high>>8);//高电平重载值拆分为高低字节
HighRL=(unsignedchar)high;
LowRH=(unsignedchar)(low>>8);//低电平重载值拆分为高低字节
LowRL=(unsignedchar)low;
TMOD&=0xF0;//清零T0的控制位
TMOD|=0x01;//配置T0为模式1
TH0=HighRH;//加载T0重载值
TL0=HighRL;
ET0=1;//使能T0中断
TR0=1;//启动T0
PWMOUT=1;//输出高电平
}
/*T0中断服务函数,产生PWM输出*/
voidInterruptTimer0()interrupt1
{
if(PWMOUT==1)//当前输出为高电平时,装载低电平值并输出低电平
{
TH0=LowRH;
TL0=LowRL;
PWMOUT=0;
}
else//当前输出为低电平时,装载高电平值并输出高电平
{
TH0=HighRH;
TL0=HighRL;
PWMOUT=1;
}
}
/*T0中断服务函数,完成数码管、按键扫描与秒表计数*/
voidt1()interrupt3
{
TH1=T1RH;//重新加载重载值
TL1=T1RL;
ci++;
ssmg();//数码管扫描
if(ci>=2)
{
ci=0;
key();
}
}
【图片展示】
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 频率 均可 数码管 模块 原理图 PCB