我使用定时器从P1.0口输出周期为1秒的方波,仿真结果如图。并不是“方”的。请教这个是什么原因造成的。
如果是真实电路也同样会出现这样的情况么?
(原文件名:捕获.JPG)
代码如下:
#include <REGX51.H>
#define uchar unsigned char
void main()
{
uchar a=0;
TMOD = 0x10; //定时工作方式1
TH1 = 0x0b; // (2^13-X)*2=125000 //6M晶振
TL1 = 0xdc;
IE = 0x00;
TR1 = 1;
while(1)
{
if (TF1 == 1)
{
TH1 = 0x0b;
TL1 = 0xdc;
TF1 = 0;
a++;
}
if(a==8)
{
P1_0=~P1_0;
a=0;
}
}
}
还有一个问题, uchar a=0;的定义只能在main函数的第一行,放在其他行就会报错?
一周热门 更多>