最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請(qǐng)問各位大蝦單片機(jī)定時(shí)器對(duì)程序的影響??很迷惑啊,求救了

作者:kinggate 欄目:單片機(jī)
請(qǐng)問各位大蝦單片機(jī)定時(shí)器對(duì)程序的影響??很迷惑啊,求救了
各位大蝦幫我看看下面的程序啊,怎么定時(shí)器對(duì)程序的運(yùn)行有影響的?
程序如下:
#include<reg51.h>
#define uCHAR unsigned CHAR
#define uint unsigned int
#define uLONG unsigned LONG

extern show(uCHAR showdata);

uLONG IRcode=0x00000000;  //32位的鍵代碼
uCHAR Lcustomcode=0x92;    //低八位用戶碼
uCHAR Hcustomcode=0x82;       //高----
uCHAR datacode=0xf8;       //8位鍵數(shù)據(jù)碼
uCHAR Rdatacode=0x80;      //8位鍵數(shù)據(jù)反碼

void delay()
{
uCHAR i,j,k;
for(i=200;i>0;i--)
    for(j=200;j>0;j--)
       for(k=5;k>0;k--) ;
}
  


void init()
{  
  TMOD=0x11; //定時(shí)器0,工作方式1 ;  定時(shí)器1,工作方式1
  TCON=0x01; //外中斷0下降沿觸發(fā),(包括TR1=0,TR0=0)
  TH0=0x3c;  //初始化定時(shí)器0,定時(shí)50ms
  TL0=0xb0;
  TH1=0x00;  //初始化定時(shí)器1
  TL1=0x00;
  
  EA=1;         //開全中斷
  ET0=1;     //開放T0中斷
  ET1=1;     //開放T1中斷
  EX0=1;     //開放外中斷0
  
}

void remoteint() interrupt 0 using 0    //遙控器中斷處理函數(shù)
{
    
  EX0=0;
  IRcode=code;  //code為讀到的32位的值
    
  Lcustomcode=IRcode;              
  IRcode=IRcode>>8;                
  Hcustomcode=IRcode;
  IRcode=IRcode>>8;     
  datacode=IRcode;     
  IRcode=IRcode>>8;    
  Rdatacode=IRcode;            

  TR1=1;  //開始計(jì)時(shí)?????????    
  EX0=1;
  
}

void main()
{
   
    init();   
   
  while(1)       
  {             
        
     show(Lcustomcode);        
     delay();
     show(Hcustomcode);
     delay();      
     show(datacode);
     delay();
     show(Rdatacode);     
     delay();  
        
  }                                                            
}
問題就出在TR1=1上,有了這句之后顯示的數(shù)碼管就一閃一閃的了,并且數(shù)據(jù)也不正確,但刪掉這句后,程序就正常,或者一開始就關(guān)閉T1(ET1=0)也沒影響,程序運(yùn)行也正常,難到定時(shí)器的中斷對(duì)程序也有影響嗎?
謝謝各位!

2樓: >>參與討論
lbx_00
你的定時(shí)器1的中斷服務(wù)程序沒有呀
我看不到你的定時(shí)器1中斷服務(wù)程序,所以,我只能夠猜了。你的顯示應(yīng)該是掃描的,掃貓的速度一定要比0.05s快,但是,我只看到了,你在外中斷0的服務(wù)程序里啟動(dòng)T1,并沒有看到,當(dāng)T1益出后,重新裝入TH1,TL1,和給F1清零,并重起T1,還有,T1中斷服務(wù)時(shí)間過長(zhǎng),也會(huì)影響你的掃描顯示。另外,用c寫的東西,總是有許多東西對(duì)程序員不透明,有的時(shí)候,會(huì)出怪事,也許,你的T1不必全程關(guān)掉,所以,用匯編寫程序的成功率會(huì)高一些,建議用匯編。

3樓: >>參與討論
joy晴天
計(jì)時(shí)中段服務(wù)程序呢?
在計(jì)時(shí)中段完成它應(yīng)有的功能和次數(shù)后,關(guān)閉計(jì)時(shí)器,關(guān)閉計(jì)時(shí)使能

4樓: >>參與討論
kinggate
謝謝各位大蝦
謝謝各位大蝦,
在加入定時(shí)器中斷函數(shù)后,程序正常了
我原以為沒有用到定時(shí)中斷服務(wù)程序,就不用寫了
在加了個(gè)空的定時(shí)中斷服務(wù)程序后程序就正常了
謝謝!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
HOTPOWER的通用CRC/PEC計(jì)算器怎么沒辦法用了?
串口格式與數(shù)據(jù)格式區(qū)別(搞串口的高手請(qǐng)進(jìn))
各位:幫我看看這到底是咋回事
直流馬達(dá)的驅(qū)動(dòng)
[轉(zhuǎn)貼]悟空,CRC原來(lái)是這么回事!
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)