⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档 (3).txt

📁 基于ATmega8单片机的 Micro-PLC电路
💻 TXT
字号:

5.3.3 星三角降压启动程序代码设计
/********************************************************************功能说明:①按下SB1,KMY吸合,延迟0.2s,KM1也吸合,电动机星形启动。5s后启动过程结束,KM1先释放,延迟1s,KMY也释放,电动机惯性运行。KMY释放0.2s后,KM△吸合,再延迟0.2s,KM1吸合,至此,电动机启动完成,进入全压运行阶段。②如果由于某种原因,无法完成星形启动,则系统发出控制信号,一方面关闭OUT1、2、3输出,严禁电动机直接进入三角形全压运行;另一方面,经过50s延迟后,从OUT4输出1Hz报警信号,HL4闪烁报警。③如发生过载、缺相等现象,则关闭OUT1、2、3输出,使电动机停止运行,而且从OUT4输出2.5Hz报警信号,HL4闪烁报警。④按下SB2,电动机停止运行。
********************************************************************/
#include<iom8v.h>
#include<macros.h>
char SB1,SB2,RF,KMY,M0=0,M1=0,M2=0,count=0,count1=0;
void delay(void)
{int i,j;for(i=0;i<200;i++)
for(j=0;j<1000;j++);}
void twinkle(void)
{PORTC=0X08;delay();PORTC=0X00;delay();}
void timer0_init(void)
{TCCR0=0X00;TCNT0=0X3C;TCCR0=0X05;TIMSK=0X01;SEI();}
#pragma interrupt_handler timer0_ovf_isr:10
void timer0_ovf_isr(void)
{if(count1>=20)  PORTC=0X00;
if(count1>=40){PORTC |=0X08;count1=0;}
count1++;TCNT0=0x3C;}
void timer1_init(void)
{TCCR1B=0X00;TCNT1H=0XF9;
TCNT1L=0XE5;TCCR1B=0X05;TIMSK=0X04;SEI();}
#pragma interrupt_handler timer1_ovf_isr:9
void timer1_ovf_isr(void)
{PORTC |=0X02;KMY=(PIND&0X04);
if(!KMY)  M1 |=1; else M1 &=~1;
if(M1)  {if(count>=1)  PORTC |=0X01;
if(count>=26) PORTC &=~0X01;
if(count>=32) {PORTC |=0X04;M2 |=1;}}
else {if((count>=250)&(!M2))                          
{TCCR1B=0X00;count=250;timer0_init();}}
if(count>=31) PORTC &=~0X02;
if(M2&(count>=33)) 
{PORTC |=0X01;TCCR1B=0X00;count=33;}                                              
count++;TCNT1H=0XF9;TCNT1L=0XE5;}
void port_init()
{DDRC=0X0F;PORTC=0X00;DDRD=0X00;PORTD=0X0F;}
void main()
{port_init();delay();PORTC=0X00;
while(1){SB1=!(PIND&0X01);SB2=!(PIND&0X02);
RF=!(PIND&0X08);M0=M0&1;
if(!RF)  {PORTC &=~0X07;count=0,count1=0,M0=0, M1=0,M2=0;
TCCR0=0X00;TCCR1B=0X00;twinkle();}
else {if((SB1|M0)&(!SB2)) M0 |=1;else M0 &=~1;
if(!M0)  timer1_init();}
if(SB2){PORTC &=~0X0F;count=0,count1=0,M0=0, M1=0,M2=0;
TCCR0=0X00;TCCR1B=0X00;}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -