【简要说明】
一、 尺寸:长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图:
元件清单:
实物图与接线图等资料:
GYJ-0024_频率及占空比均可调带数码管模块测试程序带掉电记忆单片机源程序如下:
代码:
- /********************************************************************
- 汇诚科技
- 实现功能:PWM输出控制程序
- 使用芯片:STC89C52RC
- 晶振:11.0592MHZ
- 波特率:9600
- 编译环境:Keil 4.0
- 作者:张新春
- 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
- *********************************************************************/
- /********************************************************************/
- #include<reg52.h> //库文件
- #include <intrins.H>
- #include<EEPROM.h>
- #define uchar unsigned char //宏定义字符型变量
- #define uint unsigned int //宏定义整型变量
- code uchar dong[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟
- uchar w1,w2,w3,w4,w5,w6;
- /********************************************************************
- 初始定义
- *********************************************************************/
- uint sec; //定义计数值,每过1/10 秒,sec 加一
- uchar keycnt=0;//按下次数值
- uint tcnt; //键值判断
- uchar PWM=0;
- bit write=0;
- /********************************************************************
- I/O定义
- *********************************************************************/
- sbit OUT1=P3^7; //定义单片机P3口的第3位 (即P3.3)
- sbit IN1=P1^0;
- sbit IN2=P1^1;
- sbit IN3=P1^2;
- /********************************************************************
- 延时函数
- *********************************************************************/
- void delay(uchar t)
- {
- uchar i,j;
- for(i=0;i<t;i++)
- {
- for(j=13;j>0;j--);
- { ;
- }
- }
- }
- void ssmg()
- {
- uchar i;
- P0 = 0xff;
- switch (i)
- {
- case 0: P2 = 0x7F; i++; P0 = dong[PWM/100]; break;
- case 1: P2 = 0xDF; i++; P0 = 0x7f; break;
- case 2: P2 = 0xBF; i++; P0 = dong[PWM/10]; break;
- case 3: P2 = 0xDF; i++; P0 = dong[PWM%10]; break;
- case 4: P2 = 0xEF; i++; P0 = dong[1]; break;
- case 5: P2 = 0xF7; i++; P0 = dong[7]; break;
- case 6: P2 = 0xFB; i = 0;P0 = dong[7]; break;
- default: break;
-
- }}
- /********************************************************************
- 按键扫描函数
- *********************************************************************/
- void KEY() //按键扫描程序
- {
- if(IN1==0){delay(10);if(IN1==0){delay(10);write=1;TR0=1;tcnt=0;while(!IN1);if(PWM!=100){PWM++;}}}
- if(IN2==0){delay(10);if(IN2==0){delay(10);write=1;TR0=1;tcnt=0;while(!IN2);if(PWM!=0){PWM--;}}}
- }
- /********************************************************************
- 定时中断服务函数
- *********************************************************************/
- void t0(void) interrupt 1 using 0 //定时中断服务函数
- {
- tcnt++; //每过200ust tcnt 加一
- if(tcnt==PWM){ OUT1=1;}
- if(tcnt==100){tcnt=0;OUT1=0;}
- }
- /********************************************************************
- 主函数
- *********************************************************************/
- void main()
- {
- PWM = EEPROMReadByte(0);
- //KK2 = EEPROMReadByte(1);
- //KK3 = EEPROMReadByte(2);
- TMOD=0x02; //定时器工作在方式2
- TH0=0xcc; //对TH0 TL0 赋值
- TL0=0xFE;
- ET0=1;
- EA=1;
- sec=0;
- TR0=1;
- OUT1=0;
- while(1)
- {
- KEY();
- ssmg();
- if(write==1)
- {
- write=0;
- // KK1 = P0;
- // KK2 = P1;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
所有资料51hei提供下载: