首页 过零检测电路

过零检测电路

举报
开通vip

过零检测电路过零检测电路 过零检测电路如下,光耦我用的pc817 检测过零点,然后输入单片机INT0 ,过零后单片机中断延时,来控制可控硅光耦MOC3061导通时间,隔离后控制双向可控硅,负载用的是交流单相电机。但是调节到一定速度(低速时)电机会出现抖动,这是 什么原因, 电路与下图相似 单片机程序如下: #include unsigned char time; sbit bb1=P2^0; sbit key1 = P2^4; sbit key2 = P2^5; sbit key3 = P2^6; sbi...

过零检测电路
过零检测电路 过零检测电路如下,光耦我用的pc817 检测过零点,然后输入单片机INT0 ,过零后单片机中断延时,来控制可控硅光耦MOC3061导通时间,隔离后控制双向可控硅,负载用的是交流单相电机。但是调节到一定速度(低速时)电机会出现抖动,这是 什么原因, 电路与下图相似 单片机程序如下: #include unsigned char time; sbit bb1=P2^0; sbit key1 = P2^4; sbit key2 = P2^5; sbit key3 = P2^6; sbit key4 = P2^7; unsigned char k; int t) // 延时子程序,入口参数ms,延迟时间=t*1ms,t=0~65535 void delay(unsigned { unsigned char j; //j=0~255 while(t--) //t的值等于while()下面{}的语句执行的次数 { for(j = 0; j < 30; j++);//j进行的内部循环,j=j+1,每执行一次加1,大约消耗单片机处理时间 //8us,那么执行一次for(),注意for()后面加了分号。大约消耗CPU 8us*125=1000us=1ms } } void int0() interrupt 0 { TR0=1; } void PWM (void) { if(key1==0) //按下相应的按键 { k=0; } else if (key2==0) //按下相应的按键 { k=10; } else if (key3==0) //按下相应的按键 { k=15; } else if (key4 ==0) //按下相应的按键 { k=30; } } void timer0() interrupt 1 { TH0=(65536-3000)/256; TL0=(65536-3000)%256; time=0; } void main() { bb1=1; time=1; TMOD=0x01; TH0=(65536-3000)/256; TL0=(65536-3000)%256; EA=1; PT0=1; EX0=1; IT0=1; ET0=1; k=0; while(1) { if(time==0) { time=1; PWM(); bb1=0; delay(k); bb1=1; TR0=0; } } }
本文档为【过零检测电路】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:58KB
软件:Word
页数:5
分类:
上传时间:2017-09-18
浏览量:37