标题: 单片机+可控硅过零检测源程序及proteus仿真 [打印本页]

作者: 51黑ff    时间: 2016-9-9 20:35
标题: 单片机+可控硅过零检测源程序及proteus仿真
一个51单片机做的带过零检测的可控硅驱动,下面是仿真原理图:



利用单片机中断实现可控硅的过零检测,下面是源代码:
  1. #include <reg51.h>
  2. #include"intrins.h"
  3. sbit fan=P3^7;
  4. sbit pressed=P3^5;

  5. unsigned char fan_open=0;
  6. unsigned char int_time=0;
  7. unsigned char table[9]={20,30,40,50,60,70,80,90,100};
  8. unsigned char p=0;

  9. //中断子程序
  10. void ext0(void) interrupt 0
  11. {
  12. int_time++;
  13. fan_open--;
  14. if(fan_open==0)          {fan_open=table[p];fan=0;}
  15. if(int_time>=100)  {fan_open=table[p];int_time=0;fan=1;}
  16. }

  17. //延时子程序
  18. void delay(void)
  19. {
  20. unsigned int i,j;
  21. for(i=0;i<10000;i++)
  22.         for(j=0;j<4;j++)
  23.                 _nop_();
  24. }

  25. /************主  程序*************/
  26. void main(void)
  27. {
  28. fan_open=table[p];
  29. IT0=1;
  30. EA=1;
  31. EX0=1;
  32. fan=1;
  33. while(1)
  34. {
  35. if(pressed==0)        {if(p>=9) p=0;p++;}       
  36. delay();         
  37. }
  38. }
复制代码



可控硅过零检测.rar

67.49 KB, 下载次数: 577, 下载积分: 黑币 -5


作者: xlx175    时间: 2017-2-21 17:04
谢谢分享!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: sunnydevil    时间: 2017-4-7 16:07
谢谢分享
作者: ai190722879    时间: 2017-4-19 12:47
沙发!!!!
作者: pcsjh    时间: 2017-5-1 15:58
谢谢分享
作者: lyf898    时间: 2017-5-1 21:36
本帖最后由 lyf898 于 2017-5-1 22:14 编辑

..............
作者: 鄙人大盗    时间: 2017-5-6 20:31
谢谢分享
作者: HEIZI555    时间: 2017-6-21 11:47
谢谢分享
作者: yahan    时间: 2017-9-14 13:51
感谢分享,下来学习一下

作者: a1234ssssss    时间: 2017-10-4 22:55
本帖最后由 a1234ssssss 于 2017-10-6 20:36 编辑

交流100个脉冲之中,在最低转速时,导通20个脉冲,截止80个,这样电机会有类似频闪的现象吗?
作者: Winslow_Wang    时间: 2017-12-4 13:56
很好的例程
作者: 3423476782    时间: 2017-12-4 14:26
感谢分享,非常给力
作者: 471901064@qq.co    时间: 2018-2-28 09:54
你这个有问题,调速,对于可控硅来说都是在单个周期内实现导通和关断,获得不同有效值,

作者: 372438dfs    时间: 2018-2-28 20:23
很想学习。
作者: 1054699513    时间: 2018-5-7 18:04
希望对自己有用,好好学习
作者: 小小吴    时间: 2018-5-12 21:34
谢谢分享
作者: 呆萌的呆小鱼    时间: 2018-7-6 09:11
学习学习
作者: 秀太    时间: 2018-8-23 09:53
能解释下 int_time++;fan_open--;  是什么意思吗
作者: 秀太    时间: 2018-8-23 09:59
能帮忙解释下 int_time++; fan_open--; 什么意思吗?没有理解,提前感谢
作者: 秀太    时间: 2018-8-23 11:12
471901064@qq.co 发表于 2018-2-28 09:54
你这个有问题,调速,对于可控硅来说都是在单个周期内实现导通和关断,获得不同有效值,

那这个程序能成功吗?我也同意单个周期控制导通关断,能仔细说说该怎么改这个程序吗?
作者: 好好学习真好    时间: 2019-5-1 19:46
感谢分享!!找了好久 终于找到了
作者: Valkyrie    时间: 2019-7-16 17:36
能帮我解释一下他这个程序主要做的是什么吗?
最近在学习过零检测的东西。

给我解释一下吗
作者: ttyyuu    时间: 2019-10-30 22:31
你控制可控硅的电路对吗?
作者: h20199774    时间: 2019-12-23 10:09
下载下来学习学习
作者: x90639    时间: 2020-1-15 15:46
找這個好久了,來試試能不能用、
作者: zcw123456    时间: 2021-10-8 15:53
用的是51单片机编的,有点不明白
作者: stone2018    时间: 2022-7-30 16:15
这个是丢波,单个周期调属于斩波




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1