VHDL數(shù)字電子鐘的設(shè)計與實現(xiàn)_論文_第1頁
VHDL數(shù)字電子鐘的設(shè)計與實現(xiàn)_論文_第2頁
VHDL數(shù)字電子鐘的設(shè)計與實現(xiàn)_論文_第3頁
VHDL數(shù)字電子鐘的設(shè)計與實現(xiàn)_論文_第4頁
VHDL數(shù)字電子鐘的設(shè)計與實現(xiàn)_論文_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于 VHDL 數(shù)字電子鐘的設(shè)計與實現(xiàn)學(xué)生:范新鈞 080307039指導(dǎo)老師:唐飛VHDL 與 單片機的關(guān)系摘 要:本課程設(shè)計完成了數(shù)字電子鐘的設(shè)計,數(shù)字電子鐘是一種用數(shù)字顯示秒、分、時的計時裝置, 由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù), 它使數(shù)字鐘具有走時準(zhǔn)確、 性能穩(wěn)定、 攜帶方 便等優(yōu)點。 數(shù)字鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵? 廣泛用于個人家庭以及辦公室等公共場所, 給人們的生活帶來極大的方便。 在這里我們將已學(xué)過的比較零散的數(shù)字電路的知識有機的、 系統(tǒng)的聯(lián)系 起來用于實際,來培養(yǎng)我們的綜合分析和設(shè)計電路的能力。關(guān)鍵詞:電子鐘;門電路及單次按鍵;琴鍵開關(guān)一 . 引言

2、20紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力 地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高, 同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高, 產(chǎn)品更 新?lián)Q代的節(jié)奏也越來越快。時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間。忘記了要做的事情, 當(dāng)事情不是很重要的時候, 這種遺忘無傷大雅。 但是, 一旦重要事情, 一時的耽誤可能釀成大禍。 所以, 要制作一個定時系統(tǒng)。隨時提醒這些容易忘記時間的人。鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便, 而且大大地擴展了鐘表原先的報時功能。 諸如定 時自動報警、按時自動打鈴、時間程序自動控制、定時廣

3、播、定時啟閉電路、定時開關(guān)烘箱、通斷動力 設(shè)備,甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。通過數(shù)字電子鐘的設(shè)計,鞏固計算機組成原理課程, 理論聯(lián)系實際,提高分析、解決計算機技術(shù)的 實際問題的獨立工作能力;掌握用 VHDL 語言編制簡單的小型模塊,學(xué)會數(shù)字鐘的設(shè)計方法 , 熟悉集成 電路的使用方法 , 初步掌握電子鐘的設(shè)計方法并實現(xiàn)時間的顯示和校對,以及報時的功能,并能對數(shù)字 電子鐘進(jìn)行擴展。數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)時、 分、 秒計時的裝置, 與機械式時鐘相比具有更 高的準(zhǔn)確性和直觀性,且無機械裝置,具有更更長的使用

4、壽命,因此得到了廣泛的使用。數(shù)字鐘從原理上講是一種典型的數(shù)字電路, 其中包括了組合邏輯電路和時序電路。 因此, 此次設(shè)計 與制作數(shù)字鐘就是為了了解數(shù)字鐘的原理,從而學(xué)會制作數(shù)字鐘 . 而且通過數(shù)字鐘的制作進(jìn)一步的了解 各種在制作中用到的中小規(guī)模集成電路的作用及實用方法 . 且由于數(shù)字鐘包括組合邏輯電路和時敘電路 . 通過它可以進(jìn)一步學(xué)習(xí)與掌握各種組合邏輯電路與時序電路的原理與使用方法1.2 課程設(shè)計的內(nèi)容本次設(shè)計以數(shù)字電子為主, 實現(xiàn)對時、 分、 秒、 星期數(shù)字顯示的計時裝置 , 周期為 243要采用中規(guī)模 CMOS 集成電路 . 本系統(tǒng)的設(shè)計電路由脈沖邏輯電路模塊、時鐘脈沖模塊、電源模塊、時

5、鐘譯碼顯示電路模塊、 整點報時模塊、校時模塊、星期模塊等幾部分組成。采用電池作電源,采用低功耗的 CMOS 芯片及液 晶顯示器, 發(fā)生器使用晶體振蕩、 計數(shù)振蕩器 CD4060及雙 JK 觸發(fā)器 CD4027, 將標(biāo)準(zhǔn)秒信號送入 “秒 計數(shù)器” ;計數(shù)器采用“可予制四位二進(jìn)制異步清除”計數(shù)器來實現(xiàn),分別組成兩個六十進(jìn)制 (秒、分 、 一個二十四進(jìn)制 (時 的計數(shù)器; 整電報時電路以門電路、 觸發(fā)器及揚聲器構(gòu)成, 要求在離整點差 5秒時, 每 1秒鐘鳴叫一次,共響 5次,前四次為低音 512Hz ,最后一聲為高音 1024Hz ;星期計數(shù)器是用四個 D 觸發(fā)器組成;校時電路是由與非門構(gòu)成的雙穩(wěn)態(tài)

6、觸發(fā)器,用來對“星期” 、 “時” 、 “分” 、 “秒”顯示數(shù) 字進(jìn)行調(diào)整的;譯碼顯示電路選用 BCD-7段鎖存譯碼/驅(qū)動器 CC4511構(gòu)成,再經(jīng)過設(shè)計一個電子鐘, 具有時、分、秒顯示功能,在計時過程中具有報時功能,同時能對時、分進(jìn)行校對,在使用 74LS290輸入脈沖時能夠顯示一周的星期 , 具有一分鐘鬧鈴功能 .實驗儀器 : 74LS161(7片 ,74LS48(BCD_7段譯碼器 , 74LS29(4片 , 門電路及單次按鍵 , 琴鍵開關(guān)2. VHDL 的介紹1 VHDL 語言 超高速集成電路硬件描述語(VHSIC Hardware Deseription Language,簡稱 V

7、HDL , 是 IEEE 的一項標(biāo)準(zhǔn)設(shè)計語言。它源于美國國防部提出的超高速集成電路(Very High Speed Integrated Circuit ,簡稱 VHSIC 計劃,是 ASIC 設(shè)計和 PLD 設(shè)計的一種主要輸入工具。1987年底, VHDL 被 IEEE 和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。 自 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版本, IEEE-1076(簡稱 87版 之后,各 EDA 公司相繼推出了自己的 VHDL 設(shè)計環(huán)境,或宣布自己的設(shè)計工 具可以和 VHDL 接口。此后 VHDL 在電子設(shè)計領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的 硬件描述語言。 1993年

8、, IEEE 對 VHDL 進(jìn)行了修訂, 從更高的抽象層次和系統(tǒng)描述能力上擴展 VHDL 的內(nèi)容, 公布了新版本的 VHDL , 即 IEEE 標(biāo)準(zhǔn)的 1076-1993版本, (簡稱 93版 。 現(xiàn)在, VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多 EDA 公司的支持,在電子工程領(lǐng)域,已成為事實上 的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中, VHDL 于 Verilog 語言將承擔(dān)起大部分的數(shù)字系統(tǒng) 設(shè)計任務(wù)。VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。 VHDL 的程序結(jié)構(gòu)特點是將一項工程設(shè)計, 或稱設(shè)計實體(可以是一個元件,一個電路模塊

9、或一個系統(tǒng)分成外部(或稱可是部分,及端口 和內(nèi) 部 (或稱不可視部分 , 既涉及實體的內(nèi)部功能和算法完成部分。 在對一個設(shè)計實體定義了外部界面后, 一旦其內(nèi)部開發(fā)完成后, 其他的設(shè)計就可以直接調(diào)用這個實體。 這種將設(shè)計實體分成內(nèi)外部分的概念是 VHDL 系統(tǒng)設(shè)計的基本點。應(yīng)用 VHDL 進(jìn)行工程設(shè)計的優(yōu)點是多方面的。(1與其他的硬件描述語言相比, VHDL 具有更強的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計 領(lǐng)域最佳的硬件描述語言。 強大的行為描述能力是避開具體的器件結(jié)構(gòu), 從邏輯行為上描述和設(shè)計大規(guī) 模電子系統(tǒng)的重要保證。(2 VHDL 豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查

10、驗設(shè)計系統(tǒng)的功能可 行性,隨時可對設(shè)計進(jìn)行仿真模擬。(3 VHDL 語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計的分解和已有設(shè)計的再 利用功能。 符合市場需求的大規(guī)模系統(tǒng)高效、 高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能 實現(xiàn)。(4 對于用 VHDL 完成的一個確定的設(shè)計, 可以利用 EDA 工具進(jìn)行邏輯綜合和優(yōu)化, 并自動的把 VHDL 描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。(5 VHDL 對設(shè)計的描述具有相對獨立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計實 現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨立的設(shè)計。2VHDL 語言開發(fā)的流程(1文本編輯:用任何文本編輯器都可以進(jìn)行,也可以用專用的 H

11、DL 編輯環(huán)境。通常 VHDL 文 件保存為 .vhd 文件。(2功能仿真:將文件調(diào)入 HDL 仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正確(也叫前仿真, 對簡單的設(shè)計可以跳過這一步,只在布線完成以后,進(jìn)行時序仿真 。(3邏輯綜合:將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,即把語言綜合成最簡的布爾表達(dá)式和信號 的連接關(guān)系。邏輯綜合軟件會生成 .edf (edif 的 EDA 工業(yè)標(biāo)準(zhǔn)文件。(4布局布線:將 .edf 文件調(diào)入 PLD 廠家提供的軟件中進(jìn)行布線,即把設(shè)計好的邏輯安放到 PLD/FPGA內(nèi)。(5編程下載:確認(rèn)仿真無誤后,將文件下載到芯片中。3.數(shù)字電子時鐘的設(shè)計方案3.1設(shè)計規(guī)劃系統(tǒng)的工作原

12、理:振蕩器產(chǎn)生穩(wěn)定的分頻脈沖信號, 作為數(shù)字鐘的時間基準(zhǔn), 然后經(jīng)過分頻器輸出標(biāo)準(zhǔn) 秒脈沖。秒計數(shù)器滿 60分向分計數(shù)器進(jìn)位,分計數(shù)器滿 60后向小時計數(shù)器進(jìn)位,小時計數(shù)器按照 “ 24翻 1”規(guī)律計數(shù)。計數(shù)器的輸出分別由譯碼器送顯示器顯示。計時出現(xiàn)誤差時,可以用校時電路校時、 校分。數(shù)字電子鐘的電路組成方框圖片如下: 圖 3.1 數(shù)字電子鐘的電路組成方框圖硬件電路的設(shè)計:如圖 3.1所示,以 74LS161作為控制部件。 47LS161被接成十進(jìn)制計數(shù)器,其置數(shù)輸入端 A 、 B 、C 、 D (3腳 4腳 5腳 6腳接低電平, LD 、 EP 、 ET (9腳 10腳 7腳接高電平,秒脈沖

13、由 CP (2腳 端輸入。計數(shù)器的輸出端 QA 、 QB 、 QC 、 QD (14腳 13腳 12腳 11腳接譯碼電路 CD4511的輸入端D 、 C 、 B 、 A 。用 74LS290做一個七進(jìn)制的加法計數(shù)器,將時的十位的進(jìn)位脈沖接到顯示星期的 74LS290的輸入脈沖 就可以了。硬件電路圖如下 :圖 3.2 軟件電路的設(shè)計:考慮到實用性, 在該電子鐘的設(shè)計中修改定時或調(diào)整時間時采用了閃爍。 在編程上, 首先進(jìn)行了初始化 定義了程序的入口地址以及中斷的入口地址,在主程序的開始定義了一組固定單元用來存儲計數(shù)的秒, 分,時等。 在顯示程序段中主要進(jìn)行了閃爍的處理,采用定時器中斷置標(biāo)志位,再與

14、位選相互結(jié)合的方 法來控制調(diào)時或定時中的閃爍。時、分、秒的顯示則是用了軟件譯碼 (查表 的方式,再用了一段固定 的程序段進(jìn)行進(jìn)制轉(zhuǎn)化。 初始化之后,用中斷方式對其計數(shù), 計數(shù)的同時采用了定時器比較的方法, 比 較當(dāng)前計數(shù)時間與定時時間是否相等, 若相等則將鬧鈴標(biāo)志位置數(shù)。 為了避免響鈴影響顯示定時, 選時 或調(diào)時程序段。 對當(dāng)前時間或定時時間修改后又返回到最初的顯示程序段, 如此循環(huán)下去。 程序流程圖 如圖所示。圖 3.3 程序流程圖3.2 各模塊原理及程序3. 2.1秒脈沖發(fā)生器秒脈沖發(fā)生器是數(shù)字鐘的重要部分, 它的精度穩(wěn)定度決定了數(shù)字鐘的質(zhì)量, 通常用晶體振蕩器發(fā)生的脈 沖經(jīng)過整形、 分頻

15、獲得 1Hz 的秒脈沖。 如晶振為 32768Hz , 通過 15次二分頻后可獲得 1Hz 的脈沖輸出。 (本實驗中實驗箱上已經(jīng)有 1hz 脈沖 。按鍵由琴鍵或撥碼開關(guān)發(fā)出脈沖或電平信號,控制整個系統(tǒng)工 作。原理圖如下 : 其程序代碼如下 :ORG 0000HAJMP MAINORG 000BHAJMP TIMEORG 0300HMAIN:mov 20h,#00hMOV 21H,#00HMOV 22H,#00HMOV 23H,#00HMOV IP,#02H ;IP,IE初始化MOV IE,#82HMOV TMOD,#01H ;設(shè)定定時器工作方式 ?MOV TL0,#0B0HMOV TH0,#3

16、CHSETB TR0 ;啟動定時 ?MOV SP,#40H ;重設(shè)堆棧指針NEXT: LCALL DISP ;調(diào)用顯示子程序 ?LCALL KEY ;調(diào)用按鍵檢測子程序JZ NEXT ;LCALL ANKEY ;調(diào)用按鍵處理子程序SJMP NEXT ;重新循環(huán)NOPNOPNOP有了時間標(biāo)準(zhǔn)“秒”信號后,就可以根據(jù) 60秒為 1分、 60分為 1小時、 24小時為 1天的計數(shù)周期,分 別組成兩個六十進(jìn)制 (秒、分 、一個二十四進(jìn)制 (時 的計數(shù)器。將這些計數(shù)器適當(dāng)連接,就可以構(gòu)成秒、 分、時的計數(shù),實現(xiàn)計時功能。其程序流程圖如下 :1. 74LS161構(gòu)成秒、分的六十進(jìn)制計數(shù)器數(shù)字鐘的“秒” 、

17、 “分”信號產(chǎn)生電路都是由六十進(jìn)制計數(shù)器構(gòu)成, “時”信號產(chǎn)生電路為二十四進(jìn) 制計數(shù)器。它們都可以用兩個“可予制四位二進(jìn)制異步清除”計數(shù)器來實現(xiàn)。利用 74LS161芯片的預(yù) 置數(shù)功能,也可以構(gòu)成不同進(jìn)制的計數(shù)器。因為一片 74LS161內(nèi)含有一個四位二進(jìn)制異步清除計數(shù)器, 因此需用兩片 74LS161就可以構(gòu)成六十進(jìn)制計數(shù)器了。集成電路 74LS161芯片的電路其中(如圖 3 CP 為時鐘脈沖輸入端, P0、 P1、 P2、 P3為預(yù)置數(shù)輸入端, 為置數(shù)控制端, 為異步復(fù)位端,二者均為 低電平有效; Q0、 Q1、 Q2、 Q3為計數(shù)器的輸出端。該計數(shù)器能同步并行預(yù)置數(shù)據(jù),具有清零置數(shù), 計

18、數(shù)和保持功能, 具有進(jìn)位輸出端, 可以串接計數(shù)器使用。 4位二進(jìn)制同步計數(shù)器 74LS161引腳圖它的 管腳排列如圖所示: 圖 74LS161管腳排列圖a :計數(shù)功能:當(dāng) = =CTP=CTT=1, CP=CP時,實現(xiàn)計數(shù)功能。b :同步并行置數(shù)功能:當(dāng) =1時,預(yù)置控制端 =0,并且 CP=CP時, Q3Q2Q1Q0= P3P2P1P0,實現(xiàn)同步預(yù)置數(shù)功能。c :保持功能:當(dāng) = =1且 CTP·CTT=0時,輸出 Q3Q2Q1Q0保持不變。d :異步清零功能:當(dāng)復(fù)位端 =0時,輸出 Q3Q2Q1Q0全為零,實現(xiàn)異步清零功能(又稱復(fù)位功能 。秒個位計數(shù)器74LS161被接成十進(jìn)制計

19、數(shù)器,其置數(shù)輸入端 A 、 B 、 C 、 D (3腳 4腳 5腳 6腳接低電平, LD 、 EP 、 ET (9腳 10腳 7腳接高電平,秒脈沖由 CP (2腳端輸入。計數(shù)器的輸出端 QA 、 QB 、 QC 、 QD (14腳 13腳 12腳 11腳接譯碼電路 CD4511的輸入端 D 、 C 、 B 、 A 。當(dāng)秒脈沖輸入時,電路狀態(tài) 按二進(jìn)制自然序列依次遞增 1, QA 、 QB 、 QC 、 QD 輸出為 0000、 0001、 0010、 0011、 0100、 0101、 0110、 0111、 1000、 1001,當(dāng)輸出為 1010也就是 10時, QA 、 QC 輸出都為

20、1,經(jīng)過一個與非門后一路經(jīng)反相 后送入或非門的一個輸入端, 輸出送往計數(shù)器的清零端 RD 使秒計數(shù)器清零, 另一路經(jīng)反相后作為進(jìn)位 脈沖送入秒十位計數(shù)器的脈沖輸入端。秒十位計數(shù)器在這里 74LS161被接成六進(jìn)制計數(shù)器,接法與秒個位計數(shù)器相同,秒個位計數(shù)器送來的進(jìn)位脈沖 送入秒使位計數(shù)器的脈沖輸入端, 使其按二進(jìn)制自然序依次遞增 1, QA 、 QB 、 QC 、 QD 端輸出為 0000、 0001、 0010、 0011、 0100、 0101,當(dāng)輸出為 0110也就是 6時, QB 、 QC 輸出為 1, QA 、 QD 輸出為 0, QB 、 QC 經(jīng)過一個與非門后一路先送往秒十位計數(shù)

21、器的清零端, 然后取反接或非門的另一個輸入端后送 入秒個位計數(shù)器的清零端, 將整個秒計數(shù)器清零, 另一路經(jīng)反相后作為進(jìn)位脈沖送入分個位計數(shù)器的脈 沖輸入端。分計數(shù)器的連接方法與秒計數(shù)器相同, 分計數(shù)器向時計數(shù)器送進(jìn)位脈沖。 秒、 分的六十進(jìn)制計數(shù)器的構(gòu)成如圖所示:其程序代碼如下 :; 定時中斷處理程序:TIME: PUSH ACC ;保護(hù)現(xiàn)場PUSH PSWMOV TL0,#0B4H ;賦定時初值MOV TH0,#3CHINC 20H ;MOV A,20HCJNE A,#20,RETI1MOV 20H,#00H ;一秒鐘時間到MOV A,21HADD A,#01HDA AMOV 21H,ACJ

22、NE A,#60H,RETI1MOV 21H,#00H ;一分鐘時間到MOV A,22HADD A,#01HDA AMOV 22H,ACJNE A,#60H,RETI1MOV 22H,#00H ;一小時時間到2. 74LS161構(gòu)成二十四進(jìn)制計數(shù)器二十四進(jìn)制計數(shù)器,也是用兩個 74LS161集成塊來實現(xiàn)的,方法與二十四進(jìn)制計數(shù)器大同小異,但 其要求個位是十進(jìn)制, 狀態(tài)變化在 00001001間循環(huán), 十位是二進(jìn)制, 狀態(tài)變化在 00000010間循環(huán), 顯示為 023時。原理:由分計數(shù)器送來的進(jìn)位脈沖送入時個位計數(shù)器,電路在分進(jìn)位脈沖的作用下按二進(jìn)制自然序依次遞增 1,當(dāng)計數(shù)到 24,這時小時

23、個位輸出 0100(也就是 4 ,小時十位輸出 0010(也就是 2 ,小時十位計數(shù) 器只有 QC 端有輸出,小時個位計數(shù)器只有 QB 端有輸出,將 QC 、 QB 端接一個二輸入與非門,與非 門輸出一路先送入十位計數(shù)器的清零端然后取反送入或非門的另一個輸入端, 輸出接小時個位計數(shù)器的 清零端,其每 10小時清零并向小時十位計數(shù)器送進(jìn)位脈沖,當(dāng)十位輸出為二,小時個位輸出為四時, 將整個電路清零,另一路取反后作為星期進(jìn)位脈沖送入星期顯示電路的脈沖輸入端,完成 24小時的顯 示及向星期電路送星期進(jìn)位脈沖的功能。二十四進(jìn)制計數(shù)器的構(gòu)成如圖所示: 其電路圖如下:本實驗使用 LED 發(fā)光。 74LS48

24、的內(nèi)部邏輯入圖所示 為顯示星期, 本實驗只用到前面的七中狀態(tài), 只要滿足 , 則可以正顯示從星期一到星期日。 用 74LS290做一 個七進(jìn)制的加法計數(shù)器,將時的十位的進(jìn)位脈沖接到顯示星期的 74LS290的輸入脈沖就可以了。 電路圖如下 :數(shù)字鐘總電框圖如下圖所示: 實驗內(nèi)容及步驟: 根據(jù)實驗原理,將所需要的各部分做好,在將起接在一起就得到了所需的電路圖。 10 其程序代碼如下: MOV A,23H CJNE A,#24H,RETI1 MOV 23H,#00H ;到時間達(dá)到 24 小時,清零. RETI1: POP PSW ;恢復(fù)現(xiàn)場 RETI ;中斷返回? NOP ;顯示子程序 DISP:

25、 ANL 2FH,#10H ;處理小數(shù)點 MOV A,21H ;處理秒 21H->2DH,2EH MOV A,22H ;處理分鐘 22H->2CH,2DH MOV A,23H ;處理小時 23H->2AH,2BH MOV R0,#2FH ;顯示偏移量 MOV P0,a ;送顯示 MOV R2,#80H ;延時 DJNZ R3,LOOP1 ;循環(huán)顯示 TABLE: db 28h,7eh,0a2h,62h,74h,61h,21h ;不帶小數(shù)點 DB 7ah,20h,60h,00,00,00,00,00,00 DB 8H,5eH,82H,42H,54H,41H,1H,5aH ;帶小

26、數(shù)點 DB 00H,40H,00,00,00,00,00,00 ;按鍵判斷程序 JZ RETX ;無鍵按下則返回 JZ RETX ;鍵盤去抖動。 MOV R6,A ;將鍵值存入 R6。 JNZ LOOP2 ;等待鍵釋放 ANKEY: CLR EA ;關(guān)中斷 LX: MOV A,R6 11 JB ACC.2,L1 ;是功能鍵轉(zhuǎn) L1 JB ACC.3,L2 ;是確認(rèn)鍵轉(zhuǎn) L2 JB ACC.4,L3 ;是減 1 鍵轉(zhuǎn) L3 JNB ACC.5,L12 ;不是增 1 鍵,轉(zhuǎn) L12 JB 2BH.4,L6 ;判斷使哪一位(時、分、秒)的值加 1 LCALL KEY ;判斷有無鍵按下。 L2: MO

27、V 25H,#00H ;確認(rèn)鍵處理程序 L3: JB 2BH.4,L61 ;增一鍵處理程序 L1: MOV A,25H ;功能鍵處理程序 LB1: MOV 25H,#01H ;25H 單元是標(biāo)志位, (25H)=01H 調(diào)節(jié)時單元的值 LB3: MOV 25H,#04H ;25H 單元是標(biāo)志位, (25H)=01H 調(diào)節(jié)秒單元的值 LB2: MOV 25H,#02H ;25H 單元是標(biāo)志位, (25H)=01H 調(diào)節(jié)分單元的值 L6: MOV A,23H ;時加一 L8:MOV A,22H ;分加一 L9: MOV A,21H ;秒加一 ADD A,#01H DA A 四系統(tǒng)仿真 該電子鐘對源

28、程序進(jìn)行編譯,自動地把 VHDL 描述轉(zhuǎn)變成門級電路,進(jìn)而完成各種測試工作。軟件平 臺自動對設(shè)計結(jié)果進(jìn)行編譯,檢查連接,給出錯誤報告并進(jìn)行邏輯綜合,同時將產(chǎn)生編程文件和用于時 序仿真用的輸出文件,最后給出實現(xiàn)此項目最適合的器件。經(jīng)過編譯, EDA 軟件平臺報告電路連接沒 有錯誤。 4.1 系統(tǒng)仿真圖 圖 4.1 頂層設(shè)計仿真圖 由圖可知,當(dāng)遇到上升沿時發(fā)一個信號,在高電位時有效,而在低電位時無效。在遇到上升沿時計數(shù)器 進(jìn)位加一,當(dāng)計數(shù)器不為零時不發(fā)信號,只有當(dāng)計數(shù)器為零時才發(fā)一個信號。單片機時間基準(zhǔn)振蕩電路 中振蕩晶體頻率的選擇必須要和程序中的時間基準(zhǔn)相一致,也就是說要采用振蕩頻率為 12M 的振蕩晶 體,否則若采用了 11.59M 的振蕩晶體就會使得單個振蕩周期變長,故而使單個時間間隔變長,最終會 導(dǎo)致實際上的電子鐘走時變“慢” 。 由于單片機處理數(shù)據(jù)過程中要響應(yīng)中斷等原因, 而中斷服務(wù)程序所花費的時間必須在中斷返回后在計時 單元中扣除掉,否則實際上制作出來的電子鐘會變“慢” 。在本次程序設(shè)計中將中斷服務(wù)程序所花費的 時間直接從定時間隔 (50ms 中扣除,也就是說將定時間隔設(shè)置得比 50ms 小一些,必須不斷地通過軟 件調(diào)試該時間間隔,這樣才能使得電子鐘的走時誤差達(dá)到最小。在調(diào)試每個數(shù)碼管的發(fā)光時間時,必須 12 反復(fù)修改程序中的給定的時間,直到整體上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論