|
楼主 |
发表于 2010-9-13 17:15:00
|
显示全部楼层
贴上程序,高手指点一下!
#include<reg51.h>
sbit S3=P1^0; //stop
sbit S4=P1^1; //start
sbit S5=P1^2; //reversion
sbit EN=P0^0; //使能控制,
sbit CW=P0^1; //正反转控制
sbit CLK=P2^5; //时钟输出
void InitTimer1(void)
{
TMOD = 0x00;
TH1 = 0x18;
TL1 = 0x0CD;
EA = 1;
ET1 = 1;
TR1 = 1;
}
/**晶振22.1184,定时时间1000us,输出等宽方波脉冲/ */
void main(void)
{
InitTimer1();
while(1)
{
if(S3==0)
{
EN=1;
CW=1;
} ;
if(S4==0)
{
EN=0;
// CW=1;
} ;
if(S5==0)
{
EN=1;
CW=0;
} ;
}
}
void Timer1Interrupt(void) interrupt 3
{
TH1 = 0x18;
TL1 = 0x0CD;
for(; ;)
{
while(!TF1);
TF1=0;
CLK=!CLK;
}} |
|