資料介紹
通過分析51單片機外中斷I/O入口的內部結構,解釋了外中斷不能被正常響應的原因,并提出了解決該問題的方法。
在長期使用51單片機的過程中,我們發現單片機在工業生產現場等干擾較強的環境工作時,有時確已產生定義為下降沿觸發方式的外中斷,然而用儀器測量已經送入單片機的INTX引腳時,單片機卻不能夠正常響應中斷。在排除了可能由程序導致的問題之后,再檢查CPU 的當前狀態,發現中斷級別、中斷允許、中斷觸發方式也都表明應該響應中斷。后經分析及測試,發現是單片機INTX引腳內部端口鎖存器被置為零所致。當端口被封鎖為零時,從該引腳引入的下降沿表示的中斷申請將丟失,中斷當然不被響應。由于程序中并未使用可將端口鎖存器置為零的指令,且這種情況的產生具有一定的隨機性,并非經常發生,所以認為這種現象可能是因電路干擾或噪聲造成鎖存器誤動作導致的。同時我們還認為這種誤動作和P3口的內部結構及操作方式有一定關系。單片機外中斷輸入端的P3口是具有第二變異功能的準雙向口,其每一位的內部結構如圖1所示。當變異功能輸出為高電平時,位口是普通I/O口。此時如對I/O口進行寫操作,數據由內部總線寫入鎖存器,經與非門和MOS管兩次反相后送出引腳;如對I/O口進行讀操作,則必須先將鎖存器置為1,使MOS管截止,引腳被片內負載MOS管(圖中標為上拉電阻)上拉為高電平,然后可進行輸入操作,當輸入為低電平時它能被拉成低電平,引腳信息經兩個緩沖器進入內總線;如果使用第二功能(變異功能),輸入鎖存器同樣也必須先被置為 1,這時引腳受變異功能輸出控制,若需使用變異功能輸入,則鎖存器和變異輸出必須同時置為1,使MOS管截止,變異功能輸入隨引腳的變化而變化。估計在第二功能時只能用于輸入中斷的P3.2和P3.3口,內部可能沒有變異功能輸出線,即使有,也只能上拉為固定的高電平。可見,單片機P3口不管是通用I/O口還是變異功能輸入,其鎖存器都必須先置為1。單片機復位后所有I/O口的狀態都是1,一般在系統的初始化程序中定義過中斷優先級,并在開中斷之后單片機即可響應中斷,此后若關掉相應中斷允許位(置為0),則需從引腳進入單片機的中斷有效信號(低電平或下降沿)雖然仍可進入并使IE0(或IE1)置為1,但不能引起中斷,當然程序可查尋IE了解中斷源是否產生了中斷申請。
- 51單片機外部中斷拓展(兩個以上的外部中斷)
- 51單片機外部中斷0實例詳解
- 使用單片機外部中斷的使用C語言程序免費下載 9次下載
- 使用FPGA經常會碰到哪些問題應該如何解決 14次下載
- 微波部件經常會出現那些問題應該如何解決
- 3D打印機經常會出現那些出現問題應該如何解決 8次下載
- 51單片機經常會出現的4點錯誤解決方法詳細說明
- 51單片機的外部中斷應該如何觸發
- 51單片機無法燒錄程序應該如何解決詳細方法說明
- 51單片機外部中斷的C51編程程序和相關知識免費下載
- 51單片機的外部中斷有哪些觸發方式
- 51單片機的外部中斷應該怎么使用?詳細實例說明
- 51單片機進行串口通信時會遇到那些問題
- 單片機外部中斷程序下載 0次下載
- 基于單片機的外部中斷的設計 9次下載
- 什么是中斷?單片機中斷處理過程詳解 4342次閱讀
- 單片機外部中斷的好處 1919次閱讀
- 單片機的程序開發經常會出現那些錯誤 4809次閱讀
- 內存經常會出現那些故障?應該如何解決 3658次閱讀
- 單片機的中斷程序如何運行 1w次閱讀
- 初學單片機經常會有那些不容易掌握的知識點 3157次閱讀
- 51單片機中斷用法實例解析 2.5w次閱讀
- 51單片機的外部中斷實驗設計 1.1w次閱讀
- 如何對51單片機進行外部擴展 1.5w次閱讀
- 基于8051單片機的中斷控制 1994次閱讀
- 51單片機的中斷體系結構_中斷的響應過程 1.9w次閱讀
- 關于單片機的中斷系統的詳細介紹 3.1w次閱讀
- 89C51單片機中斷知識要點 1.7w次閱讀
- 單片機中斷系統介紹_51單片機中斷系統結構 1.2w次閱讀
- 51單片機的擴展中斷方法 1184次閱讀
下載排行
本周
- 1ADI高性能電源管理解決方案
- 2.43 MB | 446次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 134次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 120次下載 | 免費
- 4如何正確測試電源的紋波
- 0.36 MB | 5次下載 | 免費
- 5550W充電機原理圖
- 0.13 MB | 2次下載 | 6 積分
- 6USB的PD快充協議電壓誘騙控制器FS312A中文手冊
- 1.51 MB | 2次下載 | 免費
- 7USB的PD和OC快充協議電壓誘騙控制器FS312B中文手冊
- 1.35 MB | 2次下載 | 免費
- 8ADI公司串行端口開發和故障排除指南
- 343.09KB | 1次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 446次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 134次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 120次下載 | 免費
- 4使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 53314A函數發生器維修手冊
- 16.30 MB | 31次下載 | 免費
- 6美的電磁爐維修手冊大全
- 1.56 MB | 22次下載 | 5 積分
- 7感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 8使用TL431設計電源
- 0.67 MB | 8次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多