单片机为普中科技51,单核A4(8051都一样用)
为了便于查看,把P1.1口换成了LEDP2口:
晶振为11.05926MHZ的8051单片机中由T0方式一的计算方法可得(65536-46083)约为50ms;
时间不够用,所有我们添加一个counter作为标志位——累计20次便是1s。
1s取反一次,一正一反就是一个2s的周期。
具体程序如下:
#include <reg51.h>
//sbit P1_1=P1^1;
void main()
{
unsigned char counter;
counter=0;
TMOD=0x01;
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
TR0=1;
TF0=0;
while(1)
{
while(TF0==1)
{
counter++;
if(counter==20)
{
//P1_1=~P1_1;
P2=~P2;
counter=0;
}
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
TF0=0;
}
}
}