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

下載本文檔

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

文檔簡介

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

2、飛速的發(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)生活帶來了極大的方便,而且大擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉電路、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各

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

4、邏輯電路和時序電路。因此,此次設(shè)計與制作數(shù)字鐘就是為了了解數(shù)字鐘的原理,從而學(xué)會制作數(shù)字鐘.而且通過數(shù)字鐘的制作進(jìn)一步的了解各種在制作中用到的中小規(guī)模集成電路的作用與實(shí)用方法.且由于數(shù)字鐘包括組合邏輯電路和時敘電路.通過它可以進(jìn)一步學(xué)習(xí)與掌握各種組合邏輯電路與時序電路的原理與使用方法1.2 課程設(shè)計的容本次設(shè)計以數(shù)字電子為主,實(shí)現(xiàn)對時、分、秒、星期數(shù)字顯示的計時裝置,周期為243要采用中規(guī)模CMOS集成電路.本系統(tǒng)的設(shè)計電路由脈沖邏輯電路模塊、時鐘脈沖模塊、電源模塊、時鐘譯碼顯示電路模塊、整點(diǎn)報時模塊、校時模塊、星期模塊等幾部分組成。采用電池作電源,采用低功耗的CMOS芯片與液晶顯示器,發(fā)生器

5、使用晶體振蕩、計數(shù)振蕩器CD4060與雙JK觸發(fā)器CD4027,將標(biāo)準(zhǔn)秒信號送入“秒計數(shù)器”;計數(shù)器采用“可予制四位二進(jìn)制異步清除”計數(shù)器來實(shí)現(xiàn),分別組成兩個六十進(jìn)制(秒、分)、一個二十四進(jìn)制(時)的計數(shù)器;整電報時電路以門電路、觸發(fā)器與揚(yáng)聲器構(gòu)成,要求在離整點(diǎn)差5秒時,每1秒鐘鳴叫一次,共響5次,前四次為低音512Hz,最后一聲為高音1024Hz;星期計數(shù)器是用四個D觸發(fā)器組成;校時電路是由與非門構(gòu)成的雙穩(wěn)態(tài)觸發(fā)器,用來對“星期”、“時”、“分”、“秒”顯示數(shù)字進(jìn)行調(diào)整的;譯碼顯示電路選用BCD-7段鎖存譯碼驅(qū)動器CC4511構(gòu)成,再經(jīng)過設(shè)計一個電子鐘,具有時、分、秒顯示功能,在計時過程中具

6、有報時功能,同時能對時、分進(jìn)行校對,在使用74LS290輸入脈沖時能夠顯示一周的星期,具有一分鐘鬧鈴功能.實(shí)驗(yàn)儀器:74LS161(7片),74LS48(BCD_7段譯碼器), 74LS29(4片),門電路與單次按鍵,琴鍵開關(guān)2 VHDL的介紹1)VHDL語言        超高速集成電路硬件描述語(VHSIC Hardware Deseription Language,簡稱VHDL),是IEEE的一項(xiàng)標(biāo)準(zhǔn)設(shè)計語言。它源于美國國防部提出的超高速集成電路(Very High Speed Integrated Circ

7、uit,簡稱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年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡稱93版)?,F(xiàn)在,VHDL和Verilog作為IEE

8、E的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL于Verilog語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計任務(wù)。2.2.1 VHDL的用途與優(yōu)點(diǎn)VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計,或稱設(shè)計實(shí)體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,與端口)和部(或稱不可視部分),既涉與實(shí)體的部功能和算法完成部分。在對一個設(shè)計實(shí)體定義了外部界面后,一旦其部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實(shí)體。這種將設(shè)計實(shí)體分成外部分的概念是VHDL系統(tǒng)設(shè)計的基

9、本點(diǎn)。應(yīng)用VHDL進(jìn)行工程設(shè)計的優(yōu)點(diǎn)是多方面的。 (1)與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。 (2)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗(yàn)設(shè)計系統(tǒng)的功能可行性,隨時可對設(shè)計進(jìn)行仿真模擬。 (3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計的分解和已有設(shè)計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效、高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對于用VHDL完成的一個確定的設(shè)計,

10、可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。 (5)VHDL對設(shè)計的描述具有相對獨(dú)立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計。2)VHDL語言開發(fā)的流程 (1)文本編輯:用任何文本編輯器都可以進(jìn)行,也可以用專用的HDL編輯環(huán)境。通常VHDL文件保存為.vhd文件。 (2)功能仿真:將文件調(diào)入HDL仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正確(也叫前仿真,對簡單的設(shè)計可以跳過這一步,只在布線完成以后,進(jìn)行時序仿真)。 (3)邏輯綜合:將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,即把語言綜合成最簡的布爾表達(dá)式和信號的連接關(guān)系。邏

11、輯綜合軟件會生成.edf(edif)的EDA工業(yè)標(biāo)準(zhǔn)文件。 (4)布局布線:將.edf文件調(diào)入PLD廠家提供的軟件中進(jìn)行布線,即把設(shè)計好的邏輯安放到PLD/FPGA。 (5)編程下載:確認(rèn)仿真無誤后,將文件下載到芯片中。3數(shù)字電子時鐘的設(shè)計方案3.1設(shè)計規(guī)劃系統(tǒng)的工作原理:振蕩器產(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ù)字電子鐘的電路組

12、成方框圖硬件電路的設(shè)計: 如圖3.1所示,以74LS161作為控制部件。47LS161被接成十進(jìn)制計數(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。用74LS290做一個七進(jìn)制的加法計數(shù)器,將時的十位的進(jìn)位脈沖接到顯示星期的74LS290的輸入脈沖就可以了。硬件電路圖如下:74LS48時鐘基準(zhǔn)74LS290晶體振蕩器LED數(shù)碼管74LS161圖3.2 硬件電路圖軟件電路的設(shè)計:考慮到實(shí)用性,在該電子鐘

13、的設(shè)計中修改定時或調(diào)整時間時采用了閃爍。在編程上,首先進(jìn)行了初始化定義了程序的入口地址以與中斷的入口地址,在主程序的開始定義了一組固定單元用來存儲計數(shù)的秒,分,時等。在顯示程序段中主要進(jìn)行了閃爍的處理,采用定時器中斷置標(biāo)志位,再與位選相互結(jié)合的方法來控制調(diào)時或定時中的閃爍。時、分、秒的顯示則是用了軟件譯碼 (查表 )的方式,再用了一段固定的程序段進(jìn)行進(jìn)制轉(zhuǎn)化。初始化之后,用中斷方式對其計數(shù),計數(shù)的同時采用了定時器比較的方法,比較當(dāng)前計數(shù)時間與定時時間是否相等,若相等則將鬧鈴標(biāo)志位置數(shù)。為了避免響鈴影響顯示定時,選時或調(diào)時程序段。對當(dāng)前時間或定時時間修改后又返回到最初的顯示程序段,如此循環(huán)下去。

14、程序流程圖如圖所示。響鈴結(jié)束顯示初始化TF讀鍵有無鬧鐘?是否為調(diào)時、定時?開始TT定時FF調(diào)時TF調(diào)時?是否修改?圖3.3 程序流程圖3.2 各模塊原理與程序3. 2.1秒脈沖發(fā)生器秒脈沖發(fā)生器是數(shù)字鐘的重要部分,它的精度穩(wěn)定度決定了數(shù)字鐘的質(zhì)量,通常用晶體振蕩器發(fā)生的脈沖經(jīng)過整形、分頻獲得1Hz的秒脈沖。如晶振為32768Hz,通過15次二分頻后可獲得1Hz的脈沖輸出。(本實(shí)驗(yàn)中實(shí)驗(yàn)箱上已經(jīng)有1hz脈沖)。按鍵由琴鍵或撥碼開關(guān)發(fā)出脈沖或電平信號,控制整個系統(tǒng)工作。原理圖如下: 其程序代碼如下:ORG 0000H AJMP MAIN ORG 000BH AJMP TIME ORG 0

15、300H MAIN: mov 20h,#00h MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV IP,#02H ;IP,IE初始化 MOV IE,#82H MOV TMOD,#01H ;設(shè)定定時器工作方式? MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 ;啟動定時? MOV SP,#40H ;重設(shè)堆棧指針 NEXT: LCALL DISP ;調(diào)用顯示子程序? LCALL KEY ;調(diào)用按鍵檢測子程序 JZ NEXT ; LCALL ANKEY ;調(diào)用按鍵處理子程序 SJMP NEXT ;重新循環(huán) NOP NOP NOP 3.2.2

16、可調(diào)時鐘模塊有了時間標(biāo)準(zhǔn)“秒”信號后,就可以根據(jù)60秒為1分、60分為1小時、24小時為1天的計數(shù)周期,分別組成兩個六十進(jìn)制(秒、分)、一個二十四進(jìn)制(時)的計數(shù)器。將這些計數(shù)器適當(dāng)連接,就可以構(gòu)成秒、分、時的計數(shù),實(shí)現(xiàn)計時功能。其程序流程圖如下:174LS161構(gòu)成秒、分的六十進(jìn)制計數(shù)器 數(shù)字鐘的“秒”、“分”信號產(chǎn)生電路都是由六十進(jìn)制計數(shù)器構(gòu)成,“時”信號產(chǎn)生電路為二十四進(jìn)制計數(shù)器。它們都可以用兩個“可予制四位二進(jìn)制異步清除”計數(shù)器來實(shí)現(xiàn)。利用74LS161芯片的預(yù)置數(shù)功能,也可以構(gòu)成不同進(jìn)制的計數(shù)器。因?yàn)橐黄?4LS161含有一個四位二進(jìn)制異步清除計數(shù)器,因此需用兩片74LS161就可以

17、構(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ù),計數(shù)和保持功能,具有進(jìn)位輸出端,可以串接計數(shù)器使用。4位二進(jìn)制同步計數(shù)器74LS161引腳圖它的管腳排列如圖所示:圖  74LS161管腳排列圖a:計數(shù)功能:當(dāng) = =CTP=CTT=1,CP=CP時,實(shí)現(xiàn)計數(shù)功能。b:同步并行置數(shù)功能:當(dāng) =1時,預(yù)置控制端 =0,并且 CP=CP時,Q3Q2Q1Q0= P3P2P1P0,實(shí)

18、現(xiàn)同步預(yù)置數(shù)功能。c:保持功能:當(dāng) = =1且CTP·CTT=0時,輸出Q3Q2Q1Q0保持不變。d:異步清零功能:當(dāng)復(fù)位端 =0時,輸出Q3Q2Q1Q0全為零,實(shí)現(xiàn)異步清零功能(又稱復(fù)位功能)。秒個位計數(shù)器 74LS161被接成十進(jìn)制計數(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

19、、0011、0100、0101、0110、0111、1000、1001,當(dāng)輸出為1010也就是10時,QA、QC輸出都為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

20、、QC經(jīng)過一個與非門后一路先送往秒十位計數(shù)器的清零端,然后取反接或非門的另一個輸入端后送入秒個位計數(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 PSW MOV TL0,#0B4H ;賦定時初值 MOV TH0,#3CH INC 20H ; MOV A,20H CJNE A,#20,RETI1 MOV 20H,#00H ;一秒鐘時間到 MOV A,21H ADD

21、A,#01H DA A MOV 21H,A CJNE A,#60H,RETI1 MOV 21H,#00H ;一分鐘時間到 MOV A,22H ADD A,#01H DA A MOV 22H,A CJNE A,#60H,RETI1 MOV 22H,#00H ;一小時時間到 274LS161構(gòu)成二十四進(jìn)制計數(shù)器 二十四進(jìn)制計數(shù)器,也是用兩個74LS161集成塊來實(shí)現(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)制自然

22、序依次遞增1,當(dāng)計數(shù)到24,這時小時個位輸出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)成如圖所示:3.2.3鬧鈴功能:一分鐘整點(diǎn)報時功能。其電路圖如下:本實(shí)驗(yàn)

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

24、子程序 DISP: ANL 2FH,#10H ;處理小數(shù)點(diǎn) 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ù)點(diǎn) DB 7ah,20h,60h,00,00,00,00,00,00 DB 8H,5eH,82H,42H,54H,41H,1H,5

25、aH ;帶小數(shù)點(diǎn) 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 ACC.2,L1 ;是功能鍵轉(zhuǎn)L1 ACC.3,L2 ;是確認(rèn)鍵轉(zhuǎn)L2 ACC.4,L3 ;是減1鍵轉(zhuǎn)L3 JNB ACC.5,L12 ;不是增1鍵,轉(zhuǎn)L12 2BH.4,L6 ;判斷使哪一位(時、分、秒)的值加1 LCALL KEY ;判斷有無鍵按下。 L2: MOV 25H,#00H ;確認(rèn)鍵處理程序

26、 L3: 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)仿真該電子鐘對源程序進(jìn)行編譯,自動地把VHDL描述轉(zhuǎn)變成門級電路,進(jìn)而完成各種測試

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

溫馨提示

  • 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

提交評論