明白 發(fā)表于 2014-8-10 10:57
void Comm_Interrupt() interrupt 4//串行中斷程序
{
if(TI)
明白 發(fā)表于 2014-8-10 12:37
程序運(yùn)行,TEnd完全有可能去到256,
主要是因?yàn)槎〞r器0的中斷周期太短,主程序跑不動
xiehuipeng 發(fā)表于 2014-8-10 13:10
那個Tend還會=-255.
我覺得這應(yīng)該是溢出的問題 Tend只會出現(xiàn)這兩個特殊的數(shù)字256或者-255 因?yàn)檫@兩個數(shù) ...
明白 發(fā)表于 2014-8-11 10:35
也可以停止定時器TR0 =0;
處理好數(shù)據(jù)之后,
才重新啟動定時器, TR0 =1;
明白 發(fā)表于 2014-8-11 13:26
15個獨(dú)立的32bit計(jì)時器,
入棧出棧需要20條指令,
每一個32bit計(jì)時器,自加自判大概25條指令
明白 發(fā)表于 2014-8-11 13:49
void Timer0_Interrupt() interrupt 1//0-0定時器0 1ms 中斷程序
{
TL0 = 0x18; ...
明白 發(fā)表于 2014-8-11 13:48
這樣可以用TR0停止和啟動定時器,
明白 發(fā)表于 2014-8-11 14:07
1ms,分辨率最大就只有1ms,
我前面介紹的18位二進(jìn)制定時器,分辨率可以去到1us
相差多少倍,
xiehuipeng 發(fā)表于 2014-8-11 14:31
謝謝大哥 我看懂你這個計(jì)時方式了 非常巧妙 學(xué)習(xí)了。。
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |