0.png (41.91 KB, 下載次數: 181)
下載附件
2019-6-12 01:22 上傳
1. 設計內容
在 Proteus8.6 仿真平臺上,使用 8位七段數碼管,設計一個電子時鐘,可以顯示小時,分鐘,秒。
2. 設計思路
電子時鐘主要由譯碼電路、顯示模塊和時鐘控制模塊三大部分組成。以 8086微處理器作 CPU,用 8253 做定時器, 接中斷控制器 8259的 IR0,向 CPU申請中斷,并用 8259A的中斷服務程序完成秒、分、時的計算。其中:
(1)顯示模塊用并行接口 8255的 A口驅動 8位七段數碼管(7SEG-MPX8-CC-BLUE)的字段,B口驅動 8位七段數碼管(LED)的位控端,從左側開始各兩位分別顯示:時、分、秒,中間用“-”分隔,即顯示形式為:小時-分鐘-秒;采用動態掃描工作方式。
(2) 時鐘控制模塊用定時計數器 8253 提供定時中斷,使用計數器 0 和計數器 1,間隔 1s 的自動產生一次中斷,中斷控制器 8259提供中斷服務,在中斷服務程序中并完成時間信息的處理。
(3)使用 4-16譯碼器(74LS154)完成接口芯片地址譯碼。
2. 功能實現
系統使用匯編語言實現,為了簡化程序設計過程,設計了幾個宏,其中 OUT_PORT用于端口輸出,SET_INT 用于中斷向量設置;INIT_8259 用于中斷控制器 8259的初始化,INIT_8253 用于定時計數器 8253 的初始化,詳見 2.3 的源代碼。系統程序除了初始化之外,還包括顯示子程序DISPLAY,延時子程序 DELAY和中斷服務程序 INT_0。
2.1 系統程序設計
系統首先完成各接口芯片的初始化,然后等待中斷響應。
首先完成中斷向量設置,為了方便使用,用宏實現,宏調用如下:
SET_INT 80H,INT_0
其中 INT_0 為中斷服務程序,因接入 8259 的 IR0引腳,其中斷向量設置為 80H。而 8259 因為單片使用,接下來只需設置 ICW1,ICW2 和 ICW4,采用邊沿觸發,單片,需要 ICW4,采用自動結束 方 式 , ICW1=13H,ICW2=80H , ICW4=03H, 同 樣 , 采 用 宏 調 用 完 成 。 即 : INIT_8259IO2,13H,80H,03H 。
完成中斷初始化之后,完成 8255 初始化,使用 A 口和B 口,方式 0,輸出,故命令內容為:80H,向其控制口寫入即可,控制口地址為 IO3+6。
8253 的初始化要設置計數器 0 和計數器 1,在 OUT1 自動發出周期為 1S 的方波,接 8259 的IR0,即每隔 1s產生一次中斷。
0.png (51.46 KB, 下載次數: 174)
下載附件
2019-6-12 01:24 上傳
完整的pdf格式文檔51黑下載地址:
微機原理與接口技術-大作業報告(樣例)(2).pdf
(434.38 KB, 下載次數: 491)
2019-6-11 11:22 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
仿真圖:
L_8086_TIMER的Proteus仿真.7z
(30.87 KB, 下載次數: 583)
2019-6-12 01:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|