找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3548|回复: 5
收起左侧

频率及占空比均可调带数码管模块电路图PCB图与单片机源程序等资料

[复制链接]
ID:280979 发表于 2018-2-1 12:10 | 显示全部楼层 |阅读模式
【简要说明】
一、 尺寸:长74mmX宽72mmX高18mm
二、 主要芯片:单片机,数码管、稳压器
三、 工作电压:6V40V,功耗小于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导轨上面

频率及占空比均可调带数码管模块的电路原理图如下:
0.png 0.png

pcb图:
0.png

元件清单:
0.png 0.png

实物图与接线图等资料:
应用举例.JPG 接线说明.JPG 操作说明.JPG 标示图.JPG 应用举例2.JPG

GYJ-0024_频率及占空比均可调带数码管模块测试程序带掉电记忆单片机源程序如下:
  1. /********************************************************************
  2.                             汇诚科技
  3. 实现功能:PWM输出控制程序
  4. 使用芯片:STC89C52RC
  5. 晶振:11.0592MHZ
  6. 波特率:9600
  7. 编译环境:Keil 4.0
  8. 作者:张新春
  9. 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!  
  10. *********************************************************************/
  11. /********************************************************************/

  12. #include<reg52.h>                 //库文件
  13. #include <intrins.H>
  14. #include<EEPROM.h>
  15. #define uchar unsigned char //宏定义字符型变量
  16. #define uint  unsigned int        //宏定义整型变量
  17. code uchar dong[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟
  18. uchar w1,w2,w3,w4,w5,w6;
  19. /********************************************************************
  20.                             初始定义
  21. *********************************************************************/
  22. uint sec; //定义计数值,每过1/10 秒,sec 加一
  23. uchar keycnt=0;//按下次数值
  24. uint tcnt; //键值判断
  25. uchar PWM=0;
  26. bit  write=0;
  27. /********************************************************************
  28.                             I/O定义
  29. *********************************************************************/
  30. sbit OUT1=P3^7;         //定义单片机P3口的第3位 (即P3.3)
  31. sbit IN1=P1^0;
  32. sbit IN2=P1^1;
  33. sbit IN3=P1^2;

  34. /********************************************************************
  35.                             延时函数
  36. *********************************************************************/
  37. void delay(uchar t)
  38. {
  39.   uchar i,j;
  40.    for(i=0;i<t;i++)
  41.    {
  42.             for(j=13;j>0;j--);
  43.          { ;
  44.          }
  45.    }
  46. }
  47. void  ssmg()
  48. {
  49.    uchar i;
  50.    P0 = 0xff;
  51.    switch (i)
  52.    {
  53.              case 0: P2 = 0x7F; i++;  P0 = dong[PWM/100];     break;
  54.           case 1: P2 = 0xDF; i++;  P0 = 0x7f;        break;
  55.           case 2: P2 = 0xBF; i++;  P0 = dong[PWM/10];     break;
  56.           case 3: P2 = 0xDF; i++;  P0 = dong[PWM%10];     break;
  57.           case 4: P2 = 0xEF; i++;  P0 = dong[1];     break;
  58.           case 5: P2 = 0xF7; i++;  P0 = dong[7];     break;
  59.           case 6: P2 = 0xFB; i = 0;P0 = dong[7];     break;

  60.           default: break;
  61.    
  62.    }}
  63. /********************************************************************
  64.                             按键扫描函数
  65. *********************************************************************/
  66. void KEY() //按键扫描程序
  67. {
  68. if(IN1==0){delay(10);if(IN1==0){delay(10);write=1;TR0=1;tcnt=0;while(!IN1);if(PWM!=100){PWM++;}}}
  69. if(IN2==0){delay(10);if(IN2==0){delay(10);write=1;TR0=1;tcnt=0;while(!IN2);if(PWM!=0){PWM--;}}}            
  70. }
  71. /********************************************************************
  72.                             定时中断服务函数
  73. *********************************************************************/
  74. void t0(void) interrupt 1 using 0 //定时中断服务函数
  75. {
  76.         tcnt++; //每过200ust tcnt 加一
  77.         if(tcnt==PWM){ OUT1=1;}
  78.         if(tcnt==100){tcnt=0;OUT1=0;}

  79. }

  80. /********************************************************************
  81.                             主函数
  82. *********************************************************************/
  83. void main()
  84. {
  85. PWM = EEPROMReadByte(0);
  86. //KK2 = EEPROMReadByte(1);
  87. //KK3 = EEPROMReadByte(2);

  88.         TMOD=0x02; //定时器工作在方式2
  89.         TH0=0xcc; //对TH0 TL0 赋值
  90.         TL0=0xFE;
  91.         ET0=1;
  92.         EA=1;
  93.           sec=0;
  94.         TR0=1;
  95.         OUT1=0;
  96.         while(1)
  97.         {
  98.          KEY();
  99.          ssmg();
  100. if(write==1)
  101.   {
  102.    write=0;
  103. //                           KK1 = P0;
  104.                 //        KK2 = P1;
  105. ……………………

  106. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
0.png 0.png

所有资料51hei提供下载:
GYJ-0024_频率及占空比均可调带数码管模块发货资料.rar (11.14 MB, 下载次数: 66)



回复

使用道具 举报

ID:272625 发表于 2018-2-2 02:47 来自手机 | 显示全部楼层
频率能达到100khz就有实用价值了!
回复

使用道具 举报

ID:12238 发表于 2018-2-2 15:02 | 显示全部楼层
这个是好东东,收藏了。多谢。
回复

使用道具 举报

ID:405939 发表于 2018-11-3 11:40 | 显示全部楼层
有完整的仿真图吗
回复

使用道具 举报

ID:497323 发表于 2020-3-14 12:04 | 显示全部楼层
不太懂,想问一下如果频率为1时,定时器装载数应该装不下呀,能调到1HZ吗
回复

使用道具 举报

ID:497323 发表于 2020-3-28 12:54 | 显示全部楼层
有关于占空比的个问题:这个在1KHz时占空比可以调成1%吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表