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