『壹』 求大神幫忙 單片機晶元的針腳斷了怎麼辦
當然最好的辦法是換一片新的單片機。不想換的話,可以找一根導線,從單片機斷腳的根部焊接出來連接到相應位置。
『貳』 如何設置51單片機管腳為上升沿觸發中斷
不能設置上升沿觸發中斷,要使上升沿觸發中斷,只能將該信號加一個非門再接入到外部中斷口。
『叄』 某系統要啟用外部中斷1和外部中斷2,要使用哪些引腳,怎樣配置
以STC89c52(一款典型的51系列52子系列單片機)為例
假設P3.4接蜂鳴器低電平控制,程序下載後處於循環等待狀態,
當外部中斷1發出中斷,CPU響應後進入中斷服務程序
蜂鳴器響
#include<re52.h>
sbit fm=P3^4 //位聲明
void main()
{
EA=1;//開CPU總中斷
EX1=1;//開外部中斷1
IT1=1;//外部中斷1中斷方式為下降沿觸發
while(1);//循環等待外部中斷1發出中斷
}
void ex1() interrupt 2 //外部中斷1中斷服務程序,using 1(或者2,3)只中斷服務程序分配特殊能寄存器,不寫是可以的因為系統可以自動分配特殊功能寄存器區
{
fm=0;//蜂鳴器響,你想要處理其他事件也可加入到這里
}
『肆』 單片機 中斷引腳
51單片機中有5個中斷源,如下圖中斷引腳:INT0、INT1、T0、T1以及RX和TX
CPU在處理某一事件A時,發生了另一事件B請求CPU迅速去處理(中斷發生);
CPU暫時中斷當前的工作,轉去處理事件B(中斷響應和中斷服務);
待CPU將事件B處理完畢後,再回到原來事件A被中斷的地方繼續處理事件A(中斷返回),這一過程稱為中斷。
中斷號優先順序中斷源中斷入口地址
0 1(最高) 外部中斷(INT0) 0003H
1 2 定時器(T0) 000BH
2 3 外部中斷(INT1) 0013H
3 4 定時器(T1) 0018H
4 5串口總段(RX、TX) 0023H
單片機有10個寄存器主要與中斷程序的書寫控制有關
1.中斷允許控制寄存器IE
2.定時器控制寄存器TCON
3.串口控制寄存器SCON
4.中斷優先控制寄存器IP
5.定時器工作方式控制寄存器TMOD
6.定時器初值賦予寄存器(TH0/TH1,TL0/TL1)
『伍』 C51單片機的中斷設置
/ 外部中斷參考程序
/*********************************************************************************************
函數名:外部中斷INT初始化函數
調 用:INT_init();
參 數:無
返回值:無
結 果:啟動外部中斷INT1、INT0中斷,設置中斷方式
備 註:
/**********************************************************************************************/
void INT_init (void){
EA = 1; //中斷總開關
EX1 = 1; //允許外部中斷1中斷
EX0 = 1; //允許外部中斷0中斷
IT1 = 1; //1:下沿觸發 0:低電平觸發
IT0 = 1; //1:下沿觸發 0:低電平觸發
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:外部中斷INT1中斷處理程序
調 用:[外部引腳INT1中斷處理]
參 數:無
返回值:無
結 果:用戶處理外部中斷信號
備 註:
/**********************************************************************************************/
void INT_1 (void) interrupt 2 using 2{ //切換寄存器組到2
//用戶函數內容
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:外部中斷INT0中斷處理程序
調 用:[外部引腳INT0中斷處理]
參 數:無
返回值:無
結 果:用戶處理外部中斷信號
備 註:
/**********************************************************************************************/
void INT_0 (void) interrupt 0 using 2{ //切換寄存器組到2
//用戶函數內容
}
/**********************************************************************************************/
- 程序模塊
/*********************************************************************************************
程序名: 外部中斷程序實例
編寫人: 杜洋
編寫時間:2009年9月24日
硬體支持:STC12C2052AD外部12MHZ晶振
介面說明:
修改日誌:
NO.1-
/*********************************************************************************************
說明:
兩個按鍵分別控制LED燈的開關。
INT0介面的按鍵按下時開燈。
INT1介面的按鍵按下時關燈。
/*********************************************************************************************/
#include <REG51.h> //51頭文件
sbit LED = P1 ^ 0; //定義LED燈
//註:外部中斷固定與P3.2和P3.3復用,無需定義這兩個介面。
/*********************************************************************************************
函數名:外部中斷INT初始化函數
調 用:INT_init();
參 數:無
返回值:無
結 果:啟動外部中斷INT1、INT0中斷,設置中斷方式
備 註:
/**********************************************************************************************/
void INT_init (void){
EA = 1; //中斷總開關
EX1 = 1; //允許外部中斷1中斷
EX0 = 1; //允許外部中斷0中斷
IT1 = 1; //1:下沿觸發 0:低電平觸發
IT0 = 1; //1:下沿觸發 0:低電平觸發
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:外部中斷INT1中斷處理程序
調 用:[外部引腳INT1中斷處理]
參 數:無
返回值:無
結 果:用戶處理外部中斷信號
備 註:
/**********************************************************************************************/
void INT_1 (void) interrupt 2 using 2{ //切換寄存器組到2
LED = 1; //關燈
}
/**********************************************************************************************/
/*********************************************************************************************
函數名:外部中斷INT0中斷處理程序
調 用:[外部引腳INT0中斷處理]
參 數:無
返回值:無
結 果:用戶處理外部中斷信號
備 註:
/**********************************************************************************************/
void INT_0 (void) interrupt 0 using 2{ //切換寄存器組到2
LED = 0; //開燈
}
/**********************************************************************************************/
/*********************************************************************************************/
void main(void){
INT_init(); //外部中斷初始化
while(1){
//其他程序
}
}
/*********************************************************************************************/
參考資料:單片機編程寶典
http://hi..com/dzkfw/blog/item/4a188216fd986b12c83d6d05.html
『陸』 51單片機 中斷 如何觸發
這個是屬於單片機的外部中斷,可以通過相關寄存器的配置,相應的引腳如果出現高電平或者低電平(有些單片機可以配置成四種觸發形式:高電平,低電平,上升沿,下降沿)就觸發一次外部中斷,至於如何檢測到這個就不重要了,對於單片機的開發來說這並不重要
『柒』 怎樣利用keil配置單片機的引腳
單片機的引腳配置是通過編程來完成的,不同的單片機配置方法也不同,AVR單片機是通過專門的程序代碼將I/O引腳設置成不同的工作狀態,STM32單片機是通過專門的寄存器函數或庫函數對引腳進行配置,而AT89等單片機都是准雙向I/O口,STC單片機除了准雙向功能外,也可以通過寄存器設置進行不同的配置。
『捌』 C8051f單片機 串口中斷與外部中斷
完全是可以一起使用的,配置交叉開關
當交叉開關配置寄存器XBR0、XBR1、XBR2和XBR3中外設的對應使能位被設置為邏輯『1』
時,交叉開關將埠引腳分配給外設。可能你還沒有完全理解交叉開關的使用。外設的引腳就是通過優先權來合理分配的。配置程序:
XBR0|=0x04;
XBR1|=0x04;
XBR2|=0x40;
這樣就把P0.0配給TX0;P0.1配給RX0;P0.2配給INT0
主要還是真正理解交叉開關是怎麼用的。