版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子技術(shù)課程設(shè)計(jì)報(bào)告eda技術(shù)課程實(shí)驗(yàn)報(bào)告課程名稱:eda技術(shù)及應(yīng)用報(bào)告題目:交通燈控制器設(shè)計(jì)學(xué) 部:信息科學(xué)與工程姓 名:陳外流學(xué) 號(hào):104328318117050班 級(jí):電信1002同 組 者:周際遠(yuǎn)指導(dǎo)教師:曹鐵軍信息科學(xué)與工程學(xué)院2012-2013學(xué)年第二學(xué)期1課程設(shè)計(jì)任務(wù)書(shū)報(bào)告題目交通燈控制器的設(shè)計(jì)完成時(shí)間6.19學(xué)生姓名陳外流專業(yè)班級(jí)電信 1002班指導(dǎo)教師曹鐵軍職稱教授總體設(shè)計(jì)要求和技術(shù)要點(diǎn)1.任務(wù)及要求(1) 設(shè)計(jì)一個(gè)交通信號(hào)燈控制器,由一條主干道和一條支干道匯合成十字路口,在每個(gè)入口處設(shè)置紅、綠、黃三色信號(hào)燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時(shí)間停在
2、禁行線外。(2) 紅、綠、黃發(fā)光二極管作信號(hào)燈,用傳感器或邏輯開(kāi)關(guān)作檢測(cè)車輛是否到來(lái)的信號(hào)。(3) 主干道處于常允許通行的狀態(tài),支干道有車來(lái)時(shí)才允許通行。主干道亮綠燈時(shí),支干道亮紅燈;支干道亮綠燈時(shí),主干道亮紅燈。(4) 主、支干道均有車時(shí),兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,設(shè)立45秒、25秒計(jì)時(shí)、顯示電路。(5) 在每次由綠燈亮到紅燈亮的轉(zhuǎn)換過(guò)程中,要亮5秒黃燈作為過(guò)渡,使行駛中的車輛有時(shí)間停到禁行線外,設(shè)立5秒計(jì)時(shí)、顯示電路。(6) 按湖南涉外經(jīng)濟(jì)學(xué)院課程設(shè)計(jì)管理辦法要求提交課程設(shè)計(jì)報(bào)告。工作內(nèi)容及時(shí)間進(jìn)度安排第17周:周1-周2 :立題、論證方案設(shè)計(jì)周3-周5
3、 :程序設(shè)計(jì)與調(diào)試第18周:周1-周3 :硬件調(diào)試與測(cè)試、撰寫課程設(shè)計(jì)報(bào)告周4-周5 :驗(yàn)收答辯課程設(shè)計(jì)成果1與設(shè)計(jì)內(nèi)容對(duì)應(yīng)的軟件程序2課程設(shè)計(jì)總結(jié)報(bào)告摘要本實(shí)驗(yàn)為自主選題設(shè)計(jì)實(shí)驗(yàn),實(shí)驗(yàn)選擇具有倒計(jì)時(shí)顯示功能的紅黃綠三色交通設(shè)計(jì),實(shí)驗(yàn)中采用vhdl 作為設(shè)計(jì)功能描述語(yǔ)言,選用altera公司的ep1k30144-pin tqfp最為主控芯片,實(shí)驗(yàn)報(bào)告中簡(jiǎn)要介紹了fpga器件,并給出了設(shè)計(jì)原理圖,詳細(xì)的介紹了交通燈的設(shè)計(jì)流程,實(shí)驗(yàn)報(bào)告中還附有實(shí)驗(yàn)代碼實(shí)驗(yàn)結(jié)果照片圖。 abstract this experiment designed for independent choice experime
4、nt, experiment choice which has the function of the countdown display red yellow green traffic design, description language (vhdl as design function is applied in the experiments, the most main control chip select max ii epm240t100c5 altera company, experiment report, this paper briefly introduces t
5、he max ii device series, and gives the design diagram, detailed introduces the traffic lights of the design process, the experiment report with the code results photo graph.目錄一、概述.1 1.1課程設(shè)計(jì)背景.1 1.2課程設(shè)計(jì)題目.1 1.3課題功能補(bǔ)充 .1二、系統(tǒng)設(shè)計(jì)與論證 .22.1系統(tǒng)設(shè)計(jì)思路.2 2.2系統(tǒng)框架設(shè)計(jì).3 2.3輸入輸出設(shè)計(jì).4 2.4模塊設(shè)計(jì)過(guò)程.4 2.4.1狀態(tài)轉(zhuǎn)換模塊.4 2.4.2數(shù)碼管
6、顯示模塊.5 2.5模塊描述.5 2.5.1主控制模塊.5 2.5.2 45s時(shí)間倒計(jì)時(shí)模塊.6 2.5.3 25s時(shí)間倒計(jì)時(shí)模塊.6 2.5.4 5s時(shí)間倒計(jì)時(shí)模塊.7 2.5.5 數(shù)據(jù)選擇模塊.7 2.6整體電路圖.83、 系統(tǒng)仿真.9四、心得體會(huì).9五、附錄.10 5.1主控制模塊源程序.10 5.2 45s模塊源程序.12 5.3 25s模塊源程序.13 5.4 5s模塊源程序.14 5.5 數(shù)據(jù)選擇模塊源程序.16六、參考文獻(xiàn).16七、老師評(píng)語(yǔ)及成績(jī).171、 概述1.1課程設(shè)計(jì)背景經(jīng)過(guò)兩個(gè)學(xué)期的電子線路設(shè)計(jì)測(cè)試實(shí)驗(yàn),我們從基礎(chǔ)的模電、數(shù)電典型電路的設(shè)計(jì)和實(shí)現(xiàn)做起,從pspice和m
7、ax的設(shè)計(jì)與仿真,到面包板搭建電路的實(shí)踐與測(cè)試,在不斷的學(xué)習(xí)和積累中,了解了電子技術(shù)設(shè)計(jì)的基本過(guò)程和基礎(chǔ)知識(shí)。在本學(xué)期,我們迎來(lái)了電子技術(shù)課程設(shè)計(jì),這是一次將理論付諸實(shí)踐的寶貴機(jī)會(huì),是提升我們運(yùn)用電子技術(shù)設(shè)計(jì)手段實(shí)現(xiàn)實(shí)際問(wèn)題的能力的良好機(jī)遇。在選題階段,我躊躇滿志的和另一個(gè)同學(xué)選擇了sd卡音樂(lè)播放器這個(gè)選做題,但是由于沒(méi)有足夠地去深入了解相關(guān)的技術(shù)問(wèn)題,致使在開(kāi)題時(shí)沒(méi)有通過(guò)曾老師的驗(yàn)收,只能十分遺憾的選擇了基礎(chǔ)題,改做交通燈控制器了。雖然有些遺憾,因?yàn)楫?dāng)初覺(jué)得自己有能力完成那樣一個(gè)選做題,但是這也給了我一個(gè)深刻的教訓(xùn),在機(jī)遇和挑戰(zhàn)面前,再有信心也要做好充足的準(zhǔn)備來(lái)證明你的實(shí)力。另一方面給我的啟
8、示就是,盡管一個(gè)相同的題目前人做了很多工作,給我們提供了一個(gè)很好的平臺(tái),但是如果我們只是去讀懂和使用它們,僅限在這樣一個(gè)層次是遠(yuǎn)遠(yuǎn)不夠了,要學(xué)會(huì)從前人的研究成果中尋找新的突破點(diǎn),利用自己已掌握的知識(shí)或者所具備的能力,在原有的基礎(chǔ)上實(shí)現(xiàn)更加豐富的功能,這才應(yīng)該是我們做課程設(shè)計(jì)的最終目的。僅僅看懂別人的設(shè)計(jì)思路和代碼并不是能力的體現(xiàn),而真正鍛煉我們能力的是在充分掌握前人設(shè)計(jì)手段的基礎(chǔ)上,融會(huì)貫通地使原有的設(shè)計(jì)更加結(jié)合實(shí)際,更加完善。1.2課程設(shè)計(jì)題目設(shè)計(jì)一個(gè)十字路口交通信號(hào)燈的控制電路。要求紅、綠燈按照一定的要求亮和滅,并在亮燈期間進(jìn)行倒計(jì)時(shí),且將運(yùn)行時(shí)間用數(shù)碼管顯示出來(lái)。要求主干道每次通行時(shí)間為
9、45秒,支干道每次通行時(shí)間為25秒。每次變換運(yùn)行車道前綠燈閃爍,持續(xù)時(shí)間為5秒。即車道要由45轉(zhuǎn)換為25時(shí),主干道在通行時(shí)間只剩下5秒鐘時(shí),綠燈閃爍顯示,支干道仍為紅燈??梢詫?duì)主、支方向上的交通燈運(yùn)行時(shí)間進(jìn)行重新設(shè)置。1.3課題功能補(bǔ)充在原有題目功能要求的基礎(chǔ)上,我對(duì)交通燈控制器的功能在設(shè)計(jì)方面進(jìn)行了補(bǔ)充,主要體現(xiàn)在:(1) 增加主、支干道左轉(zhuǎn)紅綠信號(hào)燈;(2) 增加主、支干道左轉(zhuǎn)運(yùn)行時(shí)間倒計(jì)時(shí),并用數(shù)碼管顯示;(3) 增加led同步顯示當(dāng)前運(yùn)行狀態(tài)功能,即用led顯示信號(hào)燈狀態(tài);功能增加了,可以說(shuō)任務(wù)量也增加了不少。就最為關(guān)鍵的時(shí)間設(shè)置和顯示方面,由于增加了兩個(gè)左轉(zhuǎn)方向的運(yùn)行時(shí)間,雖然只是增
10、加了兩個(gè)狀態(tài),但是同時(shí)顯示四個(gè)方向的等待和通行的倒計(jì)時(shí),確實(shí)在開(kāi)始設(shè)計(jì)時(shí),我有些茫然,覺(jué)得無(wú)從下手。我花了很長(zhǎng)時(shí)間在網(wǎng)上查閱實(shí)際中的交通燈到底是如何計(jì)時(shí)和運(yùn)行的,也到學(xué)校周圍的路口實(shí)地調(diào)查過(guò)幾種十字路口交通燈的設(shè)置,慢慢的從實(shí)際設(shè)置需求中理清頭緒,具體的設(shè)計(jì)思路將在后面的部分詳細(xì)說(shuō)明。二、系統(tǒng)設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)思路前面講到,基于狀態(tài)機(jī)的方法可以輕松實(shí)現(xiàn)交通燈的控制,而狀態(tài)轉(zhuǎn)換利用verilog中的case和循環(huán)語(yǔ)句很容易實(shí)現(xiàn)。我將四種狀態(tài)的轉(zhuǎn)換順序設(shè)置為:主直主左次直次左主直(依次循環(huán)),每個(gè)狀態(tài)在設(shè)置時(shí)間的基礎(chǔ)上由倒計(jì)時(shí)進(jìn)行狀態(tài)的變換。以上都是比較容易實(shí)現(xiàn)的,也是很多經(jīng)典的例子上有講解過(guò)的,
11、下面我著重說(shuō)明下如何實(shí)現(xiàn)四個(gè)方向同時(shí)進(jìn)行等待和通行的倒計(jì)時(shí)。用四組數(shù)碼管來(lái)顯示主、次干道直行和左轉(zhuǎn)倒計(jì)時(shí),首先需要了解這四組數(shù)碼管顯示的規(guī)律,也就是顯示計(jì)數(shù)的規(guī)律。在網(wǎng)上查閱資料的時(shí)候,通過(guò)觀看一段視頻,我茅塞頓開(kāi)。這個(gè)視頻展示的是基于51單片機(jī)實(shí)現(xiàn)的交通燈控制器的實(shí)物功能演示,它也是利用了四組數(shù)碼管分別顯示四個(gè)方向的倒計(jì)時(shí)。通過(guò)反復(fù)觀看我發(fā)現(xiàn),其實(shí)在四個(gè)方向中,一個(gè)是通行倒計(jì)時(shí),另外三個(gè)是等待倒計(jì)時(shí),而等待倒計(jì)時(shí)又是它之前狀態(tài)通行時(shí)間之和,在顯示的效果上就是總會(huì)有兩組倒計(jì)時(shí)數(shù)值是相同的,即相鄰狀態(tài)的那兩個(gè)是相同的,一個(gè)是正在通行,一個(gè)是等待上一狀態(tài)通行的結(jié)束。這之后的兩個(gè)狀態(tài)顯示的倒計(jì)時(shí)是累
12、加上之前未通行狀態(tài)的設(shè)置時(shí)間和正在通行狀態(tài)的剩余時(shí)間之和。如圖所示:圖1 狀態(tài)轉(zhuǎn)換圖圖2 倒計(jì)時(shí)顯示方式(以主干道正在通行為例)2.2系統(tǒng)框架設(shè)計(jì)通過(guò)以上分析,可以較為清晰地看出在系統(tǒng)設(shè)計(jì)狀態(tài)轉(zhuǎn)換和一些實(shí)現(xiàn)方式的設(shè)計(jì)思路,下面說(shuō)明系統(tǒng)的框架整體設(shè)計(jì)思路。整體框架思路為:首先將教學(xué)實(shí)驗(yàn)箱提供的50mhz時(shí)鐘信號(hào)分頻,轉(zhuǎn)換為可利用的1hz cp信號(hào),同時(shí)為了實(shí)現(xiàn)綠燈在1s內(nèi)閃爍一次,再轉(zhuǎn)換出一個(gè)2hz的cp信號(hào)提供給需要閃爍的綠燈。然后是設(shè)置時(shí)間的功能模塊,通過(guò)開(kāi)關(guān)可以分別設(shè)置四個(gè)方向的運(yùn)行時(shí)間,并將設(shè)置的時(shí)間傳送到狀態(tài)轉(zhuǎn)換模塊中。在狀態(tài)轉(zhuǎn)換功能模塊中,通過(guò)前面?zhèn)魉蛠?lái)的設(shè)定通行時(shí)間進(jìn)行倒計(jì)時(shí)和轉(zhuǎn)換
13、狀態(tài),并輸出當(dāng)前方向通行剩余時(shí)間和四向使能en信號(hào)。在時(shí)間顯示功能模塊中,接收到前面的設(shè)置時(shí)間、剩余時(shí)間、使能信號(hào),運(yùn)用前面說(shuō)明的現(xiàn)實(shí)方式的邏輯,計(jì)算出等待時(shí)間,在該向通行時(shí)顯示剩余時(shí)間,在該向等待時(shí)顯示等待時(shí)間,最終將時(shí)間信號(hào)輸出到數(shù)碼管顯示模塊;另外,由于數(shù)碼管數(shù)量的限制,只能一次性顯示8個(gè)(即四組),那么究竟是顯示倒計(jì)時(shí)還是顯示設(shè)置時(shí)間就需要一個(gè)開(kāi)關(guān)信號(hào)來(lái)區(qū)分,于是設(shè)置一個(gè)輸入信號(hào)來(lái)判別是否進(jìn)入設(shè)置模式,并且只能在設(shè)置模式下設(shè)置時(shí)間。led信號(hào)燈顯示功能模塊則將狀態(tài)轉(zhuǎn)換模塊輸出的en使能信號(hào)和2hz的cp信號(hào)以及當(dāng)前剩余時(shí)間作為輸入,根據(jù)狀態(tài)點(diǎn)亮相應(yīng)的led信號(hào)燈。led顯示功能模塊的原
14、理和led信號(hào)燈顯示模塊類似,也是根據(jù)同步狀態(tài)en使能信號(hào),通過(guò)刷新字符的方式,改變和顯示當(dāng)前通行狀態(tài)。最后,數(shù)碼管顯示功能模塊是結(jié)合de2教學(xué)開(kāi)發(fā)板數(shù)碼管的編碼規(guī)則將bcd碼轉(zhuǎn)換為七段碼,在譯碼后顯示出來(lái)。圖3 系統(tǒng)框圖上圖所示的系統(tǒng)框圖只是大致說(shuō)明系統(tǒng)的框架和流程,沒(méi)有具體到每個(gè)模塊的輸入和輸出,在前面的文字描述中有所說(shuō)明,更加詳細(xì)的設(shè)計(jì)說(shuō)明將在后面模塊功能說(shuō)明的詳細(xì)介紹。2.3輸入輸出設(shè)計(jì)根據(jù)功能需要,輸入設(shè)計(jì)采用兩個(gè)按鍵,模擬主干道、支干道有車過(guò)來(lái)。時(shí)鐘信號(hào)輸入為1mhz的時(shí)鐘頻率振蕩器。輸入設(shè)計(jì)采用4個(gè)數(shù)碼管用于顯示倒計(jì)時(shí),8個(gè)led燈作為交通信號(hào)。2.4模塊設(shè)計(jì)過(guò)程2.4.1狀態(tài)轉(zhuǎn)
15、換模塊該模塊是控制器的核心部分,但是原理其實(shí)很簡(jiǎn)單,只是輸入輸出量很多,獲取的信息多,處理后輸出的信息也多。前文已說(shuō)明了狀態(tài)轉(zhuǎn)換的思想是該控制器實(shí)現(xiàn)的主要思路,那么如何處理好這么多輸入輸出的關(guān)系就成為了重點(diǎn)需要解決的問(wèn)題了。輸入部分的關(guān)鍵是四向設(shè)定通行時(shí)間的傳入,這可以從時(shí)間設(shè)置模塊的輸出獲取。這四個(gè)設(shè)定時(shí)間傳入的時(shí)間需要選擇好,即選擇恰當(dāng)?shù)臅r(shí)機(jī)讀取新的設(shè)置通行時(shí)間,因?yàn)樵O(shè)置時(shí)間的操作可能發(fā)生在任何運(yùn)行時(shí)間,如果不能選擇很好的時(shí)機(jī)來(lái)讀入新的設(shè)置通行時(shí)間,可能造成邏輯上的混亂,致使?fàn)顟B(tài)不能按照正常的順序進(jìn)行轉(zhuǎn)移,也給實(shí)際的交通信號(hào)控制造成了一定的影響。在這里,我選取了在每個(gè)狀態(tài)運(yùn)行結(jié)束的同時(shí)來(lái)讀
16、取新的設(shè)置通行時(shí)間,這樣在任意狀態(tài)時(shí)刻設(shè)置時(shí)間,將會(huì)在下一個(gè)狀態(tài)到來(lái)時(shí)切換到新的通行時(shí)間上去運(yùn)行,一方面不會(huì)使設(shè)置的效果延時(shí)太長(zhǎng),另一方面也不會(huì)出現(xiàn)如果恰巧在該方向上設(shè)置時(shí)間,那么該方向可能一直顯示通行而不能正常轉(zhuǎn)換狀態(tài)的邏輯錯(cuò)誤。輸出部分的關(guān)鍵是四個(gè)方向的en使能信號(hào)和通行倒計(jì)時(shí)時(shí)間。根據(jù)所在的狀態(tài),可以對(duì)四個(gè)方向的en使能信號(hào)進(jìn)行賦值輸出,用于控制信號(hào)燈顯示和led同步狀態(tài)顯示等。通行時(shí)間倒計(jì)時(shí)是為了數(shù)碼管能夠顯示出通行剩余時(shí)間和等待通行時(shí)間,這個(gè)顯示的方式在前文也有描述,這里不再贅述。通行剩余時(shí)間就是狀態(tài)轉(zhuǎn)換過(guò)程所依據(jù)的倒計(jì)時(shí)時(shí)間,在狀態(tài)轉(zhuǎn)換中需要根據(jù)各向通行時(shí)間在每個(gè)通行狀態(tài)進(jìn)行減計(jì)數(shù)
17、倒計(jì)時(shí),當(dāng)計(jì)數(shù)到01時(shí)切換狀態(tài),而這個(gè)倒計(jì)時(shí)的時(shí)間正好是該方向通行的剩余時(shí)間,輸出后經(jīng)過(guò)顯示方式的邏輯處理,就可以變成其它禁止方向的等待通行時(shí)間了。2.4.2數(shù)碼管顯示模塊該功能模塊同樣建立在de2底層函數(shù)調(diào)用基礎(chǔ)上,實(shí)現(xiàn)4個(gè)數(shù)碼管的時(shí)間顯示。根據(jù)de2教學(xué)開(kāi)發(fā)板上數(shù)碼管的七段編碼規(guī)則,將輸入時(shí)間的8位bcd碼轉(zhuǎn)換為七段碼顯示出來(lái),我根據(jù)實(shí)際需要修改了底層函數(shù),使得調(diào)用更加方便和集成化。根據(jù)數(shù)碼管七段的位置進(jìn)行編碼,每個(gè)段位的管子仍然是共陽(yáng)極的,所以高電平實(shí)現(xiàn)熄滅管子,低電平實(shí)現(xiàn)點(diǎn)亮管子。小數(shù)點(diǎn)在物理上沒(méi)有連接,所以無(wú)法使用。圖4 七段數(shù)碼管的原理圖和每段的標(biāo)識(shí)位置該功能在實(shí)現(xiàn)上,只要有輸入就
18、會(huì)有相應(yīng)的輸出,所以原理上比較簡(jiǎn)單,只要編碼正確不會(huì)出現(xiàn)問(wèn)題,所以不再贅述。2.5模塊描述2.5.1主控制模塊說(shuō)明:下面每個(gè)模塊的源程序都在附錄中圖5 主控制模塊原理圖inputclk /時(shí)鐘,復(fù)位信號(hào)輸入inputsm、sb /sm為主干道模擬檢測(cè)開(kāi)關(guān),sb為支干道模擬檢測(cè)開(kāi)關(guān)outputmr、my、mg /主干道的紅、黃、綠led燈顯示引腳output br、by、bg /支干道紅、黃、綠led燈顯示引腳模塊源程序:2.5.2 45s時(shí)間倒計(jì)時(shí)模塊圖6 45s時(shí)間倒計(jì)時(shí)原理圖inputen45/45s模塊使能信號(hào)inputsb /支干道使能信號(hào)inputclk/模塊時(shí)鐘源output do
19、ut45m7.0 /主干道倒計(jì)時(shí)時(shí)間輸出output dount45b7.0 /支干道倒計(jì)時(shí)時(shí)間輸出2.5.3 25s時(shí)間倒計(jì)時(shí)模塊圖7 25s時(shí)間倒計(jì)時(shí)inputen25 /25s模塊使能信號(hào)inputsb /支干道使能信號(hào)input sm /主干道使能信號(hào)inputclk /模塊時(shí)鐘源output dout25m7.0 /主干道倒計(jì)時(shí)時(shí)間輸出output dount25b7.0 /支干道倒計(jì)時(shí)時(shí)間輸出2.5.4 5s時(shí)間倒計(jì)時(shí)模塊圖8 5s時(shí)間倒計(jì)時(shí)原理圖inputen05b /支干道使能信號(hào)input en05m /主干道使能信號(hào)inputclk /模塊時(shí)鐘源output dout57.
20、0 /倒計(jì)時(shí)時(shí)間輸出2.5.5 數(shù)據(jù)選擇模塊圖9 數(shù)據(jù)選擇器原理圖input en45 /45s模塊使能端,高電平有效input en25 /25s模塊使能端,高電平有效input en05m /主干道5s模塊使能端,高電平有效input en05b /支干道5s模塊使能端,高電平有效input ain45m7.0 /主干道45s時(shí)間輸出端input ain25m7.0 /主干道25s時(shí)間輸出端input ain25b7.0 /支干道25s時(shí)間輸出端input ain057.0 / 5s時(shí)間輸出端2.6整體電路圖將上面設(shè)計(jì)的各功能模塊依據(jù)邏輯思路,結(jié)合輸入輸出設(shè)計(jì)搭建成如下圖所示的整體電路圖。
21、圖10 系統(tǒng)總原理圖17三、 系統(tǒng)仿真先設(shè)置系統(tǒng)結(jié)束時(shí)間為10us(默認(rèn)為1us,加長(zhǎng)時(shí)間為了得到更多的周期),設(shè)置時(shí)鐘clk的值為時(shí)鐘且周期為10ps圖11 時(shí)序仿真整個(gè)周期圖圖12 放大后的時(shí)序仿真圖3.2試驗(yàn)箱硬件仿真結(jié)果圖13 試驗(yàn)箱硬件仿真圖四、心得體會(huì)做事不能眼高手低。就像我們?cè)谶x擇選做題的時(shí)候,雖然可以找到現(xiàn)成的代碼,感覺(jué)應(yīng)該不會(huì)太難,但是僅僅靠感覺(jué)是做不成事的,只有耐心細(xì)致地去深入研究,進(jìn)行充分論證,才能得出準(zhǔn)確可靠的結(jié)果。盡管有現(xiàn)成的代碼,但最終能不能為我所用還要靠認(rèn)真的研讀,充分體會(huì)編程的思想,這樣別人的代碼才能轉(zhuǎn)化為自己的。要有工程的進(jìn)度安排。對(duì)于時(shí)間的規(guī)劃其實(shí)是我們最欠
22、缺的,記得在軟件開(kāi)發(fā)的課程中學(xué)到過(guò)利用甘特圖來(lái)劃定開(kāi)發(fā)進(jìn)度,但是實(shí)際中我們卻完全沒(méi)有按照它來(lái)實(shí)現(xiàn)。每次課程設(shè)計(jì),大部分同學(xué)都是最后一段時(shí)間拼命趕,在驗(yàn)收的前幾天還在通宵寫代碼。以前我也是這樣,不過(guò)這次有所改善了,因?yàn)槲掖笾乱?guī)劃了設(shè)計(jì)、實(shí)現(xiàn)和調(diào)試的時(shí)間,使得其他同學(xué)還在寫程序進(jìn)行仿真的時(shí)候,我已經(jīng)開(kāi)始了逐步的下載測(cè)試和修改完善工作,這為我在功能方面的完善提供了寶貴的時(shí)間。要善于借鑒別人的想法。很多時(shí)候自己獨(dú)立思考可以充分鍛煉能力,但是汲取他人之所長(zhǎng)會(huì)對(duì)自己的工作產(chǎn)生事倍功半的效果。但是借鑒要有限度,要講究方式方法。很多同學(xué)容易走兩個(gè)極端,一種是埋頭編程,中途遇到很多困難其實(shí)前人也都遇到并且很好地
23、解決了,但是他們還要繼續(xù)重復(fù)地探尋解決途徑;另一種是照單全收,完全不明白作者的用意和初衷,只知道看結(jié)果對(duì)就拿來(lái)用,沒(méi)弄明白其所以然,顯然是荒廢了學(xué)習(xí)的機(jī)會(huì)。五、附錄5.1主控制模塊源程序library ieee;use ieee.std_logic_1164.all;entity jtdkz isport(clk,sm,sb:in std_logic; mr,my,mg,br,by,bg:out std_logic);end entity jtdkz;architecture art of jtdkz istype state_type is(a,b,c,d);signal state:sta
24、te_type;begincnt:process(clk)is variable s:integer range 0 to 45; variable clr,en:bit;beginif(clk'event and clk='1')then if clr='0'then s:=0; elsif en='0'then s:=s; else s:=s+1; end if; case state is when a=>mr<='0'my<='0'mg<='1' br<
25、='1'by<='0'bg<='0' if(sb and sm)='1'then if s=45 then state<=b;clr:='0'en:='0' else state<=a;clr:='1'en:='1' end if; elsif(sb and(not sm)='1'then state<=b;clr:='0'en:='0' else state<=a;clr:='
26、;1'en:='1' end if; when b=>mr<='0'my<='1'mg<='0' br<='1'by<='0'bg<='0' if s=5 then state<=c;clr:='0'en:='0' else state<=b;clr:='1'en:='1' end if;when c=>mr<='1'my<=
27、'0'mg<='0' br<='0'by<='0'bg<='1' if(sm and sb)='1' then if s=25 then state<=d;clr:='0'en:='0' else state<=c;clr:='1'en:='1' end if; elsif sb='0' then state<=d;clr:='0'en:='0'
28、elsestate<=c;clr:='1'en:='1'end if;when d=>mr<='1'my<='0'mg<='0'br<='0'by<='1'bg<='0'if s=5 thenstate<=a;clr:='0'en:='0'elsestate<=d;clr:='1'en:='1'end if;end case;end if;end
29、 process cnt;end architecture art; 5.2 45s模塊源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-entity time_45 isport(sb,clk,en45:in std_logic; dout45m,dout45b:out std_logic_vector(7 downto 0);end entity time_45;-architecture art of time_45 issignal cnt6b:std_logic_vector(5
30、downto 0);beginprocess(sb,clk,en45)isbeginif sb='0'then cnt6b<=cnt6b-cnt6b-1;elsif(clk'event and clk='1')thenif en45='1' then cnt6b<=cnt6b+1;elsif en45='0'then cnt6b<=cnt6b-cnt6b-1;end if;end if;end process;process(cnt6b)isbegincase cnt6b iswhen "000
31、000"=>dout45m<="01000101"dout45b<="01010000"-45 50 when "000001"=>dout45m<="01000100"dout45b<="01001001"-44 49when "000010"=>dout45m<="01000011"dout45b<="01001000"-43 48when "000011&q
32、uot;=>dout45m<="01000010"dout45b<="01000111"-42 47when "000100"=>dout45m<="01000001"dout45b<="01000110"-41 46when "000101"=>dout45m<="01000000"dout45b<="01000101"-40 45when "000110"=&
33、gt;dout45m<="00111001"dout45b<="01000100"-39 44when "000111"=>dout45m<="00111000"dout45b<="01000011"-38 43when "001000"=>dout45m<="00110111"dout45b<="01000010"-37 42when "001001"=>dou
34、t45m<="00110110"dout45b<="01000001"-36 41when "001010"=>dout45m<="00110101"dout45b<="01000000"-35 40when "001011"=>dout45m<="00110100"dout45b<="00111001"-34 39when "001100"=>dout45m&l
35、t;="00110011"dout45b<="00111000"-33 38when "001101"=>dout45m<="00110010"dout45b<="00110111"-32 37when "001110"=>dout45m<="00110001"dout45b<="00110110"-31 36when "001111"=>dout45m<=&qu
36、ot;00110000"dout45b<="00110101"-30 35when "010000"=>dout45m<="00101001"dout45b<="00110100"-29 34when "010001"=>dout45m<="00101000"dout45b<="00110011"-28 33when "010010"=>dout45m<="001
37、00111"dout45b<="00110010"-27 32when "010011"=>dout45m<="00100110"dout45b<="00110001"-26 31when "010100"=>dout45m<="00100101"dout45b<="00110000"-25 30when "010101"=>dout45m<="00100100&
38、quot;dout45b<="00101001"-24 29when "010110"=>dout45m<="00100011"dout45b<="00101000"-23 28when "010111"=>dout45m<="00100010"dout45b<="00100111"-22 27when "011000"=>dout45m<="00100001"d
39、out45b<="00100110"-21 26when "011001"=>dout45m<="00100000"dout45b<="00100101"-20 25when "011010"=>dout45m<="00011001"dout45b<="00100100"-19 24when "011011"=>dout45m<="00011000"dout45b
40、<="00100011"-18 23when "011100"=>dout45m<="00010111"dout45b<="00100010"-17 22when "011101"=>dout45m<="00010110"dout45b<="00100001"-16 21when "011110"=>dout45m<="00010101"dout45b<=&
41、quot;00100000"-15 20when "011111"=>dout45m<="00010100"dout45b<="00011001"-14 19when "100000"=>dout45m<="00010011"dout45b<="00011000"-13 18when "100001"=>dout45m<="00010010"dout45b<="0
42、0010111"-12 17when "100010"=>dout45m<="00010001"dout45b<="00010110"-11 16when "100011"=>dout45m<="00001010"dout45b<="00010101"-10 15when "100100"=>dout45m<="01001001"dout45b<="0001010
43、0"-9 14when "100101"=>dout45m<="00001000"dout45b<="00010011"-8 13when "100110"=>dout45m<="00000111"dout45b<="00010010"-7 12when "100111"=>dout45m<="00000110"dout45b<="00010001"-6
44、 11when "101000"=>dout45m<="00000101"dout45b<="00001010"-5 10when "101001"=>dout45m<="01000100"dout45b<="01001001"-4 9when "101010"=>dout45m<="00000011"dout45b<="00001000"-3 8when &qu
45、ot;101011"=>dout45m<="00000010"dout45b<="00000111"-2 7when "101100"=>dout45m<="00000001"dout45b<="00000110"-1 6when others=>dout45m<="00000000"dout45b<="00000000" -0 0end case;end process;end archit
46、ecture art;5.3 25s模塊源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-entity time_25 is port(sb,sm,clk,en25:in std_logic; dout25m,dout25b:out std_logic_vector(7 downto 0);end entity time_25;-architecture art of time_25 is signal cnt5b:std_logic_vector(4 downto 0); begin pr
47、ocess(sb,sm,clk,en25)is begin if sb='0'or sm='0'then cnt5b<=cnt5b-cnt5b-1; elsif(clk'event and clk='1')then if en25='1' then cnt5b<=cnt5b+1; elsif en25='0'then cnt5b<=cnt5b-cnt5b-1; end if; end if; end process; process(cnt5b)is begin case cnt5b is
48、 when "00000"=>dout25m<="00100101"dout25b<="00110000"-25 30 when "00001"=>dout25m<="00100100"dout25b<="00101001"-24 29 when "00010"=>dout25m<="00100011"dout25b<="00101000"-23 28 when
49、"00011"=>dout25m<="00100010"dout25b<="00100111"-22 27 when "00100"=>dout25m<="00100001"dout25b<="00100110"-21 26 when "00101"=>dout25m<="00100000"dout25b<="00100101"-20 25 when "
50、00110"=>dout25m<="00011001"dout25b<="00100100"-19 24 when "00111"=>dout25m<="00011000"dout25b<="00100011"-18 23 when "01000"=>dout25m<="00010111"dout25b<="00100010"-17 22 when "01001&
51、quot;=>dout25m<="00010110"dout25b<="00100001"-16 21 when "01010"=>dout25m<="00010101"dout25b<="00100000"-15 20 when "01011"=>dout25m<="00010100"dout25b<="00011001"-14 19 when "01100"=
52、>dout25m<="00010011"dout25b<="00011000"-13 18 when "01101"=>dout25m<="00010010"dout25b<="00010111"-12 17 when "01110"=>dout25m<="00010001"dout25b<="00010110"-11 16 when "01111"=>do
53、ut25m<="00001010"dout25b<="00010101"-10 15 when "10000"=>dout25m<="01001001"dout25b<="00010100"-9 14 when "10001"=>dout25m<="00001000"dout25b<="00010011"-8 13 when "10011"=>dout25m<
54、;="00000111"dout25b<="00010010"-7 12 when "10100"=>dout25m<="00000110"dout25b<="00010001"-6 11 when "10110"=>dout25m<="00000101"dout25b<="00001010"-5 10 when "10111"=>dout25m<="0
55、1000100"dout25b<="01001001"-4 9 when "11000"=>dout25m<="00000011"dout25b<="00001000"-3 8 when "11001"=>dout25m<="00000010"dout25b<="00000111"-2 7 when "11010"=>dout25m<="00000001"dout25b<="00000110"-1 6 when others=>dout25m<="00000000"dout25b<="
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 在外貿(mào)公司實(shí)習(xí)報(bào)告四篇
- 我的心愿初二作文600字5篇
- 學(xué)生個(gè)人自我介紹(15篇)
- 九年級(jí)化學(xué)上冊(cè) 第四單元 自然界的水 4.1 愛(ài)護(hù)水資源教學(xué)實(shí)錄3 新人教版
- 員工個(gè)人年終總結(jié)感想10篇
- 2024年至2025年網(wǎng)絡(luò)安全防護(hù)系統(tǒng)建設(shè)合同
- 17《望洞庭》教學(xué)實(shí)錄-2024-2025學(xué)年三年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 山東省煙臺(tái)市黃務(wù)中學(xué)六年級(jí)歷史下冊(cè) 第8課 輝煌的隋唐文化(二)教學(xué)實(shí)錄 魯教版五四制
- 工程師試用期工作總結(jié)(15篇)
- 法制教育學(xué)習(xí)心得體會(huì)10篇
- 親子鑒定內(nèi)容 報(bào)告書(shū)范本
- 【課件】洋流教學(xué)課件高中地理人教版(2019)選擇性必修1
- 初二化學(xué)上冊(cè)知識(shí)點(diǎn)7篇
- 社區(qū)服務(wù)中心
- 五金產(chǎn)品檢驗(yàn)作業(yè)指導(dǎo)書(shū)
- 商業(yè)天然氣灶具用氣量明細(xì)
- 體育集體備課記錄
- 錨桿密實(shí)度檢測(cè)
- 跳繩興趣小組活動(dòng)總結(jié)
- 文物保護(hù)項(xiàng)目加固工程監(jiān)理細(xì)則
- 肋骨骨折查房演示
評(píng)論
0/150
提交評(píng)論