音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(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

急問(wèn):調(diào)試時(shí)的中斷問(wèn)題

作者:wildship 欄目:單片機(jī)
急問(wèn):調(diào)試時(shí)的中斷問(wèn)題
我編了一個(gè)中斷程序,采用的芯片是90LS8535,PD2作為外部中斷0的入口,進(jìn)入中斷程序后跳不出來(lái),請(qǐng)各位高手幫忙指點(diǎn)一下,謝了。
中斷程序如下:
#pragma interrupt_handler  controlchange:2
void controlchange()                                   
{
    MCUCR=0X00;                                         
    DDRD=0X8B;
    CLI();
      
    for(;;)
    {
       if(checkbit(PIND,4)==1)
         {
         PORTD &= 0X01;                                 
              PORTC = 0X48;                                  
         }
       if(checkbit(PIND,5)==1)
         {
         PORTD &= 0X02;                                  
         PORTC = 0X50;                                        
         }          
       if(checkbit(PIND,6)==1)
        {
         PORTD &= 0X08;                                  
        }
       if(checkbit(PIND,3)==1)
          break;
     }
}
我是想用PD2的高電平再跳出中斷,不知這樣是不是可行?望高手指點(diǎn)一二。
滿(mǎn)足if中的條件也不執(zhí)行其下面的動(dòng)作。

2樓: >>參與討論
音樂(lè)樂(lè)樂(lè)
查一下你的觸發(fā)方式設(shè)置
 是不是設(shè)置成電平方式觸發(fā)了?改為沿觸發(fā)

3樓: >>參與討論
wildship
不行啊,我改過(guò)來(lái)了還是不行啊
我改過(guò)來(lái)了,也不行的。主要是進(jìn)入程序后不執(zhí)行if中的語(yǔ)句(條件滿(mǎn)足也不執(zhí)行),各位高手幫幫忙啊,看看是什么原因,謝謝了~~。!

* - 本貼最后修改時(shí)間:2005-1-3 16:25:52 修改者:wildship

4樓: >>參與討論
音樂(lè)樂(lè)樂(lè)
checkbit(PIND,3)怎么寫(xiě)的?
 有沒(méi)有把PD最為輸入?DDRD=0x00;

5樓: >>參與討論
wildship
謝謝 音樂(lè)樂(lè)樂(lè) ,現(xiàn)在搞定了。
謝謝 音樂(lè)樂(lè)樂(lè) 大俠。
是讀IO口的問(wèn)題,后來(lái)我改成了在if前添加了:
PIND&=0b00010000,條件語(yǔ)句條件改為PIND==0x10(以第一個(gè)為例),就能進(jìn)去了。但我不清楚這樣為什么就行呢?
checkbit(var,n)是查看位的宏函數(shù),在源程序里有定義的,但寫(xiě)上去后不能判斷了,為什么?

另:樂(lè)樂(lè)大俠,有沒(méi)有其它的判斷變量的位的方法,望賜教,謝謝了。

6樓: >>參與討論
winsu
有個(gè)問(wèn)題你沒(méi)考慮.
如果你手動(dòng)觸發(fā),那么要考慮振蕩現(xiàn)象.

7樓: >>參與討論
音樂(lè)樂(lè)樂(lè)
唉,開(kāi)始給你回了一大堆網(wǎng)絡(luò)斷了
簡(jiǎn)單點(diǎn)吧
#define CHECK_BIT(x,y) ((x)&(1<<(y)))
判斷時(shí):if(CHECK_BIT(PIND,2))或者if(!CHECK_BIT(PIND,2))

如一定要和1比較,這樣
#define CHECK_BIT(x,y) (((x)&(1<<(y)))>>(y))


8樓: >>參與討論
wildship
謝謝了,各位。。。。!
這兩天在忙著開(kāi)題的事,看到這么多的人看這個(gè)帖子,謝謝大家的關(guān)心。
特別謝謝樂(lè)樂(lè)大俠和winsu。
樂(lè)樂(lè)大俠可不可以告訴我你的E-mail,我的事wildship◎sina.com,以后還要多多請(qǐng)教。

參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
我用tiny26,默認(rèn)內(nèi)部1m振蕩,為什麼不工作呢?
MEGA16的T/C1能否同時(shí)工作于外部捕獲和PWM輸出狀態(tài)?
GCC中定義了FLASH內(nèi)的數(shù)組,但編譯后依然顯示DATA上用了數(shù)據(jù):
請(qǐng)教:雙龍的下載線(xiàn)為何用不了雙龍的下載軟件
AVR開(kāi)發(fā)環(huán)境!!緊急求助!!先謝。。!
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)