微機介面 電子時鐘課程設計

2023-01-04 08:45:02 字數 4152 閱讀 1872

《微機原理與接**術》

課程設計

課題:電子錶的設計與實現

姓名:朱佩

班級:11級通訊一班

學號:1116303040

第一章設計部分

1.1 設計目的

1、 熟練掌握***86/88教學系統的基本操作和除錯程式的各種指令。

2、 熟悉程式設計及除錯程式的方法。

3、 掌握8259中斷控制器的工作原理和應用程式設計方法,練習編寫中斷程式的方法。

4、 掌握8255的各種工作方式及其應用程式設計。

5、 掌握8253定時/計數器的工作原理、工作方式及其應用程式設計。

6、 練習led-keyboard unit的使用方法和數碼管的顯示程式設計方法。

1.2 設計要求

1、 用微機原理實驗箱提供的數碼管和按鍵做。

2、 電子錶具有二十四小時迴圈記時功能,走時要準。要有時鐘對時功能並方便操作

1.3 設計思路

電子錶主要由顯示模組、對時模組和時鐘運算模組三大部分組成。其中對時模組和時鐘運算模組要對時、分、秒的數值進行操作,並且秒計算到60時,要自己清零並向分進1;分計算到60時,要自己清零並向時進1;時計算到24時,要清零。這樣,才能迴圈記時。

第二章實現部分

2.1 分析論證

1、顯示模組

利用數碼管的顯示功能來設計。數碼管是由八個條形發光二極體組成的,這些發光二極體的陰極是互相連線在一起的,所以稱為共陰極數碼管。通過在這八個發光二極體的陽極加+5 v或0 v的電壓使不同的二極體發光,形成不同的字元和數字。

電子錶用到的是0到9十個數字,他們所對應的字元表依次是3fh、06h、5bh、4fh、66h、6dh、7dh、07h、7fh、6fh。,並通過四個數碼管顯示出來。該模組實現的硬體是***86/88的led-keyboard unit。

2、時鐘運算模組

該模組的主要功能是對時、分、秒的運算,並把運算出的最終結果存到事先已經開闢的記憶體單元裡,以便顯示模組即時地顯示出來。該模組可以細分為秒定時模組和運算模組。秒定時模組負責提供中斷訊號,由於cpu運算模組中的指令消耗一定的時間,所以中斷訊號最好通過硬體來實現,可以選擇***86/88實驗箱中的8253定時/計數器來提供,但又因為8253所能提供的訊號的週期時毫秒級的,因此必須通過軟體的方法在運算模組中設定乙個統計中斷次數的變數,並且這一變數必須事先在記憶體裡開闢儲存單元。

中斷訊號是8253的通道2工作方式為方式3時,產生乙個40ms的脈衝訊號。運算模組負責時、分、秒的計算,該模組主要通過8259的irq7號中斷來實現,首先將秒定時模組提供的中斷訊號為8259的irq7中斷請求訊號。但由於每40ms一次中斷請求。

所以在中斷服務程式必須利用已申請記憶體單元count來統計中斷請求的次數,只有當count的值為25時,才能讓秒單元內的數值加1。另外,在中斷服務程式裡,必須對秒、分和時的單元內的數值進行判斷,當秒加到60時,分必須加1 、秒清零;當分加到60時,時加1、分清零。當時加到24啊,直接清零。

3、對時模組

該模組主要功能是修改時、分記憶體單元的數值。在對時的時候,秒應停止不變,並且在對分進行調整的時,時單元內的數值不變。由以上分析可見,對時、分的調整用兩個優先順序高於irq7的中斷來完成。

因此,可以用8259的irq2中斷來實現,兩個中斷源的中斷請求訊號只需直接接在兩個按鍵即可起到對時作用。

2.2 設計電路圖

電子錶的完整電路圖如下:

2.3 原理說明

電子錶主要由8259a中斷控制器、8253定時/計數器、8255a介面晶元、led數碼顯示管和兩個按鍵組成。主要用8259a的irq7的中斷服務程式完成秒、分、時的運算即計時功能,irq6的中斷服務程式完成調時、調分功能。8253用來產生50ms的脈衝訊號作為irq7的中斷請求訊號。

按鍵kk1+和kk2+分別作為irq2和irq6的中斷請求訊號。按鍵kk1+啟動/關閉對時功能。它決定是否遮蔽irq7和irq6中斷源。

8255a負責將記憶體裡的時位和分位值輸出到數碼管

2.4 元件功能說明

8259a的主要功能:

(1)每片8259a可管理8級優先順序中斷源,通過開關,最多可管理64級優先權的中斷源。

(2)對任何乙個級別的中斷源都可單獨進行遮蔽,使該級中斷請求暫時被掛起,直到取消遮蔽時為止。

(3)能向cpu提供可程式設計的標識碼。

(4)具有多種中斷優先權管理方式。有完全巢狀方式、自動迴圈方式、特殊迴圈方式、特殊遮蔽方式和查詢方式五種。這些管理方式均可通過程式動態地進行變化。

在本設計中用到了這四種功能,電子錶的靈活調時功能就是通過對級別的遮蔽或開啟來實現的。

8255a的主要功能:

可程式設計外設介面晶元可由程式改變其功能,通用性強、使用靈活。通過8255a,cpu可直接同外設相連線,其負責cpu和外設之間的資料傳送。

8253的主要功能:

可程式設計定時器/計數器,其定時與計數功能可由程式靈活地設定,設定後與cpu並行工作,不占用cpu的時間。通道2工作在3方式下,提供計算一秒的中斷請求訊號。

2.5 程式框圖

2.6 除錯結果分析

將編寫好的源程式輸入,編譯後出現很多錯誤,經過反覆修改直到程式執行通過。將生成的可執行程式裝入***86/88的記憶體裡,在監控狀態下執行程式,可是數碼管顯示的數字並不與理論計算值相符合,並且顯示的數字不停地閃動,經過反覆分析源程式發現問題出現在記憶體單元裡時位和分位在轉化為十進位制時,儲存轉化的結果的位址空間的順序弄混了。數字閃動的原因應該出在顯示子程式裡,經過分析問題出在顯示子程式裡缺少延時程式。

編寫延時子程式,並在顯示子程式呼叫它;編譯源程式,裝入生成的可執行檔案,並執行。數碼管顯示的數字與理論值相符合,並能正常計時,但當按動kk1+鍵時,卻不能啟動對時功能,按動kk2+時,也不能調時、調分。問題很可能出在兩鍵控制的中斷源上,檢查源程式也找不出錯誤,當把irq5換成irq2後,在進行除錯,結果成功。

2.7 程式清單

stack segment stack

dw 64 dup(?)

stack ends

data segment

h dw 000ch

m dw 0000h

s dw 0000h

count dw 0000h

off dw 0000h

table db 3fh,06h,5bh,4fh,66h,6dh, 7dh,07h

7fh,6fh

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

push ds

mov al,81h

out 63h,al

mov ax,0000h

mov ds,ax

mov ax,offset irq2

add ax,2000h

mov si,0028h

mov [si],ax

mov ax,0000h

mov si,002ah

mov [si],ax

mov ax,offset irq6

add ax,2000h

mov si,0038h

mov [si],ax

mov ax,0000h

mov si,003ah

mov [si],ax

mov ax,offset irq7

add ax,2000h

mov si,003ch

mov [si],ax

mov ax,0000h

mov si,003eh

mov [si],ax

mov al,0b6h

out 43h,al

mov al,68h

out 42h,al

mov al,0bah

out 42h,al

pop ds

mov al,7bh

out 21h,al

begin:

call dis

sti jmp begin

irq7: inc count

cmp count,25

jnz return

mov ax,0

mov count,ax

mov ax,s

inc ax

mov s,ax

cmp ax,003ch

電子時鐘課程設計

微控制器實訓 課題電子時鐘 班級 11電氣本 1班 學號 4110211140 姓名陳後亥 指導教師葉文通 日期 2013.12.30 2014.1.3 摘要 隨著時代的進步,越來越多的電子廠品趨向於低成本,高效能,耐用性好的方向發展。特別是趨向於自動化控制的方向走。89c51作為控制晶元是最好不過...

微控制器電子時鐘課程設計

鄭州華信學院 課程設計任務書 題目 簡單數字電子時鐘課程設計 專業 電氣工程及其自動化 姓名 王恆超 學號 1002120133 班級 10級電氣工程 1 班 完成期限 2013年01月05日 指導教師簽名 課程負責人簽名 2012年12月25日 課程設計報告撰寫格式 1 課程設計說明書用紙一律採用...

微機原理課程設計報告 時鐘設計

微機原理及組合語言 課程設計報告 內容提要 本課程設計報告重點闡述了課程設計的原理,過程實現,以及 闡述,流程圖表示以及在實驗中遇到的問題,實驗過程等等。本報告旨在總結微機課程設計中的收穫以及完成的過程。微機課程設計是我們本學期進行的難度最大且最具有實踐性的課程設計。對於我們剛剛學完微機理論基礎的同...