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

📄 there_phase_trigle_new.c

📁 可控硅触发源码。三相两相都可以!三相两相都可以
💻 C
字号:
#include <intrins.h>
//#include <stdio.h>
//#include <AT89X52.h>
#include "./STC_5412.h"

#define B_trigger P2_1
#define A_trigger P2_0
#define C_trigger P2_2
#define Stop P0_1
#define trigle_normal_light P2_6
#define trigle_falue_light P2_7
#define trigle_stop_light P2_5
#define F_sel P0_0

/*********************************************************/
//函数:Delay()
//功能:延时
//输入:延时时间设定值
//输出:?
//描述:
/*********************************************************/
void Delay(unsigned char Times)
{
unsigned char n;
n = 30;
for(;Times>0;Times--)
{
  for(;n>0;n--)
   ;
}
}
/*
void Delay_long(unsigned char ms)
{
unsigned int n;

for(;ms>0;ms--)
{
  n = 235;
  for(;n>0;n--)
   ;
}
}
/*********************************************************/
//函数:pluse()
//功能:触发脉冲产生
/*********************************************************/
void pluse(char NUMB)
{
switch(NUMB)
{
case  0x01:  {
			  A_trigger=0x00;
			  Delay(0x10);
			  A_trigger=0x01;
			  Delay(0x40);
			  A_trigger=0x00;
			  Delay(0x10);
			  A_trigger=0x01;
			  Delay(0x40);
			  A_trigger=0x00;
			  Delay(0x10);
			  A_trigger=0x01;
			  Delay(0x40);
			  A_trigger=0x00;
			  Delay(0x10);
			  A_trigger=0x01;
			  break;
			 } 
case  0x02:  {
			  B_trigger=0x00;
			  Delay(0x10);
			  B_trigger=0x01;
			  Delay(0x40);
			  B_trigger=0x00;
			  Delay(0x10);
			  B_trigger=0x01;
			  Delay(0x40);
			  B_trigger=0x00;
			  Delay(0x10);
			  B_trigger=0x01;
			  Delay(0x40);
			  B_trigger=0x00;
			  Delay(0x10);
			  B_trigger=0x01;
			  break;
			 }
case  0x03:  {
			  C_trigger=0x00;
			  Delay(0x10);
			  C_trigger=0x01;
			  Delay(0x40);
			  C_trigger=0x00;
			  Delay(0x10);
			  C_trigger=0x01;
			  Delay(0x40);
			  C_trigger=0x00;
			  Delay(0x10);
			  C_trigger=0x01;
			  Delay(0x40);
			  C_trigger=0x00;
			  Delay(0x10);
			  C_trigger=0x01;
			  break;
			 }
default:break;
}
}
/*********************************************************/
//函数:timer0()
//功能:定时器0中断
//输入:
//输出:
//描述:
/*********************************************************/
void timer0(void) interrupt 1 using 3
{
TR0=0;
TH0=0xD7; //装入初值,22.1184MHZ 的晶振
TL0=0x1A;
pluse(0x02);
TR1=1;
}
/*********************************************************/
//函数:timer1()
//功能:定时器1中断
//输入:
//输出:
//描述:
/*********************************************************
void timer1(void) interrupt 3// using 1
{
TR1=0;
TH1=0xD7; //装入初值,22.1184MHZ 的晶振
TL1=0x9A;
pluse(0x03);
//TR1=1;
}
/*********************************************************/
//函数:timer2()
//功能:定时器1中断
//输入:
//输出:
//描述:
/*********************************************************
void timer2(void) interrupt 5// using 1
{
TR2=0;
TF2=0;
TH2=0xD7; //装入初值,22.1184MHZ 的晶振
TL2=0x9A;
pluse(0x01);
TR0=1;
}
/*********************************************************/
//函数:ex0()
//功能:外部中断0服务程序
//输入:
//输出:
//描述:
/*********************************************************/
void ex0() interrupt 0 using 2
{
			  //Delay_long(0x30);
			 // pluse(0x01);
			  TR2=1;
}
/*********************************************************/
//函数:main()
//功能:主函数
//输入:
//输出:
//描述:
/*********************************************************/
void main(void)
{
      
int i;
for(i=0;i<1000;i++)            
Delay(10);
//TMOD=0x11; // 定时器1 工作于方式2
//SCON=0x40; // 串口工作于方式1
//TH1=0xD7; //装入初值,22.1184MHZ 的晶振
//TL1=0x1A;
//TL0 = 0xD7;
//TH0 = 0x1A;
//TH2=0xD7; //装入初值,22.1184MHZ 的晶振
//TL2=0x9A;
//PCON=0x00; //波特率无倍增
//TR1=1; //开启定时器1 开始工作
//TR0=1; //开启定时器0 开始工作
//TR2=1; //开启定时器2 开始工作
//ET0=1;//允许定时器0中断
//ET1=1;//
//ET2=1;
//WDT_CONTR = 0x3f;   //开硬件狗
//ES=1;	
//P2M0  = 0x95;

P2M1  = 0x01;
        IT0 = 0;      //低电平引起中断
	//	IT1 = 0;      //低电平引起中断
        EX0 = 1;      //开外部0中断
	//	EX1 = 1;      //开外部1中断
EA=1;
while(1)
{
	;

}
  
}

⌨️ 快捷键说明

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