明白 发表于 2014-8-10 10:57
void Comm_Interrupt() interrupt 4//串行中断程序
{
if(TI)
明白 发表于 2014-8-10 12:37
程序运行,TEnd完全有可能去到256,
主要是因为定时器0的中断周期太短,主程序跑不动
xiehuipeng 发表于 2014-8-10 13:10
那个Tend还会=-255.
我觉得这应该是溢出的问题 Tend只会出现这两个特殊的数字256或者-255 因为这两个数 ...
明白 发表于 2014-8-11 10:35
也可以停止定时器TR0 =0;
处理好数据之后,
才重新启动定时器, TR0 =1;
明白 发表于 2014-8-11 13:26
15个独立的32bit计时器,
入栈出栈需要20条指令,
每一个32bit计时器,自加自判大概25条指令
明白 发表于 2014-8-11 13:49
void Timer0_Interrupt() interrupt 1//0-0定时器0 1ms 中断程序
{
TL0 = 0x18; ...
明白 发表于 2014-8-11 13:48
这样可以用TR0停止和启动定时器,
明白 发表于 2014-8-11 14:07
1ms,分辨率最大就只有1ms,
我前面介绍的18位二进制定时器,分辨率可以去到1us
相差多少倍,
xiehuipeng 发表于 2014-8-11 14:31
谢谢大哥 我看懂你这个计时方式了 非常巧妙 学习了。。
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |