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

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

程序問題!開機就進中斷!!如何改進程序質量呢??

作者:hpuyuxuan 欄目:單片機
程序問題!開機就進中斷!!如何改進程序質量呢??
程序問題!!開機就進中斷,RB口電平沒有變化,直接就進入中斷了,

我在RB5口又加了個判斷,才解決,可是為什么開機就中斷呢/????

程序質量不夠!怎么改進呢,大蝦們多指較。!

#include<pic.h>
#include<pic16f62xa.h>
__CONFIG(WDTDIS&PWRTEN&MCLRDIS&BOREN&UNPROTECT);
#define PORTBIT(add,bit) ((unsigned)(&add)*8+(bit))
static  bit  PORT_0 @  PORTBIT(PORTB,0);   //定義PORTB 0位*/
static  bit  PORT_1 @  PORTBIT(PORTB,1);   //定義PORTB 1位*/
static  bit  PORT_2 @  PORTBIT(PORTB,2);   //定義PORTB 2位*/
static  bit  PORT_3 @  PORTBIT(PORTB,3);   //定義PORTB 3位*/
static  bit  PORT_4 @  PORTBIT(PORTB,4);   //定義PORTB 4位*/
static  bit  PORT_5 @  PORTBIT(PORTB,5);   //定義PORTB 5位*/
static  bit  PORT_6 @  PORTBIT(PORTB,6);   //定義PORTB 6位*/
static  bit  PORT_7 @  PORTBIT(PORTB,7);   //定義PORTB 7位*/
void PORTBINT();    //RB口初始化
void INTRB();    //RB口中斷服務程序
void delay (int x) ;//延時程序。


main()
{
delay(10);
PORTBINT(); //初始化RB口
ei();      //開啟總中斷
while(1)   //等待中斷
{
;
}
}


void PORTBINT()   //RB口初始化
{
TRISB=0xF0;     //設置RB口為輸入方式
RBPU=0;         //開啟RB口弱上拉
PORT_5=1;          //RB5 先送高電平
RBIE=1;         //開啟RB口中斷
PORTB=PORTB;    //讀PORTB口,鎖存舊值,為變位中斷創(chuàng)造條件

}


void interrupt RB()             //RB口中斷服務程序
{
if (RBIF==1)                    //是否RB口中斷
{ if(PORT_5==0) INTRB();}      //是否高電平到低電平變化引起中斷,剔出低至高變化中斷。
}


void INTRB()                    //RB口中斷服務程序
{
  TRISA=0;
  RBIF=0;                       //清 RB口中斷標志位
  PORTB=PORTB;      //讀PORTB口,改變中斷發(fā)生的條件,防止開到位開關一直處于閉合狀態(tài)時,
                    //再次發(fā)生中斷。
  
  
  RA0=1;                        //BA0輸出高電平


}


void delay (int x)     //延時程序。
{
int y;
while(x--)
{
  for(y=1000;y>0;y--){;}
}
}



2樓: >>參與討論
wo07102329
笑嘻嘻
松松散散

3樓: >>參與討論
hpuyuxuan
大蝦,怎么松松散散呢??
大蝦,怎么松松散散呢??
請具體的指教下
不盛感激

4樓: >>參與討論
sillboy
電路沒什么問題吧
 
5樓: >>參與討論
yewuyi
如果用的是16系列的MCU
那么中斷函數肯定有問題。

在開某個中斷源時,一般都需要先軟件清除一下標志位,這是提高軟件健壯性常規(guī)方法

你仔細檢查一下中斷入口……

6樓: >>參與討論
hpuyuxuan
謝謝
謝謝,電路肯定沒有問題。
因為我電路很簡單。
5樓的大蝦,謝謝啦!!
我用的就是16系列的,
我試試!

7樓: >>參與討論
hpuyuxuan
非常感謝5樓的大蝦
非常感謝5樓的大蝦,
我剛才試驗了,
就是沒有清標志位。
再次謝謝!

8樓: >>參與討論
yewuyi
似乎你的中斷函數也有點問題
 
9樓: >>參與討論
hpuyuxuan
有什么問題!大蝦請指教!
有什么問題!大蝦請指教!
我是個新手,大蝦盡管批評。
謝謝!!

10樓: >>參與討論
xieyuanbin
端口不能懸空
所有的輸入端口不能懸空.中斷標志在開中斷前先清一遍,排除是否誤開了其他中斷.

11樓: >>參與討論
hpuyuxuan
xiexie
謝謝!
又長知識了
謝謝10樓大蝦

參與討論
昵稱:
討論內容:
 
 
相關帖子
為什么PIC單片機C言語版的書那么難找
一個有關PIC單片模擬串口的問題
求助!尋找低電壓、低功耗的PIC型號
把PIC12F629給燒死了?
mcc18 v3.0與mpalb 7.22,編譯出錯?
免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號