标题:
提问:大佬们,这个程序有什么问题吗?
[打印本页]
作者:
冷凝雪
时间:
2020-4-10 22:24
标题:
提问:大佬们,这个程序有什么问题吗?
#include <stc15.h>
main()
{
unsigned char cnt = 0; //
TMOD = 0x01; //T0=MODE1,T1=MODE0
TH0 = 0xFF; //0xB800 IS 20MS
TL0 = 0xF0;
TR0 = 1; //START T0
while(1)
{
if (TF0 == 1) //20MS?
{
TF0 = 0; //RESET TF0
TH0 = 0xFF; //NEXT IS 20MS
TL0 = 0xF0;
cnt++; //
if (cnt >= 5) //20MSx50=1000MS
{
cnt = 0;
P2 = ~P2; //P2=FF OR 00
}
}
}
}
作者:
csmyldl
时间:
2020-4-11 14:30
程序无语法问题,逻辑问题要看编程者意图
作者:
浙江杭州
时间:
2020-4-11 16:23
可能的问题是你计时的时间要加载while前面,然后判断是否溢出。总共5次后取反。最好申明P2口状态。
#include <stc15.h>
main()
{
P2=0X00; //初始化
unsigned char cnt = 0; //
TMOD = 0x01; //T0=MODE1,T1=MODE0
TH0 = 0xFF; //0xB800 IS 20MS
TL0 = 0xF0;
TR0 = 1; //START T0
while(1)
{
TH0 = 0xFF; //0xB800 IS 20MS
TL0 = 0xF0;
if (TF0 == 1) //20MS?
{TF0 = 0; //RESET TF0
cnt++; //
if (cnt >= 5) //20MSx50=1000MS
{
cnt = 0;
P2 = ~P2; //P2=FF OR 00
}
}
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1