|
程序功能是用定时器0定时,通过修改定时器初值,达到加速的功能。程序试验过程中已经有加速过程,但是最大只能到500HZ ,步知道什么原因。本来想让信号从100HZ一直慢慢加速到16KHZ .程序如下,请各位大侠帮分析一下,程序问题出在哪里 ?
#include<W78E58B.H>
#define uchar unsigned char
#define uint unsigned int
sbit dir=P1^0;
sbit en=P1^1;
sbit clk=P1^2;
sbit start=P1^3;
sbit stop=P1^4;
uint rate;
uchar flag1,flag2;
uint i=50000;
void main()
{
EA=1;
ET0=1;
TR0=1;
TMOD=0X01;
TH0=(65536-i)/256;
TL0=(65536-i)%256;
while(1)
{
;
}
}
void t0(void) interrupt 1 using 0
{
TH0=(65536-i)/256;
TL0=(65536-i)%256;
if(i>40)
{
i=i-20;
}
else
{
i=20;
}
clk=~clk;
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|