?? there_phase_trigle.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
bit flag=0x00;
/*********************************************************/
//函數: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=0xcd; //裝入初值,22.1184MHZ 的晶振//7ms
TL0=0x99;
pluse(0x01);
TR1=1;
}
/*********************************************************/
//函數:timer1()
//功能:定時器1中斷
//輸入:
//輸出:
//描述:
/*********************************************************/
void timer1(void) interrupt 3// using 1
{
TR1=0;
TH1=0xD3; //裝入初值,22.1184MHZ 的晶振
TL1=0x93;
if(flag)
{
flag=0;
pluse(0x03);
TR1=0;
}
else
{
flag=1;
pluse(0x02);
TR1=1;
}
//TR1=1;
}
/*********************************************************/
//函數:ex0()
//功能:外部中斷0服務程序
//輸入:
//輸出:
//描述:
/*********************************************************/
void ex0() interrupt 0 using 2
{
// Delay_long(0x30);
trigle_stop_light=!trigle_stop_light;
TR0=1;
}
/*********************************************************/
//函數:main()
//功能:主函數
//輸入:
//輸出:
//描述:
/*********************************************************/
void main(void)
{
int i;
for(i=0;i<1000;i++)
Delay(10);
TMOD=0x11; // 定時器1 工作于方式2
//SCON=0x40; // 串口工作于方式1
TH1=0xD3; //裝入初值,22.1184MHZ 的晶振//6.17ms
TL1=0x93;
TL0 = 0xcd;
TH0 = 0x99;//7ms
//PCON=0x00; //波特率無倍增
//TR1=1; //開啟定時器1 開始工作
//TR0=1; //開啟定時器0 開始工作
ET0=1;//允許定時器0中斷
ET1=1;//
//WDT_CONTR = 0x3f; //開硬件狗
//ES=1;
//P2M0 = 0x95;
P2M1 = 0x01;
IT0 = 0; //低電平引起中斷
// IT1 = 0; //低電平引起中斷
EX0 = 1; //開外部0中斷
// EX1 = 1; //開外部1中斷
trigle_normal_light=0x00;
EA=1;
while(1)
{
;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -