//整个控制过程为先键入所要的控制角,控制角被计算成相应的触发延时时间,
//并等待当单片机检测到外部中断信号。当检测到外部中断信号后启动定时器 1 延时相应
的时间,
//之后接着启动定时器 0 并产生发出六脉冲信号经过变换放大触发相应的晶闸管导通,以
获得相应的电压
#include<AT89X52.h>
//#include<reg52.h>
#include<math.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};
uchar temp;
uchar num; //键盘返回值
uchar jishu;
uchar ge;
uchar shi;
uchar shijian;
float dingshi;
uint dingshi_1;
sbit dula=P2^6;
sbit wela=P2^7;
//sbit A_1=P2^6;
//sbit B_1=P2^7;
sbit ug_1=P1^2; //脉冲输出引脚定义 1.2-7
sbit ug_2=P1^3;
sbit ug_3=P1^4;
sbit ug_4=P1^5;
sbit ug_5=P1^6;
sbit ug_6=P1^7;
uchar js=0; //六脉冲计数器
void init()//定时器、中断初始化函数
{ TMOD=0x11;
EA=1;
ET0=1;
ET1=1;
TR1=0;
TR0=0;
IP=0x08; //T1wei gao you xian ji IP=0x09 ?
//IPH=0x01;
IT0=1; //外中断 0 为下降沿触发 TCON 中设置
评论0
最新资源