AT89S51單片機并行I/O端口的擴展
3.2 系統(tǒng)電路的調(diào)試
3.2.1 調(diào)試方法
在最小系統(tǒng)電路中按照圖1完成并行I/O端口擴展的系統(tǒng)硬件電路。編寫系統(tǒng)軟件程序并在Keil C軟件環(huán)境下編譯、連接、調(diào)試程序,修改錯誤。用ISP編程器將實驗程序代碼寫入AT89S51單片機片內(nèi)ROM中。在單片機系統(tǒng)硬件電路板上插上單片機,開機運行,若3個數(shù)碼管依次顯示“0”、“1”、“2”,則說明系統(tǒng)工作正常。
3.2.2 調(diào)試中出現(xiàn)的問題及原因
在調(diào)試初期,由于未考慮8155復位比單片機復位慢,一開始未加100 ms延時程序,系統(tǒng)運行時出現(xiàn)3位數(shù)碼管顯示均為“8.”。為找出發(fā)生此現(xiàn)象的原因,將數(shù)碼管改由AT89S51單片機P1口送段碼,P2口送位選通,將動態(tài)顯示的程序做相應修改,調(diào)試通過后用ISP編程器將代碼寫入AT89S51單片機片內(nèi)ROM中,開機運行,3個數(shù)碼管動態(tài)顯示“0”、“1”、 “2”。此實驗現(xiàn)象說明8155器件工作不正常。按照圖1連線,核實連線及端口地址無誤后,再次用ISP編程器將實驗程序代碼寫入AT89S51單片機片內(nèi)ROM中,開機運行,3個數(shù)碼管顯示均為“8.”。此現(xiàn)象說明8155器件工作不正常的原因不是硬件電路的問題。研究8155的特性參數(shù)后發(fā)現(xiàn)8155 復位比單片機復位慢,在系統(tǒng)初始化時存在時差。在系統(tǒng)復位后應加100 ms的延時,以保證8155完成復位工作。在設計實驗程序開始加100 ms延時程序,將實驗程序代碼寫入AT89S51單片機片內(nèi)ROM中,開機運行,3個數(shù)碼管動態(tài)顯示“0”、“1”、“2”,達到設計目標。本文引用地址:http://m.butianyuan.cn/article/173600.htm
4 結論
通過AT89S51與Intel 8155器件接口實現(xiàn)了并行I/O端口的擴展,實現(xiàn)了3個數(shù)碼管動態(tài)顯示。由實驗可知,采用8155擴展并行I/O端口方便、實用、成本低、且擴展的FO 端口可編程。由于Intel 8155內(nèi)部自帶256B的SRAM和一個14位的加1計數(shù)器,因此在單片機外擴展8155不僅增加了并行I/O端口,同時豐富了SRAM與計數(shù)器等資源。值得注意的是8155復位比單片機復位慢,在程序開始應加延時程序,調(diào)整系統(tǒng)初始化時,應調(diào)整Intel 8155和單片機的復位時差。
評論