//晶振为12M,2007/12/24
//此程序在硬件上调试通过
//此程序是应一个网友而写,希望多提宝贵意见
#include
sbit output0=P3^0; //输出方波,频率为1K
sbit output1=P3^1; //输出方波,频率为1K,与 output1相位相反
sbit output3=P3^3;//一直输出高电平
//开关为P3.2这里不列出,全部用P3口,这样确保所用的四个功能脚,
//都在51单片机(40脚)的一侧
void t0int() interrupt 1 //定时器0定时50MS,
{
TR0=0;
TH0=0xfe; //0.5ms定时常数
TL0=0x0c;
TR0=1;
output1=output0;
output0=~output0;
}
void e0int() interrupt 0 //用外部中断0作控制开关
{
TR0=!TR0;//关闭或打开定时器,从而停止输出信号或继续信号
}
void main(void)
{
TMOD="0x01";
EA="1";
EX0=1;
ET0=1;
IT0=1;
output0=1;
output1=!output0;
output3=1;
TH0=0xfe;
TL0=0x0c;
TR0=1;
while(1);
}
用户139060 2008-4-25 11:12