急!51单片机高手指点(内容见补充说明)

来源:百度知道 编辑:UC知道 时间:2024/06/03 02:43:58
#include <AT89X51.H>
unsigned int t02s;
unsigned char t05ms;
bit flag;

void main(void)
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}

void t0(void) interrupt 1 using 0
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
t02s++;
if(t02s==400)
{
t02s=0;
flag=~flag;
}
if(flag==0)
{
P1_0=~P1_0;
}
}
1。请问这个程序中flag能用a或b代替吗?
2。flag和P1.0是输出一个脉冲和一个电压,怎么确定(算)谁是电压谁是脉冲呢?



脉冲信号:瞬间突然变化,作用时间极短的电压或电流称为脉冲信号.
并且这里做为输出的只有P1.0

1.能,他就是一变量
2.看2个的关系仔细推一下if(t02s==400)
{
t02s=0;
flag=~flag;
}
if(flag==0)
{
P1_0=~P1_0;
}
flag是电压
都是脉冲