你的位置:首頁 > 電源管理 > 正文

                                        技術支招:51單片機的擴展中斷方法

                                        發布時間:2017-07-04 責任編輯:susan

                                        【導讀】MCS—51系列單片機內部只有兩個外部中斷源輸入端,當外部中斷源多于兩個時,就必須進行擴展,下面介紹兩種簡單的擴展方法。
                                         
                                        一、采用硬件請求和軟件查詢的方法:
                                         
                                        這種方法是:把各個中斷源通過硬件“或非(高有效,如CD4002)”(與,低有效)門引入到單片機外部中斷源輸入
                                         
                                        端(INT0或INT1),同時再把外部中斷源送到單片機的某個輸入輸出端口,這
                                         
                                        樣當外部中斷時,通過“或非”(與)門引起單片機中斷,在中斷服務程序中再通
                                         
                                        過軟件查詢,進而轉相應的中斷服務程序。顯然,這種方法的中斷優先級取決于
                                         
                                        軟件查詢的次序。其硬件連接和軟件編程如下:
                                         
                                        Void zhongduan (void) interrupt 0 using 3 //中斷函數
                                         
                                        {
                                         
                                        EX0=0;//關中斷
                                         
                                        If(P0_0=1) { *****}//中斷查詢
                                         
                                        If(P0_1=1) { *****}//中斷查詢
                                         
                                        If(P0_2=1) { *****}//中斷查詢
                                         
                                        EX0=1;開中斷
                                         
                                        }
                                         
                                        二、用普通二極管構成中斷選擇
                                         
                                        擴展的8個外部中斷源均通過二極管向I N T(x=0或I)請求中斷。當某個外部中斷源請求中斷服務時輸出低電平,單片機的I NT 經二極管接地電平,單片機滿足響應外部中斷(I N T)請求條件,響應中斷,程序立即轉向I NT 對應的中斷入口地址處開始執行中斷服務程序,通過軟件查詢PI.0~P1.7口外中斷源的狀態,以識別提出請求的外擴中斷源,并轉向中斷服務程序為其服務,其查詢順序即為外部擴展中斷源的中斷優先級順序。在圖中,是選用PI.0~PI.7作為外擴中斷源請求的狀態信息輸入端口。
                                         
                                         
                                        有點類似第一種方法。
                                         
                                        三、用定時器/計數器作外部中斷
                                         
                                        單片機的定時器/計數器是一個加一計數器,每當計數輸入端有一個“1—0”的負
                                         
                                        跳變時,計數器加一,當加一計數器溢出時,就向CPU發出中斷,利用這個特性
                                         
                                        來擴展中斷的方法是:首先把定時器/計數器設置成計數方式,并預置滿值,把
                                         
                                        外部中斷源輸入到P3口第4引腳或第5引腳(計數器輸入端),這樣就可以利用
                                         
                                        定時器/計數器作為單片機外部中斷了。注意這種方法的中斷服務的入口地址應
                                         
                                        在000BH或001BH。
                                         
                                        四、用專用中斷擴展芯片8259A
                                         
                                        8259A是可編程中斷控制接口,單片機控制八級中斷。在系統中還可采用級聯方式,一個主片可級聯8個從片,構成64級中斷處理系統。
                                         
                                        這樣在程序小于8K的情況,就可以用一片單片機實現了,而不需要用兩片單片機控制,還要進行單片機點對點通訊。
                                        特別推薦
                                        技術文章更多>>
                                        技術白皮書下載更多>>
                                        熱門搜索
                                        ?

                                        關閉

                                        ?

                                        關閉

                                        国产精品亚洲АV无码播放|久久青青|老熟妇仑乱视频一区二区|国产精品经典三级一区|亚洲 校园 春色 另类 激情