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