第一篇:實(shí)驗(yàn)設(shè)計(jì)報(bào)告的各種心得體會
實(shí)訓(xùn)心得體會:
為期一周的高頻電子線路實(shí)訓(xùn)就這樣告一段落了,我們通過這一周緊鑼密鼓的實(shí)訓(xùn),我們對于通信電子電路的這門課程又有了更直觀更深刻的了解。
首先我們在實(shí)訓(xùn)的第一天和第二天對于高頻小信號調(diào)諧放大器,場效應(yīng)管諧振放大器,集成選頻放大器等諸多器械的線路連接以及數(shù)據(jù)的測量,從而了解到了這些器械的相關(guān)原理以及相關(guān)數(shù)據(jù),這對于我們充分了解課本上的理論知識有著十分大的幫助。
然后就是在接下來為期三天的調(diào)幅電路的焊接,三天我們組每天都十分緊張的按照老師給的線路圖進(jìn)行緊鑼密鼓的連接,最終也準(zhǔn)時的完成了焊接的工作,但是最終的結(jié)果十分出乎我們的意料,我們連最基本的電源燈多無法亮起,這讓我們十分詫異,然后我們便開始一次又一次的檢查與調(diào)試,我們的最后一節(jié)課長達(dá)5個小時,老師與同學(xué)也在其中給了我們很多很多的幫助,但最終還是無法得到一個很好的結(jié)果。雖然電路板的焊接的結(jié)果并不讓我們滿意,但我們還是通過實(shí)驗(yàn)得到了很多平時上課所學(xué)不到的東西,雖有遺憾,并無后悔,這個實(shí)驗(yàn)過程中我們學(xué)習(xí)到的東西遠(yuǎn)遠(yuǎn)超過了結(jié)果給予我們的價值。
當(dāng)然實(shí)驗(yàn)中,尤其是電路板的焊接過程中我們確實(shí)存在著這樣那樣的問題,一個就是對于電路圖的理解不夠透徹,第二個就是在焊接過程中與老師同學(xué)的溝通不是十分及時,這些都是以后在學(xué)習(xí)中要十分注意的。希望我們謹(jǐn)記這次的教訓(xùn),爭取在下次實(shí)訓(xùn)課上能夠更好地完成老師交給我們的任務(wù)!
實(shí)驗(yàn)心得體會
在做測試技術(shù)的實(shí)驗(yàn)前,我以為不會難做,就像以前做物理實(shí)驗(yàn)一樣,做完實(shí)驗(yàn),然后兩下子就將實(shí)驗(yàn)報(bào)告做完.直到做完測試實(shí)驗(yàn)時,我才知道其實(shí)并不容易做,但學(xué)到的知識與難度成正比,使我受益匪淺.在做實(shí)驗(yàn)前,一定要將課本上的知識吃透,因?yàn)檫@是做實(shí)驗(yàn)的基礎(chǔ),否則,在老師講解時就會聽不懂,這將使你在做實(shí)驗(yàn)時的難度加大,浪費(fèi)做實(shí)驗(yàn)的寶貴時間.比如做應(yīng)變片的實(shí)驗(yàn),你要清楚電橋的各種接法,如果你不清楚,在做實(shí)驗(yàn)時才去摸索,這將使你極大地浪費(fèi)時間,使你事倍功半.做實(shí)驗(yàn)時,一定要親力親為,務(wù)必要將每個步驟,每個細(xì)節(jié)弄清楚,弄明白,實(shí)驗(yàn)后,還要復(fù)習(xí),思考,這樣,你的印象才深刻,記得才牢固,否則,過后不久你就會忘得一干二凈,這還不如不做.做實(shí)驗(yàn)時,老師還會根據(jù)自己的親身體會,將一些課本上沒有的知識教給我們,拓寬我們的眼界,使我們認(rèn)識到這門課程在生活中的應(yīng)用是那么的廣泛.通過這次測試技術(shù)的實(shí)驗(yàn),使我學(xué)到了不少實(shí)用的知識,更重要的是,做實(shí)驗(yàn)的過程,思考問題的方法,這與做其他的實(shí)驗(yàn)是通用的,真正使我們受益匪淺.實(shí)驗(yàn)心得體會
這個學(xué)期我們學(xué)習(xí)了測試技術(shù)這門課程,它是一門綜合應(yīng)用相關(guān)課程的知識和內(nèi)容來解決科研、生產(chǎn)、國防建設(shè)乃至人類生活所面臨的測試問題的課程。測試技術(shù)是測量和實(shí)驗(yàn)的技術(shù),涉及到測試方法的分類和選擇,傳感器的選擇、標(biāo)定、安裝及信號獲取,信號調(diào)理、變換、信號分析和特征識別、診斷等,涉及到測試系統(tǒng)靜動態(tài)性能、測試動力學(xué)方面的考慮和自動化程度的提高,涉及到計(jì)算機(jī)技術(shù)基礎(chǔ)和基于LabVIEW的虛擬測試技術(shù)的運(yùn)用等。
課程知識的實(shí)用性很強(qiáng),因此實(shí)驗(yàn)就顯得非常重要,我們做了金屬箔式應(yīng)變片:單臂、半橋、全橋比較, 回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析, 懸臂梁一階固有頻率及阻尼系數(shù)測試三個實(shí)驗(yàn)。剛開始做實(shí)驗(yàn)的時候,由于自己的理論知識基礎(chǔ)不好,在實(shí)驗(yàn)過程遇到了許多的難題,也使我感到理論知識的重要性。但是我并沒有氣壘,在實(shí)驗(yàn)中發(fā)現(xiàn)問題,自己看書,獨(dú)立思考,最終解決問題,從而也就加深我對課本理論知識的理解,達(dá)到了“雙贏”的效果。
實(shí)驗(yàn)中我學(xué)會了單臂單橋、半橋、全橋的性能的驗(yàn)證;用振動測試的方法,識別一小阻尼結(jié)構(gòu)的(懸臂梁)一階固有頻率和阻尼系數(shù);掌握壓電加速度傳感器的性能與使用方法;了解并掌握機(jī)械振動信號測量的基本方法;掌握測試信號的頻率域分析方法;還有了解虛擬儀器的使用方法等等。實(shí)驗(yàn)過程中培養(yǎng)了我在實(shí)踐中研究問題,分析問題和解決問題的能力以及培養(yǎng)了良好的工程素質(zhì)和科學(xué)道德,例如團(tuán)隊(duì)精神、交流能力、獨(dú)立思考、測試前沿信息的捕獲能力等;提高了自己動手能力,培養(yǎng)理論聯(lián)系實(shí)際的作風(fēng),增強(qiáng)創(chuàng)新意識。
實(shí)驗(yàn)體會
這次的實(shí)驗(yàn)一共做了三個,包括:金屬箔式應(yīng)變片:單臂、半橋、全橋比較;回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析;懸臂梁一階固有頻率及阻尼系數(shù)測試。各有特點(diǎn)。
通過這次實(shí)驗(yàn),我大開眼界,因?yàn)檫@次實(shí)驗(yàn)特別是回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析和懸臂梁一階固有頻率及阻尼系數(shù)測試,需要用軟件編程,并且用電腦顯示輸出??梢哉f是半自動化。因此在實(shí)驗(yàn)過程中我受易非淺:它讓我深刻體會到實(shí)驗(yàn)前的理論知識準(zhǔn)備,也就是要事前了解將要做的實(shí)驗(yàn)的有關(guān)質(zhì)料,如:實(shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)步驟,最重要的是要記錄什么數(shù)據(jù)和怎樣做數(shù)據(jù)處理,等等。雖然做實(shí)驗(yàn)時,指導(dǎo)老師會講解一下實(shí)驗(yàn)步驟和怎樣記錄數(shù)據(jù),但是如果自己沒有一些基礎(chǔ)知識,那時是很難作得下去的,惟有胡亂按老師指使做,其實(shí)自己也不知道做什么。
在這次實(shí)驗(yàn)中,我學(xué)到很多東西,加強(qiáng)了我的動手能力,并且培養(yǎng)了我的獨(dú)立思考能力。特別是在做實(shí)驗(yàn)報(bào)告時,因?yàn)樵谧鰯?shù)據(jù)處理時出現(xiàn)很多問題,如果不解決的話,將會很難的繼續(xù)下去。例如:數(shù)據(jù)處理時,遇到要進(jìn)行數(shù)據(jù)獲取,這就要求懂得labview軟件一些基本操作;還有畫圖時,也要用軟件畫圖,這也要求懂得excel軟件的插入圖表命令。并且在做回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析實(shí)驗(yàn),獲取數(shù)據(jù)時,注意讀取波形要改變采樣頻率,等等。當(dāng)然不只學(xué)到了這些,這里我就不多說了。
還有動手這次實(shí)驗(yàn),使測試技術(shù)這門課的一些理論知識與實(shí)踐相結(jié)合,更加深刻了我對測試技術(shù)這門課的認(rèn)識,鞏固了我的理論知識。
不過這次實(shí)驗(yàn)雖好,但是我認(rèn)為它安排的時間不是很好,還有測試技術(shù)考試時間,因?yàn)檫@些時間安排與我們的課程設(shè)計(jì)時間有沖突,使我不能專心于任一項(xiàng),結(jié)果不能保證每一個項(xiàng)目質(zhì)量,所以如果有什么出錯請指出!
實(shí)驗(yàn)體會與感想
經(jīng)過這次的測試技術(shù)實(shí)驗(yàn),我個人得到了不少的收獲,一方面加深了我對課本理論的認(rèn)識,另一方面也提高了實(shí)驗(yàn)操作能力?,F(xiàn)在我總結(jié)了以下的體會和經(jīng)驗(yàn)。
這次的實(shí)驗(yàn)跟我們以前做的實(shí)驗(yàn)不同,因?yàn)槲矣X得這次我是真真正正的自己親自去完成。所以是我覺得這次實(shí)驗(yàn)最寶貴,最深刻的。就是實(shí)驗(yàn)的過程全是我們學(xué)生自己動手來完成的,這樣,我們就必須要弄懂實(shí)驗(yàn)的原理。在這里我深深體會到哲學(xué)上理論對實(shí)踐的指導(dǎo)作用:弄懂實(shí)驗(yàn)原理,而且體會到了實(shí)驗(yàn)的操作能力是靠自己親自動手,親自開動腦筋,親自去請教別人才能得到提高的。
我們做實(shí)驗(yàn)絕對不能人云亦云,要有自己的看法,這樣我們就要有充分的準(zhǔn)備,若是做了也不知道是個什么實(shí)驗(yàn),那么做了也是白做。實(shí)驗(yàn)總是與課本知識相關(guān)的,比如回轉(zhuǎn)機(jī)構(gòu)實(shí)驗(yàn),是利用頻率特性分析振動的,就必須回顧課本的知識,知道實(shí)驗(yàn)時將要測量什么物理量,寫報(bào)告時怎么處理這些物理量。
在實(shí)驗(yàn)過程中,我們應(yīng)該盡量減少操作的盲目性提高實(shí)驗(yàn)效率的保證,有的人一開始就趕著做,結(jié)果卻越做越忙,主要就是這個原因。我也曾經(jīng)犯過這樣的錯誤。在做電橋?qū)嶒?yàn)時,開始沒有認(rèn)真吃透電路圖,儀器面板的布置及各鍵的功能,瞎著接線,結(jié)果顯示不到數(shù)據(jù),等到顯示到了又不正確,最后只好找同學(xué)幫忙。
我們做實(shí)驗(yàn)不要一成不變和墨守成規(guī),應(yīng)該有改良創(chuàng)新的精神。實(shí)際上,在弄懂了實(shí)驗(yàn)原理的基礎(chǔ)上,我們的時間是充分的,做實(shí)驗(yàn)應(yīng)該是游刃有余的,如果說創(chuàng)新對于我們來說是件難事,那改良總是有可能的。比如說,在做電橋?qū)嶒?yàn)中,我們可以通過返回旋動,測量回程誤差。
在實(shí)驗(yàn)的過程中我們要培養(yǎng)自己的獨(dú)立分析問題,和解決問題的能力。培養(yǎng)這種能力的前題是你對每次實(shí)驗(yàn)的態(tài)度。如果你在實(shí)驗(yàn)這方面很隨便,抱著等老師教你怎么做,拿同學(xué)的報(bào)告去抄,盡管你的成績會很高,但對將來工作是不利的。比如在做回轉(zhuǎn)機(jī)構(gòu)實(shí)驗(yàn)中,經(jīng)老師檢查,我們的時域圖波形不太合要求,我首先是改變振動的加速度,發(fā)現(xiàn)不行,再改變采樣頻率及采樣點(diǎn)數(shù),發(fā)現(xiàn)有所改善,然后不斷提高逼近,最后解決問題,興奮異常。在寫實(shí)驗(yàn)報(bào)告,對于思考題,有很多不懂,于是去問老師,老師的啟發(fā)了我,其實(shí)答案早就擺在報(bào)告中的公式,電路圖中,自己要學(xué)會思考。在這次的實(shí)驗(yàn)中,我對一些測試硬件、軟件及其使用有了更深刻的認(rèn)識。比如說,我在電橋?qū)嶒?yàn)中,我知道應(yīng)變片是怎么樣的,面板是怎么接電橋的;在回轉(zhuǎn)機(jī)構(gòu)及懸臂梁實(shí)驗(yàn)中,我知道壓電傳感器是如此微小的,怎樣通過放大、接口電路進(jìn)行微機(jī)分析,濾波、窗函數(shù)的選擇,及怎樣使用LabView采樣和分析,另外,用文檔形式寫報(bào)告,是我們以前從來沒有嘗試過的??梢哉f,做這次的測試技術(shù)實(shí)驗(yàn),我們學(xué)生自己的能力得到了充分的發(fā)揮,跟以往那些充滿條條框框的實(shí)驗(yàn)是不同的。
本人認(rèn)為,在做這次的測試技術(shù)實(shí)驗(yàn)中,學(xué)習(xí)LabView和傳感器是一件最有趣的事情,因?yàn)長abView這是一個虛擬的平臺,它能夠?qū)Ω鞣N測試結(jié)果進(jìn)行準(zhǔn)確的分析實(shí)在是太神奇了;而傳感器則是測試技術(shù)的一個必不可少的前提,所以我覺得LabView和傳感器對測試技術(shù)的起到非常重要的作用。
最后,通過這次的測試技術(shù)實(shí)驗(yàn)我不但對理論知識有了更加深的理解,對于實(shí)際的操作和也有了質(zhì)的飛躍。經(jīng)過這次的實(shí)驗(yàn),我們整體對各個方面都得到了不少的提高,希望以后學(xué)校和系里能夠開設(shè)更多類似的實(shí)驗(yàn),能夠讓我們得到更好的鍛煉。
心得體會
傳感器與測試技術(shù)是一門理論性和實(shí)踐性都很強(qiáng)的專業(yè)基礎(chǔ)課,也是一門綜合性的技術(shù)基礎(chǔ)學(xué)科,它需要數(shù)學(xué)、物理學(xué)、電子學(xué)、力學(xué)、機(jī)械等知識,同時還要掌握各種物理量的變換原理、各種靜態(tài)和動態(tài)物理量(如力、振動、噪聲、壓力和溫度等)的測定,以及實(shí)驗(yàn)裝置的設(shè)計(jì)和數(shù)據(jù)分析等方面所涉及的基礎(chǔ)理論。許多測試?yán)碚摵头椒ㄖ挥型ㄟ^實(shí)際驗(yàn)證才能加深理解并真正掌握。實(shí)驗(yàn)就是使學(xué)生加深理解所學(xué)基礎(chǔ)知識,掌握各類典型傳感器、記錄儀器的基本原理和適用范圍;具有測試系統(tǒng)的選擇及應(yīng)用能力;具有實(shí)驗(yàn)數(shù)據(jù)處理和誤差分析能力;得到基本實(shí)驗(yàn)技能的訓(xùn)練與分析能力的訓(xùn)練,使學(xué)生初步掌握測試技術(shù)的基本方法,具有初步獨(dú)立進(jìn)行機(jī)械工程測試的能力,對各門知識得到融會貫通的認(rèn)識和掌握,加深對理論知識的理解。
測試技術(shù)實(shí)驗(yàn)課是本門課程的重要環(huán)節(jié),其目的是培養(yǎng)學(xué)生的分析和解決實(shí)際問題的能力,從而掌握機(jī)械工程測試技術(shù)手段,為將來從事技術(shù)工作和科學(xué)研究奠定扎實(shí)的基礎(chǔ)。
通過本門課程實(shí)驗(yàn),以下能力得到了較大的提高:
1、了解常用傳感器的原理和應(yīng)用,以及傳感器使用的注意事項(xiàng)及各種測試中不同傳感器的選擇方法。
2、培養(yǎng)具有綜合應(yīng)用相關(guān)知識來解決測試問題的基礎(chǔ)理論;
3、培養(yǎng)在實(shí)踐中研究問題,分析問題和解決問題的能力;
我們必須堅(jiān)持理論聯(lián)系實(shí)際的思想,以實(shí)踐證實(shí)理論,從實(shí)踐中加深對理論知識的理解和掌握。實(shí)驗(yàn)是我們快速認(rèn)識和掌握理論知識的一條重要途徑。我們認(rèn)為,在這學(xué)期的實(shí)驗(yàn)中,在收獲知識的同時,還收獲了閱歷,收獲了成熟,在此過程中,我們通過查找大量資料,請教老師,以及不懈的努力,不僅培養(yǎng)了獨(dú)立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實(shí)驗(yàn)課上,我們學(xué)會了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。
實(shí)驗(yàn)時應(yīng)注意的問題
(1)在設(shè)置操作員權(quán)限時要注意先建帳套,再設(shè)置權(quán)限。(2)在修改會計(jì)科目時,注意將客戶往來款項(xiàng)和供應(yīng)商往來款項(xiàng)設(shè)置為總 賬系統(tǒng)核算。
(3)注意由003出納簽字,001審核憑證,由002填制憑證。(4)先對帳,后結(jié)賬,最后制作資產(chǎn)負(fù)債表。(5)制作報(bào)表時選擇企業(yè)類型為股份制。
本次實(shí)驗(yàn)成敗之處及其原因分析
成功之處在于老師的幫助和自己的努力,通過實(shí)驗(yàn)知道自己還有很多東西是不知道的,實(shí)驗(yàn)也讓我學(xué)到了很多。本實(shí)驗(yàn)的關(guān)鍵環(huán)節(jié)及改進(jìn)措施
做好本實(shí)驗(yàn)需要把握的關(guān)鍵環(huán)節(jié)(1)
按照步驟做,要不然容易出錯。
(2)
在修改會計(jì)科目時,注意將客戶往來款項(xiàng)和供應(yīng)商往來款項(xiàng)設(shè)置為總賬系統(tǒng)核算。
(3)
在設(shè)置操作員權(quán)限時要注意先建帳套,再設(shè)置權(quán)限。
(4)
填制憑證要認(rèn)真,不要出錯。
若重做本實(shí)驗(yàn),為實(shí)現(xiàn)預(yù)期效果,儀器操作和實(shí)驗(yàn)步驟應(yīng)如何改善
(1)軟件應(yīng)該升級,用U8.50(2)嚴(yán)格按照要求來做
這是本學(xué)期我們信號處理的最后一次實(shí)驗(yàn),而且是設(shè)計(jì)實(shí)現(xiàn)FFT,即快速傅里葉變換。通過本實(shí)驗(yàn),使得我在理論學(xué)習(xí)的基礎(chǔ)上,加深了對FFT的理解,熟悉了應(yīng)用FFT實(shí)現(xiàn)兩個序列的線性卷積的方法,掌握了應(yīng)用FFT對典型信號進(jìn)行頻譜分析的方法。
因?yàn)閿?shù)字信號研究的方便性,所以對連續(xù)信號進(jìn)行數(shù)字分析方法是十分必要的,即離散傅里葉變換,再與計(jì)算機(jī)的二進(jìn)制數(shù)表示結(jié)合即可導(dǎo)出FFT,并且在本次實(shí)驗(yàn)中分析比較了相關(guān)時間復(fù)雜度。
通過參考代碼編程實(shí)現(xiàn),我體會到了MATLAB作為具有高效的計(jì)算能力、靈活的圖形處理與可視化功能以及易學(xué)易懂的自然化語言的數(shù)學(xué)工具軟件的強(qiáng)大功能,同時實(shí)驗(yàn)過程也是對該軟件的編程使用的鞏固。我不止一次地感受到了信號處理原理與數(shù)學(xué)知識的緊密聯(lián)系以及強(qiáng)烈的趣味性。
臨近期末,非常感謝周老師在本學(xué)期給予我們的細(xì)致生動的教學(xué),也許以后不見得會再學(xué)習(xí)更多更加專業(yè)的后續(xù)課程,但是它對于拓展專業(yè)及相關(guān)知識面、溫習(xí)所學(xué)的高數(shù)內(nèi)容、應(yīng)用理論分析問題、解決問題的能力卻會讓我受益匪淺。
高校實(shí)驗(yàn)室是培養(yǎng)高層次人才和開展科學(xué)研究的重要基地。在西方發(fā)達(dá)國家,學(xué)校對培養(yǎng)學(xué)生的動手能力是十分重視的,這一問題近年來也越來越受到我國教育界人士的廣泛重視。為了提高學(xué)生的動手能力,讓學(xué)生做相關(guān)實(shí)訓(xùn)并完成單片機(jī)實(shí)驗(yàn)報(bào)告,在實(shí)驗(yàn)的形式上注重培養(yǎng)學(xué)生的實(shí)驗(yàn)技能和動手能力。從單片機(jī)實(shí)驗(yàn)心得中學(xué)生就可以總結(jié)出大量的經(jīng)驗(yàn)以適應(yīng)當(dāng)代社會的發(fā)展。
學(xué)習(xí)單片機(jī)這門課程(教學(xué)中選用 inter公司的mcs-51),要掌握單片機(jī)指令系統(tǒng)中匯編語言各種基本語句的意義及匯編語言程序設(shè)計(jì)的基本知識和方法,以及單片機(jī)與其他設(shè)備相連接的輸入輸出中斷等接口技術(shù)。使學(xué)生從硬件軟件的結(jié)合上理論聯(lián)系實(shí)際,提高動手能力,從而全面掌握單片機(jī)的應(yīng)用。
實(shí)驗(yàn)教學(xué)的全過程包括認(rèn)識、基礎(chǔ)、綜合3個階段。以往的單片機(jī)實(shí)驗(yàn)是進(jìn)行軟件的編制和調(diào)試,與實(shí)際應(yīng)用中的硬件電路相脫節(jié)。使學(xué)生缺乏硬件設(shè)計(jì)及調(diào)試分析能力,對單片機(jī)如何構(gòu)成一個單片機(jī)最小應(yīng)用系統(tǒng),缺乏認(rèn)識。單片機(jī)論壇http://004km.cn/bbs/ 發(fā)布的單片機(jī)實(shí)驗(yàn)板,通過計(jì)算機(jī)連接仿真器在實(shí)驗(yàn)板上把硬件和軟件結(jié)合起來一起調(diào)試,軟件的修改也非常方便,軟件和硬件調(diào)試都通過后,把程序固化在 eprom當(dāng)中,插上8051單片機(jī)構(gòu)成一個完整的單片機(jī)應(yīng)用系統(tǒng)。
實(shí)訓(xùn)心得體會
這次實(shí)訓(xùn)給我的總體感覺是比較簡單,任務(wù)相對輕松。實(shí)訓(xùn)的頭兩天,我們首先通過電路的連接和測量,對于高頻小信號調(diào)諧放大器,場效應(yīng)管諧振放大器等一系列電路有了一個相對深刻的認(rèn)識,不過在組裝和焊接時我們遇到了很大的問題!開始發(fā)光二極管不亮我還以為是哪里接反了!幾個要求正負(fù)的元件我都做了檢查和修改!還是沒有反應(yīng)!后來又換了一個發(fā)光二極管還是不亮!后來只能反復(fù)檢查!雖然結(jié)果不是很理想!但是我們努力了!這次實(shí)訓(xùn)還是學(xué)到了不少東西的。尤其是在焊接技術(shù)上有了長進(jìn),在分析和解決問題方面也明顯看到自己的進(jìn)步。我們還是要在電路設(shè)計(jì)上多多下工夫。
第二篇:實(shí)驗(yàn)設(shè)計(jì)報(bào)告心得體會
部分學(xué)生的反應(yīng)
實(shí)驗(yàn)心得體會
這個學(xué)期我們學(xué)習(xí)了測試技術(shù)這門課程,它是一門綜合應(yīng)用相關(guān)課程的知識和內(nèi)容來解決科研、生產(chǎn)、國防建設(shè)乃至人類生活所面臨的測試問題的課程。測試技術(shù)是測量和實(shí)驗(yàn)的技術(shù),涉及到測試方法的分類和選擇,傳感器的選擇、標(biāo)定、安裝及信號獲取,信號調(diào)理、變換、信號分析和特征識別、診斷等,涉及到測試系統(tǒng)靜動態(tài)性能、測試動力學(xué)方面的考慮和自動化程度的提高,涉及到計(jì)算機(jī)技術(shù)基礎(chǔ)和基于LabVIEW的虛擬測試技術(shù)的運(yùn)用等。
課程知識的實(shí)用性很強(qiáng),因此實(shí)驗(yàn)就顯得非常重要,我們做了金屬箔式應(yīng)變片:單臂、半橋、全橋比較, 回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析, 懸臂梁一階固有頻率及阻尼系數(shù)測試三個實(shí)驗(yàn)。剛開始做實(shí)驗(yàn)的時候,由于自己的理論知識基礎(chǔ)不好,在實(shí)驗(yàn)過程遇到了許多的難題,也使我感到理論知識的重要性。但是我并沒有氣壘,在實(shí)驗(yàn)中發(fā)現(xiàn)問題,自己看書,獨(dú)立思考,最終解決問題,從而也就加深我對課本理論知識的理解,達(dá)到了“雙贏”的效果。
實(shí)驗(yàn)中我學(xué)會了單臂單橋、半橋、全橋的性能的驗(yàn)證;用振動測試的方法,識別一小阻尼結(jié)構(gòu)的(懸臂梁)一階固有頻率和阻尼系數(shù);掌握壓電加速度傳感器的性能與使用方法;了解并掌握機(jī)械振動信號測量的基本方法;掌握測試信
部分學(xué)生的反應(yīng)
號的頻率域分析方法;還有了解虛擬儀器的使用方法等等。實(shí)驗(yàn)過程中培養(yǎng)了我在實(shí)踐中研究問題,分析問題和解決問題的能力以及培養(yǎng)了良好的工程素質(zhì)和科學(xué)道德,例如團(tuán)隊(duì)精神、交流能力、獨(dú)立思考、測試前沿信息的捕獲能力等;提高了自己動手能力,培養(yǎng)理論聯(lián)系實(shí)際的作風(fēng),增強(qiáng)創(chuàng)新意識。
實(shí)驗(yàn)體會
這次的實(shí)驗(yàn)一共做了三個,包括:金屬箔式應(yīng)變片:單臂、半橋、全橋比較;回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析;懸臂梁一階固有頻率及阻尼系數(shù)測試。各有特點(diǎn)。
通過這次實(shí)驗(yàn),我大開眼界,因?yàn)檫@次實(shí)驗(yàn)特別是回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析和懸臂梁一階固有頻率及阻尼系數(shù)測試,需要用軟件編程,并且用電腦顯示輸出??梢哉f是半自動化。因此在實(shí)驗(yàn)過程中我受易非淺:它讓我深刻體會到實(shí)驗(yàn)前的理論知識準(zhǔn)備,也就是要事前了解將要做的實(shí)驗(yàn)的有關(guān)質(zhì)料,如:實(shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)步驟,最重要的是要記錄什么數(shù)據(jù)和怎樣做數(shù)據(jù)處理,等等。雖然做實(shí)驗(yàn)時,指導(dǎo)老師會講解一下實(shí)驗(yàn)步驟和怎樣記錄數(shù)據(jù),但是如果自己沒有一些
部分學(xué)生的反應(yīng)
基礎(chǔ)知識,那時是很難作得下去的,惟有胡亂按老師指使做,其實(shí)自己也不知道做什么。
在這次實(shí)驗(yàn)中,我學(xué)到很多東西,加強(qiáng)了我的動手能力,并且培養(yǎng)了我的獨(dú)立思考能力。特別是在做實(shí)驗(yàn)報(bào)告時,因?yàn)樵谧鰯?shù)據(jù)處理時出現(xiàn)很多問題,如果不解決的話,將會很難的繼續(xù)下去。例如:數(shù)據(jù)處理時,遇到要進(jìn)行數(shù)據(jù)獲取,這就要求懂得labview軟件一些基本操作;還有畫圖時,也要用軟件畫圖,這也要求懂得excel軟件的插入圖表命令。并且在做回轉(zhuǎn)機(jī)構(gòu)振動測量及譜分析實(shí)驗(yàn),獲取數(shù)據(jù)時,注意讀取波形要改變采樣頻率,等等。當(dāng)然不只學(xué)到了這些,這里我就不多說了。
還有動手這次實(shí)驗(yàn),使測試技術(shù)這門課的一些理論知識與實(shí)踐相結(jié)合,更加深刻了我對測試技術(shù)這門課的認(rèn)識,鞏固了我的理論知識。
不過這次實(shí)驗(yàn)雖好,但是我認(rèn)為它安排的時間不是很好,還有測試技術(shù)考試時間,因?yàn)檫@些時間安排與我們的課程設(shè)計(jì)時間有沖突,使我不能專心于任一項(xiàng),結(jié)果不能保證每一個項(xiàng)目質(zhì)量,所以如果有什么出錯請指出!
部分學(xué)生的反應(yīng)
實(shí)驗(yàn)體會與感想
經(jīng)過這次的測試技術(shù)實(shí)驗(yàn),我個人得到了不少的收獲,一方面加深了我對課本理論的認(rèn)識,另一方面也提高了實(shí)驗(yàn)操作能力。現(xiàn)在我總結(jié)了以下的體會和經(jīng)驗(yàn)。
這次的實(shí)驗(yàn)跟我們以前做的實(shí)驗(yàn)不同,因?yàn)槲矣X得這次我是真真正正的自己親自去完成。所以是我覺得這次實(shí)驗(yàn)最寶貴,最深刻的。就是實(shí)驗(yàn)的過程全是我們學(xué)生自己動手來完成的,這樣,我們就必須要弄懂實(shí)驗(yàn)的原理。在這里我深深體會到哲學(xué)上理論對實(shí)踐的指導(dǎo)作用:弄懂實(shí)驗(yàn)原理,而且體會到了實(shí)驗(yàn)的操作能力是靠自己親自動手,親自開動腦筋,親自去請教別人才能得到提高的。
我們做實(shí)驗(yàn)絕對不能人云亦云,要有自己的看法,這樣我們就要有充分的準(zhǔn)備,若是做了也不知道是個什么實(shí)驗(yàn),那么做了也是白做。實(shí)驗(yàn)總是與課本知識相關(guān)的,比如回轉(zhuǎn)機(jī)構(gòu)實(shí)驗(yàn),是利用頻率特性分析振動的,就必須回顧課本的知識,知道實(shí)驗(yàn)時將要測量什么物理量,寫報(bào)告時怎么處理這些物理量。
在實(shí)驗(yàn)過程中,我們應(yīng)該盡量減少操作的盲目性提高實(shí)驗(yàn)效率的保證,有的人一開始就趕著做,結(jié)果卻越做越忙,主要就是這個原因。我也曾經(jīng)犯過這樣的錯誤。在做電橋?qū)嶒?yàn)時,開始沒有認(rèn)真吃透電路圖,儀器面板的布置及各鍵的功能,瞎著接線,結(jié)果顯示不到數(shù)據(jù),等到顯示到了又不正
部分學(xué)生的反應(yīng)
確,最后只好找同學(xué)幫忙。
我們做實(shí)驗(yàn)不要一成不變和墨守成規(guī),應(yīng)該有改良創(chuàng)新的精神。實(shí)際上,在弄懂了實(shí)驗(yàn)原理的基礎(chǔ)上,我們的時間是充分的,做實(shí)驗(yàn)應(yīng)該是游刃有余的,如果說創(chuàng)新對于我們來說是件難事,那改良總是有可能的。比如說,在做電橋?qū)嶒?yàn)中,我們可以通過返回旋動,測量回程誤差。
在實(shí)驗(yàn)的過程中我們要培養(yǎng)自己的獨(dú)立分析問題,和解決問題的能力。培養(yǎng)這種能力的前題是你對每次實(shí)驗(yàn)的態(tài)度。如果你在實(shí)驗(yàn)這方面很隨便,抱著等老師教你怎么做,拿同學(xué)的報(bào)告去抄,盡管你的成績會很高,但對將來工作是不利的。比如在做回轉(zhuǎn)機(jī)構(gòu)實(shí)驗(yàn)中,經(jīng)老師檢查,我們的時域圖波形不太合要求,我首先是改變振動的加速度,發(fā)現(xiàn)不行,再改變采樣頻率及采樣點(diǎn)數(shù),發(fā)現(xiàn)有所改善,然后不斷提高逼近,最后解決問題,興奮異常。在寫實(shí)驗(yàn)報(bào)告,對于思考題,有很多不懂,于是去問老師,老師的啟發(fā)了我,其實(shí)答案早就擺在報(bào)告中的公式,電路圖中,自己要學(xué)會思考。在這次的實(shí)驗(yàn)中,我對一些測試硬件、軟件及其使用有了更深刻的認(rèn)識。比如說,我在電橋?qū)嶒?yàn)中,我知道應(yīng)變片是怎么樣的,面板是怎么接電橋的;在回轉(zhuǎn)機(jī)構(gòu)及懸臂梁實(shí)驗(yàn)中,我知道壓電傳感器是如此微小的,怎樣通過放大、接口電路進(jìn)行微機(jī)分析,濾波、窗函數(shù)的選擇,及怎樣使用LabView采樣和分析,另外,用文檔形式寫報(bào)告,是我們以
部分學(xué)生的反應(yīng)
前從來沒有嘗試過的??梢哉f,做這次的測試技術(shù)實(shí)驗(yàn),我們學(xué)生自己的能力得到了充分的發(fā)揮,跟以往那些充滿條條框框的實(shí)驗(yàn)是不同的。
本人認(rèn)為,在做這次的測試技術(shù)實(shí)驗(yàn)中,學(xué)習(xí)LabView和傳感器是一件最有趣的事情,因?yàn)長abView這是一個虛擬的平臺,它能夠?qū)Ω鞣N測試結(jié)果進(jìn)行準(zhǔn)確的分析實(shí)在是太神奇了;而傳感器則是測試技術(shù)的一個必不可少的前提,所以我覺得LabView和傳感器對測試技術(shù)的起到非常重要的作用。
最后,通過這次的測試技術(shù)實(shí)驗(yàn)我不但對理論知識有了更加深的理解,對于實(shí)際的操作和也有了質(zhì)的飛躍。經(jīng)過這次的實(shí)驗(yàn),我們整體對各個方面都得到了不少的提高,希望以后學(xué)校和系里能夠開設(shè)更多類似的實(shí)驗(yàn),能夠讓我們得到更好的鍛煉。
心得體會
傳感器與測試技術(shù)是一門理論性和實(shí)踐性都很強(qiáng)的專業(yè)基礎(chǔ)課,也是一門綜合性的技術(shù)基礎(chǔ)學(xué)科,它需要數(shù)學(xué)、物理學(xué)、電子學(xué)、力學(xué)、機(jī)械等知識,同時還要掌握各種物理量的變換原理、各種靜態(tài)和動態(tài)物理量(如力、振動、噪聲、壓力和溫度等)的測定,以及實(shí)驗(yàn)裝置的設(shè)計(jì)和數(shù)據(jù)分析等方面所涉及的基礎(chǔ)理論。許多測試?yán)碚摵头椒ㄖ挥型ㄟ^實(shí)際驗(yàn)證才能加深理解并真正掌握。實(shí)驗(yàn)就是使學(xué)生加深理
部分學(xué)生的反應(yīng)
解所學(xué)基礎(chǔ)知識,掌握各類典型傳感器、記錄儀器的基本原理和適用范圍;具有測試系統(tǒng)的選擇及應(yīng)用能力;具有實(shí)驗(yàn)數(shù)據(jù)處理和誤差分析能力;得到基本實(shí)驗(yàn)技能的訓(xùn)練與分析能力的訓(xùn)練,使學(xué)生初步掌握測試技術(shù)的基本方法,具有初步獨(dú)立進(jìn)行機(jī)械工程測試的能力,對各門知識得到融會貫通的認(rèn)識和掌握,加深對理論知識的理解。
測試技術(shù)實(shí)驗(yàn)課是本門課程的重要環(huán)節(jié),其目的是培養(yǎng)學(xué)生的分析和解決實(shí)際問題的能力,從而掌握機(jī)械工程測試技術(shù)手段,為將來從事技術(shù)工作和科學(xué)研究奠定扎實(shí)的基礎(chǔ)。
通過本門課程實(shí)驗(yàn),以下能力得到了較大的提高:
1、了解常用傳感器的原理和應(yīng)用,以及傳感器使用的注意事項(xiàng)及各種測試中不同傳感器的選擇方法。
2、培養(yǎng)具有綜合應(yīng)用相關(guān)知識來解決測試問題的基礎(chǔ)理論;
3、培養(yǎng)在實(shí)踐中研究問題,分析問題和解決問題的能力;
我們必須堅(jiān)持理論聯(lián)系實(shí)際的思想,以實(shí)踐證實(shí)理論,從實(shí)踐中加深對理論知識的理解和掌握。實(shí)驗(yàn)是我們快速認(rèn)識和掌握理論知識的一條重要途徑。
我們認(rèn)為,在這學(xué)期的實(shí)驗(yàn)中,在收獲知識的同時,還收獲
部分學(xué)生的反應(yīng)
了閱歷,收獲了成熟,在此過程中,我們通過查找大量資料,請教老師,以及不懈的努力,不僅培養(yǎng)了獨(dú)立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實(shí)驗(yàn)課上,我們學(xué)會了很多學(xué)習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。
實(shí)驗(yàn)時應(yīng)注意的問題
(1)在設(shè)置操作員權(quán)限時要注意先建帳套,再設(shè)置權(quán)限。(2)在修改會計(jì)科目時,注意將客戶往來款項(xiàng)和供應(yīng)商往來款項(xiàng)設(shè)置為總 賬系統(tǒng)核算。
(3)注意由003出納簽字,001審核憑證,由002填制憑證。(4)先對帳,后結(jié)賬,最后制作資產(chǎn)負(fù)債表。(5)制作報(bào)表時選擇企業(yè)類型為股份制。
本次實(shí)驗(yàn)成敗之處及其原因分析
成功之處在于老師的幫助和自己的努力,通過實(shí)驗(yàn)知道自己還有很多東西是不知道的,實(shí)驗(yàn)也讓我學(xué)到了很多。
本實(shí)驗(yàn)的關(guān)鍵環(huán)節(jié)及改進(jìn)措施
部分學(xué)生的反應(yīng)
做好本實(shí)驗(yàn)需要把握的關(guān)鍵環(huán)節(jié)(1)
按照步驟做,要不然容易出錯。
(2)
在修改會計(jì)科目時,注意將客戶往來款項(xiàng)和供應(yīng)商往來款項(xiàng)設(shè)置為總賬系統(tǒng)核算。
(3)
在設(shè)置操作員權(quán)限時要注意先建帳套,再設(shè)置權(quán)限。
(4)
填制憑證要認(rèn)真,不要出錯。
若重做本實(shí)驗(yàn),為實(shí)現(xiàn)預(yù)期效果,儀器操作和實(shí)驗(yàn)步驟應(yīng)如何改善
(1)軟件應(yīng)該升級,用U8.50(2)嚴(yán)格按照要求來做
這是本學(xué)期我們信號處理的最后一次實(shí)驗(yàn),而且是設(shè)計(jì)實(shí)現(xiàn)FFT,即快速傅里葉變換。通過本實(shí)驗(yàn),使得我在理論學(xué)習(xí)的基礎(chǔ)上,加深了對FFT的理解,熟悉了應(yīng)用FFT實(shí)現(xiàn)兩個序列的線性卷積的方法,掌握了應(yīng)用FFT對典型信號進(jìn)行頻譜分析的方法。
部分學(xué)生的反應(yīng)
因?yàn)閿?shù)字信號研究的方便性,所以對連續(xù)信號進(jìn)行數(shù)字分析方法是十分必要的,即離散傅里葉變換,再與計(jì)算機(jī)的二進(jìn)制數(shù)表示結(jié)合即可導(dǎo)出FFT,并且在本次實(shí)驗(yàn)中分析比較了相關(guān)時間復(fù)雜度。
通過參考代碼編程實(shí)現(xiàn),我體會到了MATLAB作為具有高效的計(jì)算能力、靈活的圖形處理與可視化功能以及易學(xué)易懂的自然化語言的數(shù)學(xué)工具軟件的強(qiáng)大功能,同時實(shí)驗(yàn)過程也是對該軟件的編程使用的鞏固。我不止一次地感受到了信號處理原理與數(shù)學(xué)知識的緊密聯(lián)系以及強(qiáng)烈的趣味性。
臨近期末,非常感謝周老師在本學(xué)期給予我們的細(xì)致生動的教學(xué),也許以后不見得會再學(xué)習(xí)更多更加專業(yè)的后續(xù)課程,但是它對于拓展專業(yè)及相關(guān)知識面、溫習(xí)所學(xué)的高數(shù)內(nèi)容、應(yīng)用理論分析問題、解決問題的能力卻會讓我受益匪淺。
部分學(xué)生的反應(yīng)
高校實(shí)驗(yàn)室是培養(yǎng)高層次人才和開展科學(xué)研究的重要基地。在西方發(fā)達(dá)國家,學(xué)校對培養(yǎng)學(xué)生的動手能力是十分重視的,這一問題近年來也越來越受到我國教育界人士的廣泛重視。為了提高學(xué)生的動手能力,讓學(xué)生做相關(guān)實(shí)訓(xùn)并完成單片機(jī)實(shí)驗(yàn)報(bào)告,在實(shí)驗(yàn)的形式上注重培養(yǎng)學(xué)生的實(shí)驗(yàn)技能和動手能力。從單片機(jī)實(shí)驗(yàn)心得中學(xué)生就可以總結(jié)出大量的經(jīng)驗(yàn)以適應(yīng)當(dāng)代社會的發(fā)展。
學(xué)習(xí)單片機(jī)這門課程(教學(xué)中選用 inter公司的mcs-51),要掌握單片機(jī)指令系統(tǒng)中匯編語言各種基本語句的意義及匯編語言程序設(shè)計(jì)的基本知識和方法,以及單片機(jī)與其他設(shè)備相連接的輸入輸出中斷等接口技術(shù)。使學(xué)生從硬件軟件的結(jié)合上理論聯(lián)系實(shí)際,提高動手能力,從而全面掌握單片機(jī)的應(yīng)用。
實(shí)驗(yàn)教學(xué)的全過程包括認(rèn)識、基礎(chǔ)、綜合3個階段。以往的單片機(jī)實(shí)驗(yàn)是進(jìn)行軟件的編制和調(diào)試,與實(shí)際應(yīng)用中的硬件電路相脫節(jié)。使學(xué)生缺乏硬件設(shè)計(jì)及調(diào)試分析能力,對單片機(jī)如何構(gòu)成一個單片機(jī)最小應(yīng)用系統(tǒng),缺乏認(rèn)識。單片機(jī)論壇http://004km.cn/bbs/ 發(fā)布的單片機(jī)實(shí)驗(yàn)板,通過計(jì)算機(jī)連接仿真器在實(shí)驗(yàn)板上把硬件和軟件結(jié)合起來一起調(diào)試,軟件的修改也非常方便,軟件和硬件調(diào)試都通過后,把程序
部分學(xué)生的反應(yīng)
固化在 eprom當(dāng)中,插上8051單片機(jī)構(gòu)成一個完整的單片機(jī)應(yīng)用系統(tǒng)。
第三篇:數(shù)字鐘實(shí)驗(yàn)設(shè)計(jì)報(bào)告
數(shù)字鐘實(shí)驗(yàn)設(shè)計(jì)報(bào)告
數(shù)字鐘設(shè)計(jì)
一 設(shè)計(jì)任務(wù)
1.基本功能:以數(shù)字形式顯示時、分、秒的時間,小時的計(jì)時要求為“24翻1”,分和秒的計(jì)時要求為60進(jìn)位; 2.擴(kuò)展功能:校時、正點(diǎn)報(bào)時及鬧時功能;
二 電路工作原理及分析
數(shù)字電子鐘主要由以下幾個部分組成:秒信號發(fā)生器,時、分、秒計(jì)數(shù)器,顯示器,校時校分電路,報(bào)時電路。
2.1數(shù)字鐘的基本邏輯功能框圖
圖1 數(shù)字鐘的基本邏輯功能框圖
2.2振蕩器的設(shè)計(jì)
振蕩器是數(shù)字鐘的核心。振蕩器的穩(wěn)定度及頻率的精確度決定了數(shù)字鐘的準(zhǔn)確程度。通常選用石英晶體構(gòu)成振蕩器電路。一般來說,振蕩的頻率越高,計(jì)時精度越高。如果精度要求不高則可以采用由集成邏輯門與R、C組成的時鐘源振蕩器或集成電路計(jì)時器555與R、C組成的多諧振蕩器,電路參數(shù)如圖2所示.接通電源后,電容C1被充電,當(dāng)Vc上升到2Vcc/3時,使vo為低電平,同時放電三極管T導(dǎo)通,此時電容C1通過R2和T放電,Vc下降。當(dāng)Vc下降到Vcc/3時,vo翻轉(zhuǎn)為高電平。電容C1放電所需時間為 tpL=R2ln2≈0.7R2C1 當(dāng)放電結(jié)束時,T截止,Vcc將通過R1、R2向電容器 C1充電,一;Vc由Vcc/3上升到2Vcc/3所需的時間為
當(dāng)平。如得到 振 故
tpH=(R1+R2)C1ln2≈0.7(R1+R2)C Vc 上升到2Vcc/3 時,電路又翻轉(zhuǎn)為低電此周而復(fù)始,于是,是在電路的輸出端就一個周期性的矩形波。其振蕩頻率為 f=1/(tpL+tpH)≈1.43/[(R1+2R2)C] 蕩周期:T=T1+T2=(R1+2R2)C1In2 得 R1+2R2=T/C1In2=0.142k 選定R1=0.1K,R2=0.021k
圖2 555振蕩器(圖中R1,R2值不為實(shí)際值)
圖3 555振蕩器產(chǎn)生的波形
2.3時、分、秒計(jì)數(shù)器電路
時、分、秒計(jì)數(shù)器電路由秒個位和秒十位,分個位和分十位及時個位和時十位計(jì)數(shù)器電路構(gòu)成,其中秒個位和秒十位計(jì)數(shù)器,分個位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器,而時個位和時十位為24進(jìn)制計(jì)數(shù)器。
2.4校時電路
通過開關(guān),觸發(fā)器,邏輯門組成的校時電路來校時。校時電路時用來對“時”、“分”、“秒”顯示數(shù)字進(jìn)行校對調(diào)整的.三 數(shù)字電路的設(shè)計(jì)
3.1計(jì)數(shù)電路的設(shè)計(jì)
由2個74LS90計(jì)數(shù)器和4個74LS290計(jì)數(shù)器組成的時分秒的計(jì)數(shù)電路。
3.1.1六十進(jìn)制計(jì)數(shù)電路
秒計(jì)數(shù)和分計(jì)數(shù)單元為60進(jìn)制計(jì)數(shù)器,其輸出為8421BCD碼。采用十進(jìn)制計(jì)數(shù)器74LS290來實(shí)現(xiàn)時間計(jì)數(shù)單元的計(jì)數(shù)功能。由圖可知,74LS90為異步清零計(jì)數(shù)器,有異步清零端12,13腳(高電平有效)。
圖4 六十進(jìn)制計(jì)數(shù)器
(1)秒計(jì)數(shù)器電路的電路圖如圖4所示
秒個位計(jì)數(shù)單元為10進(jìn)制計(jì)數(shù)器,無需進(jìn)制轉(zhuǎn)換,當(dāng)QAQBQCQD從1001變成0000時,U1 向U3 的輸入端發(fā)出一個脈沖信號,使秒十位進(jìn)1位。
秒十位計(jì)數(shù)單元為6進(jìn)制,當(dāng)QAQBQCQD變成0110時,通過與QBQC相連的導(dǎo)線,給U3 兩個清零端一個信號,把它的兩個清零端都變成1,計(jì)數(shù)器的輸出被置零,跳過0110到1111的狀態(tài),又從0000開始,如此重復(fù),十位和個位合起來就是60進(jìn)制。
(2)分計(jì)數(shù)器
分的個位和十位計(jì)數(shù)單元的狀態(tài)轉(zhuǎn)換和秒的是一樣的,只是它要把進(jìn)位信號傳輸給時的個位計(jì)數(shù)單元,電路圖如圖4所示
3.1.2二十四進(jìn)制計(jì)數(shù)器電路
時計(jì)數(shù)單元為24進(jìn)制計(jì)數(shù)器,其輸出為8421BCD碼。采用十進(jìn)制計(jì)數(shù)器74LS90來實(shí)現(xiàn)時間計(jì)數(shù)單元的計(jì)數(shù)功能。
時計(jì)數(shù)器電路的電路圖如圖5所示
圖5 二十四進(jìn)制計(jì)數(shù)器
當(dāng)“時”十位的QAQBQCQD為0000或0001時,“時”的個位計(jì)數(shù)單元是十進(jìn)制計(jì)數(shù)器,當(dāng)個位的QAQBQCQD到1010時,通過與非門使得個位74LS90上的清零端為0,則計(jì)數(shù)器的輸出直接置零,從0000開始。當(dāng)十位的QAQBQCQD為0010時,通過與非門使得該74LS90的清零端為0,“時”的十位又重新從0000開始,此時的個位計(jì)數(shù)單元變成4進(jìn)制,即當(dāng)個位計(jì)數(shù)單元的QAQBQCQD為0100時,就要又從0000開始計(jì)數(shù),這樣就實(shí)現(xiàn)了“時”24進(jìn)制的計(jì)數(shù)。
3.2校時電路的設(shè)計(jì)
數(shù)字鐘應(yīng)具有分校正和時校正功能,因此,應(yīng)截?cái)喾謧€位和時個位的直接計(jì)數(shù)通路,并采用正常計(jì)時信號與校正信號可以隨時切換的電路接入其中。如圖6所示,當(dāng)開關(guān)J1按下時,直接給分個位計(jì)數(shù)器一個脈沖信號,使分計(jì)數(shù)器進(jìn)1位,同時不影響數(shù)字鐘的運(yùn)行。同理,由J2對時計(jì)數(shù)器進(jìn)行校對。
圖6 校時校分電路
3.3 整點(diǎn)報(bào)時設(shè)計(jì)
仿廣播電臺正點(diǎn)報(bào)時電路的功能要求時:每當(dāng)數(shù)字鐘計(jì)時快要到正點(diǎn)時發(fā)出聲響,通常按照4低音1高音的順序發(fā)出間斷聲響,以最后一聲高音結(jié)束的時刻是整點(diǎn)時刻。
每當(dāng)數(shù)字鐘計(jì)時快要到正點(diǎn)時發(fā)出聲響,按照4低音1高音的頻率發(fā)出間 斷聲響,前4低音聲響頻率為500HZ,后1高音聲響頻率為1000HZ。并以最后一 聲高音結(jié)束的時刻為正點(diǎn)時刻。本設(shè)計(jì)中,報(bào)時電路采用TTL與非門。報(bào)時電路如圖1.5所示。4聲低音分別發(fā)生在59分51秒、53秒、55秒及57秒,最后一 聲高音發(fā)生在59分59秒,聲響均持續(xù)1秒。如表1.2所示。由表可得式1.1。只有當(dāng)分十位的Q2M2Q0M2=11,分個位的Q3M1Q0M1=11,秒個位的Q2S2Q0S=11及秒個位的Q0S1=1時,音響電路才能工作。
3.4 報(bào)時電路的安裝與調(diào)試
按照原理圖及實(shí)物連線圖接線。報(bào)時音響電路采用三極管3DG130來推動喇叭。報(bào)時所需的500Hz和1000Hz音頻信號,分別取分頻器的500Hz輸出端和1000Hz輸出端。
四 主要芯片的技術(shù)參數(shù)
4.1 74LS90芯片
74LS90芯片結(jié)構(gòu)及引腳分布如圖7所示,74LS90計(jì)數(shù)器是一種中規(guī)模的二一五進(jìn)制計(jì)數(shù)器。它由四個主從JK觸發(fā)器和一些附加門電路組成,整個電路可分兩部分,其中FA觸發(fā)器構(gòu)成一位二進(jìn)制計(jì)數(shù)器;FD、FC、FB構(gòu)成異步五進(jìn)制計(jì)數(shù)器,在74LS90計(jì)數(shù)器電路中,設(shè)有專用置“0”端R1、R2和置位(置“9”)端S1、S2。
圖7 74LS90芯片
4.2 74LS290芯片
74LS190芯片的管腳分布如圖8所示,其中,R9(1)、R9(2)稱為置“9”端,R0(1)、R0(2)稱為置“0”端;A、B端為計(jì)數(shù)時鐘輸入端,QAQBQCQD為輸出端,NC表示空腳。74LS290具有以下功能:
置“9”功能:當(dāng)R9(1)= R9(2)=1時,不論其他輸入端狀態(tài)如何,計(jì)數(shù)器輸出QAQBQCQD=1001,而1001(2進(jìn)制)=9(10進(jìn)制),故又稱為異步置數(shù)功能。
置“0”功能:當(dāng)R9(1)和 R9(2)不全為1,并且R0(1)=R0(2)=1時,不論其他輸入端狀態(tài)如何,計(jì)數(shù)器輸出QAQBQCQD=0000,故又稱為異步清零功能或復(fù)位功能。
計(jì)數(shù)功能:當(dāng)R9(1)和 R9(2)不全為1,并且R0(1)和R0(2)不全為1時,輸入計(jì)數(shù)脈沖,計(jì)數(shù)器開始計(jì)數(shù)。
圖8 74LS290芯片
五 心得體會
通過這次綜合試驗(yàn)設(shè)計(jì),大大提高了我分析問題的能力,同時提高了運(yùn)用電工領(lǐng)域有關(guān)的軟件進(jìn)行電路模擬仿真的能力,將自己在課堂上學(xué)到的數(shù)電知識得到充分發(fā)揮,解決了很多問題,同時學(xué)到了很多元件和芯片的各種用途及性能,從中學(xué)到了很多書上沒有明白的問題
本次的課程設(shè)計(jì),是對所學(xué)的數(shù)電知識的一次綜合應(yīng)用,既考驗(yàn)了我的知識掌握程度,也鍛煉了我的動手能力。在此過程中,我學(xué)到很多新知識,對電工電子課程的學(xué)習(xí)也更有興趣了。雖然此次課程設(shè)計(jì)花費(fèi)了一番功夫,卻讓我收獲了很多,讓我知道了學(xué)無止境,永遠(yuǎn)不能滿足現(xiàn)有的知識,人生就像在爬山,一座山峰的后面還有更高山峰在等著你。
在這次數(shù)字電子鐘課程設(shè)計(jì)中,也非常感謝同學(xué)的幫助!
第四篇:EDA綜合實(shí)驗(yàn)設(shè)計(jì)報(bào)告
Beijing Jiaotong University
EDA實(shí)驗(yàn)設(shè)計(jì)報(bào)告
指導(dǎo)老師:劉彪
學(xué)
院:電子信息工程學(xué)院 姓
名:黃家維 學(xué)
號:13213012 班
級:電子1301
實(shí)驗(yàn)地點(diǎn):電氣樓406
實(shí)驗(yàn)日期:2014年5月29日星期四
實(shí)驗(yàn)一熟悉QuartusII軟件的安裝及使用(4學(xué)時)
我們通過下載及安裝,可在電腦上運(yùn)行Altera Quartus II。打開軟件,新建一個工程,在工程底下新建一個VHDL File,即可實(shí)現(xiàn)編程功能。編完程序后點(diǎn)擊Start Compilation可試運(yùn)行程序,待編寫的程序運(yùn)行無誤后,再在此工程下新建一個Vector Waveform File,給程序中的輸入變量賦值,保存后點(diǎn)擊Start Simulation即可實(shí)現(xiàn)程序的仿真。實(shí)驗(yàn)
二、組合邏輯電路的設(shè)計(jì) 實(shí)驗(yàn)方案設(shè)計(jì)、實(shí)驗(yàn)方法、1.實(shí)驗(yàn)方案
8-3優(yōu)先編碼器的VHDL描述有多種方法,設(shè)計(jì)過程中可以根據(jù)真值表采用case…when語句、with…select語句、if…then結(jié)構(gòu)等多種手段實(shí)現(xiàn),也可以根據(jù)真值表分析輸入輸出間的邏輯關(guān)系,根據(jù)邏輯關(guān)系寫出其布爾表達(dá)式,根據(jù)布爾代數(shù)式調(diào)用基本邏輯門元件實(shí)現(xiàn)8-3優(yōu)先編碼器。
本實(shí)驗(yàn)中根據(jù)真值表用if-then結(jié)構(gòu)實(shí)現(xiàn)8-3優(yōu)先編碼器 2.實(shí)驗(yàn)方法
首先根據(jù)前文所述,對照真值表的列出的不同輸入邏輯狀態(tài),分情況依次輸出于輸入的對應(yīng)關(guān)系,而后編譯綜合,由開發(fā)系統(tǒng)自行實(shí)現(xiàn)電路功能。實(shí)驗(yàn)步驟
1.設(shè)計(jì)輸入 利用FILENew菜單輸入VHDL源程序,創(chuàng)建源文件 2.設(shè)計(jì)項(xiàng)目的創(chuàng)建 1)原文件存儲…..2)利用FILEProjectSet Project… 3.設(shè)計(jì)編譯 ….4.器件選擇及管腳分配 …..5.設(shè)計(jì)仿真 …..6.時序分析 …..7.編程下載(可選)….LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ENCODER IS
PORT(D:IN TO 7);
A:OUT STD_LOGIC_VECTOR(0 TO 2));END;ARCHITECTURE XIANI OF ENCODER IS BEGIN PROCESS(D)BEGIN IF
(D(7)='0')THEN A<=“111”;
ELSIF(D(6)='0')THEN A<=“110”;
STD_LOGIC_VECTOR(0
ELSIF(D(5)='0')THEN A<=“101”;
ELSIF(D(4)='0')THEN A<=“100”;
ELSIF(D(3)='0')THEN A<=“011”;
ELSIF(D(2)='0')THEN A<=“010”;
ELSIF(D(1)='0')THEN A<=“001”;
ELSIF(D(0)='0')THEN A<=“000”;
ELSE A<=“ZZZ”;
END IF;END PROCESS;END;
1用CASE語句設(shè)計(jì)一個4-16譯碼器。設(shè)計(jì)思路:
通過case語句可實(shí)現(xiàn)使能端的控制及4-16譯碼器的功能,即輸入一個四位二進(jìn)制數(shù),即可使輸出的16個端口中相應(yīng)的端口電平發(fā)生變化。用case語句來實(shí)現(xiàn)譯碼器中相應(yīng)數(shù)值選擇的功能恰到好處。程序:
其中實(shí)體名為SB2,when “0000”=> outt(15 downto 0)<=“***0”等語句即可實(shí)現(xiàn)從0011譯碼到第4位輸出發(fā)生變化。具體程序如下: library ieee;use ieee.std_logic_1164.all;entity SB2 is
port(inn:in std_logic_vector(3 downto 0);
shi:in std_logic;
outt:out std_logic_vector(15 downto 0));end entity SB2;architecture sb of SB2 is
begin process(inn,shi)begin if shi='1' then case inn is when “0000”=>
outt(15 0)<=“***0”;when “0001”=>
outt(15 0)<=“***1”;when “0010”=>
outt(15 0)<=“***1”;when “0011”=>
outt(15 0)<=“***1”;when “0100”=>
outt(15 0)<=“***1”;when “0101”=>
outt(15 0)<=“***1”;when “0110”=>
outt(15
downto
downto
downto
downto
downto
downto
downto 0)<=“***1”;when “0111”=>
outt(15 0)<=“***1”;when “1000”=>
outt(15 0)<=“***1”;when “1001”=>
outt(15 0)<=“***1”;when “1010”=>
outt(15 0)<=“***1”;when “1011”=>
outt(15 0)<=“***1”;when “1100”=>
outt(15 0)<=“***1”;when “1101”=>
outt(15 0)<=“***1”;
downto
downto
downto
downto
downto
downto
downto when “1110”=> outt(15 downto 0)<=“***1”;when “1111”=>
outt(15
downto 0)<=“***1”;when others
=>outt(15
downto 0)<=“***1”;end case;end if;end process;end architecture;仿真波形:
當(dāng)輸入inn為0000時,輸出outt中的第16個端口變?yōu)榈碗娖?,即?shí)現(xiàn)了譯碼的功能。實(shí)際仿真波形如下圖。
實(shí)驗(yàn)3:時序電路設(shè)計(jì)
設(shè)計(jì)4位二進(jìn)制同步加/減法可逆計(jì)數(shù)器,其中 輸入: clr:
異步清零(高電平有效)clk:
時鐘輸入
d3-d0:
4位二進(jìn)制數(shù)輸入端 updown:
加/減法控制信號(‘1’加,‘0’減)輸出: q3-q0:
4位二進(jìn)制計(jì)數(shù)輸出 co:
進(jìn)位輸出 bo:
借位輸出 設(shè)計(jì)思路:
用if語句實(shí)現(xiàn)清零及加減法的選擇。若選擇updown=1,則當(dāng)時鐘輸入為高電平時輸入的d就加1,當(dāng)d=1111時進(jìn)位輸出co就變1,最后將d中的數(shù)送給q來輸出,以達(dá)到4位二進(jìn)制同步加/減法可逆計(jì)數(shù)器的設(shè)計(jì)。程序:
其中實(shí)體名為
CTRDIV16,程序中兩個關(guān)鍵的if語句即可實(shí)現(xiàn)加減法的控制及進(jìn)位、借位的輸出。具體程序如下: library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity CTRDIV16 is
port(clk:in STD_LOGIC;
updown:in STD_LOGIC;
clr:in STD_LOGIC;
q:out STD_LOGIC_VECTOR downto 0);
co,bo:out std_logic);end CTRDIV16;
(3 architecture sbb of CTRDIV16 is signal d:std_logic_vector(3 downto 0);begin process(clk,clr,updown)begin if clr='1' then
d<=“0000”;elsif clk'event and clk='1' then
if updown='1' then
d<=d+'1';
co<='0';
bo<='0';
else
d<=d-'1';
co<='0';
bo<='0';
end if;
if d=“1111” and updown='1' then
co<='1';
bo<='0';
end if;
if d=“0000” and updown='0' then
bo<='1';
co<='0';
end if;end if;end process;process(d)begin q<=d;end process;end sbb;仿真波形:
若選取updown=1(加法),通過波形即可看出,該程序已經(jīng)實(shí)現(xiàn)了d的加法運(yùn)算,同時在d=1111時,進(jìn)位輸出co跳轉(zhuǎn)一次,即有一個進(jìn)位。
若選取updown=0(減法),該程序也實(shí)現(xiàn)了d的減法運(yùn)算,同時在d=0000是,借位輸出bo跳轉(zhuǎn)一次,即有一個借位輸出。具體仿真波形如下。
updown=1(加法)updown=0(減法)
實(shí)驗(yàn)感想:
quartusII可以模擬硬件設(shè)計(jì),即為硬件程序燒寫模擬軟件,操作簡單,易于運(yùn)行。它讓我熟練了實(shí)際硬件的使用語言和邏輯順序,并能實(shí)現(xiàn)一些簡單硬件的程序編制和模擬仿真,使我對VHDL和EDA有了更加具體而深刻的認(rèn)識,我認(rèn)為這次實(shí)驗(yàn)設(shè)計(jì)對使我獲益匪淺,一定會為我以后的學(xué)習(xí)生活帶來不少的益處。
第五篇:《停車場管理系統(tǒng)》實(shí)驗(yàn)設(shè)計(jì)報(bào)告
重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)設(shè)計(jì)報(bào)告
題目:停車場管理系統(tǒng) 姓名:** 學(xué)號: 2010211998 班級:0491002 學(xué)院:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
目錄
一、問題描述………………………………………………………03
二、問題分析………………………………………………………03
三、數(shù)據(jù)結(jié)構(gòu)描述…………………………………………………04
四、算法設(shè)計(jì)………………………………………………………04
五、程序優(yōu)缺點(diǎn)分析及優(yōu)化………………………………………05
六、程序源代碼……………………………………………………07
七、程序運(yùn)行結(jié)果…………………………………………………13
八、心得體會………………………………………………………15 附
一、優(yōu)化后的程序…………………………………………………16 附
二、優(yōu)化后程序的運(yùn)行結(jié)果………………………………………23
重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
一、問題描述
設(shè)計(jì)一個停車場管理系統(tǒng)。
設(shè)停車場是一個可停放n輛汽車的狹長通道,且只有一個大門可供汽車進(jìn)出。汽車在停車場內(nèi)按車輛到達(dá)時間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在停車場的最北端),若停車場內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上等候,一旦有車開走,則排在便道上的第一輛車即可開入;當(dāng)停車場內(nèi)某輛車要離開時,在它之后進(jìn)入的車輛必須先退出車場為它讓路,待該輛車開出大門外,其他車輛再按原次序進(jìn)入車場,每輛停放在車場的車在它離開停車場時必須按它停留的時間長短交納費(fèi)用。試為停車場編制按上述要求進(jìn)行管理的模擬程序?!净疽蟆?/p>
以棧模擬停車場,以隊(duì)列模擬車場外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個數(shù)據(jù)項(xiàng):汽車?到達(dá)?或?離去?信息、汽車牌照號碼以及到達(dá)或離去的時刻。對每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出信息為:若是車輛到達(dá),則輸出汽車在停車場內(nèi)或便道上的停車位置;若是車輛離去,則輸出汽車在停車場內(nèi)停留的時間和應(yīng)交納的費(fèi)用(在便道上停留的時間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。【選作內(nèi)容】
(1)兩個棧共享空間,思考應(yīng)開辟數(shù)組的空間是多少?
(2)汽車可有不同種類,則他們的占地面積不同,收費(fèi)標(biāo)準(zhǔn)也不同,如1輛客車和1.5輛小汽車的占地面積相同,1輛十輪卡車占地面積相當(dāng)于3輛小汽車的占地面積。
(3)汽車可以直接從便道上開走,此時排在它前面的汽車要先開走讓路,然后再依次排到隊(duì)尾。
二、問題分析
該問題需要以棧和隊(duì)列作為基本的存儲結(jié)構(gòu),以順序棧模擬停車場,以鏈隊(duì)列模擬車場外的便道。汽車進(jìn)入停車場,即是在順序棧上執(zhí)行進(jìn)棧操作,退出停車場即是在順序棧上執(zhí)行出棧操作;汽車進(jìn)入便道,即是在鏈隊(duì)列上執(zhí)行入隊(duì)操作,退出便道即是在鏈隊(duì)列上執(zhí)行出隊(duì)操作。
當(dāng)停車場內(nèi)某輛車要離開時,在它之后進(jìn)入的車輛必須先退出車場為它讓路,待該輛車開出大門外,其他車輛再按原次序進(jìn)入車場。設(shè)要刪除的元素在順序表St中位置為i,則從i到top之間的全部元素進(jìn)入到一個臨時棧St1中, 其次再刪除該元素,然后將臨棧St1的元素按照?先進(jìn)后出?的原則重新回到St中。若鏈隊(duì)不空,則使隊(duì)頭進(jìn)棧St,并以當(dāng)前時刻開始計(jì)費(fèi)。
程序需要構(gòu)造兩個順序棧St和St1,其中St用于模擬停車場,St1用作臨時棧,臨時停放為給要離去的汽車讓路而從停車場退出來的汽車。此外還需要構(gòu)
重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
造一個鏈隊(duì)列Qu用于模擬便道。
三、數(shù)據(jù)結(jié)構(gòu)描述
/*定義順序棧類型*/ typedefstruct { intCarNo[N];
/*車牌號*/ intCarTime[N];
/*進(jìn)場時間*/ int top;
/*棧指針*/ } SqStack;
/*定義順序棧類型*/
/*定義鏈隊(duì)類型*/ typedefstructqnode { intCarNo;
/*車牌號*/ structqnode *next;} QNode;typedefstruct { QNode *front;/*隊(duì)首和隊(duì)尾指針*/ QNode *rear;} LiQueue;
四、算法設(shè)計(jì)
1.對于子函數(shù)模塊,則調(diào)用順序棧的基本操作和鏈隊(duì)列的基本操作。如下:
/*順序棧的基本運(yùn)算算法*/ voidInitStack(SqStack *&s)
intStackEmpty(SqStack *s)
intStackFull(SqStack *s)
/*S中的插入新元素*/ int Push(SqStack *&s,int e1,int e2)
重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
/*刪除S的棧頂元素,并用e1,e2返回其值*/ int Pop(SqStack *&s,int&e1,int &e2)
voidDispStack(SqStack *s)
/*以下為鏈隊(duì)列的基本運(yùn)算算法*/ voidInitQueue(LiQueue *&q)
intQueueLength(LiQueue *q)
intQueueEmpty(LiQueue *q)
voidenQueue(LiQueue *&q, int e)} intdeQueue(LiQueue *&q,int&e)
voidDisplayQueue(LiQueue *q)
2.主程序模塊 void main(){ 初始化; do { 接受命令;
處理命令;
} while(命令!=?退出?); }
五、程序優(yōu)缺點(diǎn)分析及優(yōu)化
1.程序的優(yōu)點(diǎn)
在程序中設(shè)置了kind變量,用于保存車的類別,便于計(jì)算不同類別車的停車費(fèi)用,如下程序段:
printf(“n請輸入車的類別【車的類別:1.代表小汽車 2.代表客車 3.代表卡車】:n”);scanf(“%d”,&kind);
其中kind可取值1,2,3;若kind取2,則表示一輛客車單位時間內(nèi)的停車費(fèi)用
重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
是一輛小汽車的2倍,若kind取3,則表示一輛卡車單位時間內(nèi)的停車費(fèi)用是一輛小汽車的3倍。
當(dāng)然printf(“n請輸入車的類別【車的類別:1.代表小汽車 2.代表客車 3.代表卡車】:n”);中的1.2.3也可以根據(jù)實(shí)際情況改變。比如,若實(shí)際中,一輛小汽車單位時間內(nèi)的停車費(fèi)用
是一輛客車的2倍,一輛卡車單位時間內(nèi)的停車費(fèi)用是一輛客車的4倍,則可以改成:
printf(“n請輸入車的類別【車的類別:1.代表客車2.代表小汽車 4.代表卡車】:n”);
則kind可取值1,2,4; kind取1時對應(yīng)的是客車,表示計(jì)算停車費(fèi)用時以一輛客車單位時間內(nèi)的停車費(fèi)用為基數(shù),若kind取2,則表示一輛小汽車單位時間內(nèi)的停車費(fèi)用是一輛客車的2倍,若kind取4,則表示一輛卡車單位時間內(nèi)的停車費(fèi)用是一輛客車的4倍。
2.程序的缺點(diǎn)
(1)輸入時間時,程序沒有檢測錯誤功能 程序的輸入形式如下: 設(shè)n=2,輸入數(shù)據(jù)為:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘A’5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。其中:‘A’表示到達(dá)(arrival);‘D’表示離去(departure);‘E’表示輸出結(jié)束(end)。
設(shè)每個輸入項(xiàng)的形式為(Choose, CarNumber, Time),其中Choose表示每個括號中的第一項(xiàng)數(shù)據(jù),即A/D/E; CarNumber表示每個括號中的第二項(xiàng),即1/2/3;Time表示每個括號中的第三項(xiàng),即5/10/15。設(shè)前后兩次輸入的數(shù)據(jù)中的第三項(xiàng)分別為Time1,Time2;則必須滿足Time2≧Time1。而在實(shí)際輸入過程中用戶可能會忽略這一點(diǎn),所以應(yīng)該在輸入Time是設(shè)置一個判斷語句,若前后兩次輸入的Time不滿足Time2≧Time1,則要求用戶重新輸入,直至滿足要求為止。
(2)程序的界面不夠清晰,一次性輸入的數(shù)據(jù)項(xiàng)比較多,容易出錯。3.改進(jìn)思想(1)
為了保證前后兩次輸入的Time必須滿足Time2≧Time1,使程序具有錯誤檢測功能,在程序輸入部分添加了如下代碼:
printf(“輸入現(xiàn)在的時刻:n”);
scanf(“%d”,&time2);
while(time2 { printf(“時間輸入錯誤,請重新輸入:n”); scanf(“%d”,&time2); 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 } time1=time2;//time1定義為靜態(tài)變量 (2)為了使程序有更清晰的界面,可在主函數(shù)中加入菜單的顯示方式。且數(shù)據(jù)可以采用一次輸入一個數(shù)據(jù)項(xiàng),分步輸入的方式,使輸入過程少出錯。于是可以將主函數(shù)進(jìn)行修改。(見附錄一) 六、程序源代碼 #include /*停車場內(nèi)最多的停車數(shù)*/ #define Price 2 /*每單位停車費(fèi)用*/ typedefstruct { intCarNo[N]; /*車牌號*/ intCarTime[N]; /*進(jìn)場時間*/ int top; /*棧指針*/ } SqStack; /*定義順序棧類型*/ /*定義鏈隊(duì)類型*/ typedefstructqnode { intCarNo; /*車牌號*/ structqnode *next;} QNode;typedefstruct { QNode *front;/*隊(duì)首和隊(duì)尾指針*/ QNode *rear;} LiQueue; /*順序棧的基本運(yùn)算算法*/ voidInitStack(SqStack *&s){ s=(SqStack *)malloc(sizeof(SqStack));s->top=-1; 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 } intStackEmpty(SqStack *s){ return(s->top==-1);} intStackFull(SqStack *s){ return(s->top==N-1);} /*S中的插入新元素*/ int Push(SqStack *&s,int e1,int e2){ if(s->top==N-1) return 0;s->top++;s->CarNo[s->top]=e1;s->CarTime[s->top]=e2;return 1;} /*刪除S的棧頂元素,并用e1,e2返回其值*/ int Pop(SqStack *&s,int&e1,int &e2){ if(s->top==-1) return 0;e1=s->CarNo[s->top];e2=s->CarTime[s->top];s->top--;return 1;} voidDispStack(SqStack *s){ int i;for(i=0;i<=s->top;i++) printf(“%d ”,s->CarNo[i]);printf(“n”);} /*以下為鏈隊(duì)列的基本運(yùn)算算法*/ 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 voidInitQueue(LiQueue *&q){ q=(LiQueue *)malloc(sizeof(LiQueue));q->front=q->rear=NULL;} intQueueLength(LiQueue *q){ int n=0;QNode *p=q->front;while(p!=NULL){ n++; p=p->next;} return(n);} intQueueEmpty(LiQueue *q){ if(q->rear==NULL) return 1;else return 0;} voidenQueue(LiQueue *&q, int e){ QNode *s;s=(QNode *)malloc(sizeof(QNode));s->CarNo=e;s->next=NULL;if(q->rear==NULL)/*若鏈隊(duì)為空,則新結(jié)點(diǎn)是隊(duì)首結(jié)點(diǎn)又是隊(duì)尾結(jié)點(diǎn)*/ q->front=q->rear=s;else { q->rear->next=s;/*將*s結(jié)點(diǎn)鏈到隊(duì)尾,rear指向它*/ q->rear=s;} } intdeQueue(LiQueue *&q,int&e){ QNode *t;if(q->rear==NULL)/*隊(duì)列為空*/ return 0; 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 if(q->front==q->rear)/*隊(duì)列中只有一個結(jié)點(diǎn)時*/ { t=q->front; q->front=q->rear=NULL;} else /*隊(duì)列中有多個結(jié)點(diǎn)時*/ { t=q->front; q->front=q->front->next;} e=t->CarNo;free(t);return 1;} voidDisplayQueue(LiQueue *q){ QNode *p=q->front;while(p!=NULL){ printf(“%d ”,p->CarNo); p=p->next;} } void main(){ char choose;/*用于選擇命令*/ int no,e1,time,e2,kind;/*用于存放車牌號、當(dāng)前停車時刻*/ inti,j;SqStack *St,*St1;/*臨時棧St1,當(dāng)停車場中間的車要推出去時,用于倒車*/ LiQueue *Qu;InitStack(St);InitStack(St1);InitQueue(Qu);printf(“ #”);printf(“n# #”);printf(“n# 歡迎使用停車場管理系統(tǒng) #”); 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 printf(“n# #”);printf(“n# 【輸入提示】:汽車狀態(tài)由A、D、E 表示。其中,A:表示汽車到達(dá) D:表示汽車離去, #”);printf(“n# E:表示輸出結(jié)束。每次輸入的數(shù)據(jù)由三項(xiàng)構(gòu)成,即:(汽車狀態(tài),車牌號,當(dāng)前時刻)#”);printf(“n# 數(shù)據(jù)項(xiàng)之間以逗號分開。例如輸入示范:A,1,5 #”);printf(“n #n”);printf(“n正在讀取汽車信息...n”); do { printf(“n*****************************************************************”);printf(“n請分別輸入汽車狀態(tài)(A/D/E)、車牌號和當(dāng)前時刻(數(shù)據(jù)之間以逗號分開):n”);scanf(“ %c,%d,%d”,&choose,&no,&time); switch(choose){ /*************************** 汽車到達(dá) ******************************/ case 'A': case 'a': if(!StackFull(St)) /*停車場不滿*/ { Push(St,no,time); printf(“該車在停車場中的位置是:%dn”,St->top+1); } else /*停車場滿*/ { enQueue(Qu,no); printf(“n停車場已滿,該車進(jìn)入便道,在便道中的位置是:%dn”,QueueLength(Qu)); } break;/************************* 汽車離開 ********************************/ case 'D': case 'd': 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 printf(“n請輸入車的類別【車的類別:1.代表小汽車 2.代表客車 3.代表卡車】:n”);scanf(“%d”,&kind); for(i=0;i<=St->top && St->CarNo[i]!=no;i++); if(i>St->top)/*要離開的汽車在便道上*/ { /*汽車可以直接從便道上開走,此時排在它前面的汽車要先開走讓路,然后再依次排到隊(duì)尾*/ while(Qu->front->CarNo!=no) { enQueue(Qu,Qu->front->CarNo); // deQueue(Qu,Qu->front->CarNo); Qu->front = Qu->front->next; } deQueue(Qu,no);printf(“n便道上車牌號為%d的汽車已離開!n”,no); printf(“n當(dāng)前便道中的車輛的車牌號分別是:”); DisplayQueue(Qu); printf(“n”); } else /*要離開的汽車在停車場中*/ { for(j=i;j<=St->top;j++) { Pop(St,e1,e2);/*e1,e2用來返回被刪元素的車牌號和停車時刻*/ Push(St1,e1,e2);/*倒車到臨時棧St1中,將e1,e2插入到臨時棧中*/ } Pop(St,e1,e2); /*該汽車離開*/ printf(“n車牌號為%d的汽車停車時間為:%d。停車費(fèi)用為:%dn”,no,time-e2,(time-e2)*Price*kind); /*對小汽車而言:當(dāng)前時刻 減去 該車當(dāng)時停車的時刻,再乘以價格就是費(fèi)用,而對于客車和卡車而言,就要乘以kind倍小汽車的價格*/ while(!StackEmpty(St1))/*將臨時棧St1重新回到St中*/ { Pop(St1,e1,e2); Push(St,e1,e2); } if(!QueueEmpty(Qu))/*隊(duì)不空時,將隊(duì)頭進(jìn)棧St*/ { 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 deQueue(Qu,e1); Push(St,e1,time);/*以當(dāng)前時間開始計(jì)費(fèi)*/ } printf(“n當(dāng)前停車場中的車輛的車牌號分別是:”);//輸出停車場中的車輛 DispStack(St); } break;/************************ 結(jié)束 *********************************/ case 'E': case 'e': printf(“n正在退出系統(tǒng)...n”); if(!StackEmpty(St))//顯示停車場情況 { printf(“n當(dāng)前停車場中的車輛的車牌號分別是:”);//輸出停車場中的車輛 DispStack(St); printf(“n”); } else printf(“n當(dāng)前停車場中無車輛nn”); break;/************************ 結(jié)束 *********************************/ default: /*其他情況*/ printf(“輸入的命令錯誤!n”); break;} } while(choose!='E'&&choose!='e');} 七、程序運(yùn)行結(jié)果 取N=2,即停車場內(nèi)最多的停車數(shù)為2 取 Price=2,即每單位停車費(fèi)用為2 輸入數(shù)據(jù)為:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 (‘A’,4,25),(‘A’5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。程序演示結(jié)果如下圖所示: 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 八、心得體會 (1)該實(shí)驗(yàn)涉及到順序棧的建立、插入、刪除等操作,涉及到了鏈隊(duì)列的建立、插入、刪除等操作。做這個實(shí)驗(yàn),加深了我對以上知識點(diǎn)的認(rèn)識和理解。(2)提高了 C 語言編程的能力。在程序設(shè)計(jì)過程中,需要經(jīng)過反復(fù)地編寫,調(diào)試,運(yùn)行,發(fā)現(xiàn)問題并解決問題,在這次實(shí)驗(yàn)的設(shè)計(jì)中,我加深對程序的了解,提高自己的實(shí)際動手能力和獨(dú)立思考的能力同時我也學(xué)會了綜合以前學(xué)到的基本知識來解決較大問題的方法。 (3)一方面我養(yǎng)成了注重程序細(xì)節(jié)的意識。例如: printf(“n請分別輸入汽車狀態(tài)(A/D/E)、車牌號和當(dāng)前時刻(數(shù)據(jù)之間以逗號分開):n”);scanf(“ %c,%d,%d”,&choose,&no,&time); 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 %c,前面必須留一個空格,否則程序在顯示的時候就會有一些問題。 (4)另一方面我也深刻地認(rèn)識到了《數(shù)據(jù)結(jié)構(gòu)》這門課程的重要性?!皵?shù)據(jù)結(jié)構(gòu)”在計(jì)算機(jī)科學(xué)中是一門綜合性的專業(yè)基礎(chǔ)課。數(shù)據(jù)結(jié)構(gòu)的研究不僅涉及到計(jì)算機(jī)硬件的研究,而且和計(jì)算機(jī)軟件的研究有著更密切的關(guān)系,無論是編譯程序還是操作系統(tǒng),都涉及到數(shù)據(jù)元素在存儲器中的分配問題。在研究信息檢索時也必須 考慮如何組織數(shù)據(jù),以便使查找和存取數(shù)據(jù)元素更為方便。可以認(rèn)為數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之間的一個核心內(nèi)容,是從事計(jì)算機(jī)科學(xué)研究及其應(yīng) 用的科技工作者必須掌握的重要內(nèi)容 附 一、優(yōu)化后的程序 #include /*停車場內(nèi)最多的停車數(shù)*/ #define Price 2 /*每單位停車費(fèi)用*/ typedefstruct { intCarNo[N]; /*車牌號*/ intCarTime[N]; /*進(jìn)場時間*/ int top; /*棧指針*/ } SqStack; /*定義順序棧類型*/ /*定義鏈隊(duì)類型*/ typedefstructqnode { intCarNo;/*車牌號*/ structqnode *next;} QNode;typedefstruct { QNode *front;/*隊(duì)首和隊(duì)尾指針*/ QNode *rear;} LiQueue; /*順序棧的基本運(yùn)算算法*/ voidInitStack(SqStack *&s){ s=(SqStack *)malloc(sizeof(SqStack));s->top=-1;} 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 intStackEmpty(SqStack *s){ return(s->top==-1);} intStackFull(SqStack *s){ return(s->top==N-1);} /*S中的插入新元素*/ int Push(SqStack *&s,int e1,int e2){ if(s->top==N-1) return 0;s->top++;s->CarNo[s->top]=e1;s->CarTime[s->top]=e2;return 1;} /*刪除S的棧頂元素,并用e1,e2返回其值*/ int Pop(SqStack *&s,int&e1,int &e2){ if(s->top==-1) return 0;e1=s->CarNo[s->top];e2=s->CarTime[s->top];s->top--;return 1;} voidDispStack(SqStack *s){ int i;for(i=0;i<=s->top;i++) printf(“%d ”,s->CarNo[i]);printf(“n”);} /*以下為鏈隊(duì)列的基本運(yùn)算算法*/ voidInitQueue(LiQueue *&q){ q=(LiQueue *)malloc(sizeof(LiQueue)); 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 q->front=q->rear=NULL;} intQueueLength(LiQueue *q){ int n=0;QNode *p=q->front;while(p!=NULL){ n++; p=p->next;} return(n);} intQueueEmpty(LiQueue *q){ if(q->rear==NULL) return 1;else return 0;} voidenQueue(LiQueue *&q, int e){ QNode *s;s=(QNode *)malloc(sizeof(QNode));s->CarNo=e;s->next=NULL;if(q->rear==NULL)/*若鏈隊(duì)為空,則新結(jié)點(diǎn)是隊(duì)首結(jié)點(diǎn)又是隊(duì)尾結(jié)點(diǎn)*/ q->front=q->rear=s;else { q->rear->next=s;/*將*s結(jié)點(diǎn)鏈到隊(duì)尾,rear指向它*/ q->rear=s;} } intdeQueue(LiQueue *&q,int&e){ QNode *t;if(q->rear==NULL)/*隊(duì)列為空*/ return 0;if(q->front==q->rear)/*隊(duì)列中只有一個結(jié)點(diǎn)時*/ { t=q->front; 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 q->front=q->rear=NULL;} else /*隊(duì)列中有多個結(jié)點(diǎn)時*/ { t=q->front; q->front=q->front->next;} e=t->CarNo;free(t);return 1;} voidDisplayQueue(LiQueue *q){ QNode *p=q->front;while(p!=NULL){ printf(“%d ”,p->CarNo); p=p->next;} printf(“n”);} void main(){ int choose;/*用于選擇命令*/ int no,e1,time2,e2,no_away;/*no_away:汽車離開時輸入車牌號;time2:當(dāng)前停車時刻;*/ static int time1;/*靜態(tài)變量time1用于存放上次時刻*/ inti,j;int kind;/*車的類別*/ time1=time2=0;SqStack *St,*St1;/*臨時棧St1,當(dāng)停車場中間的車要推出去時,用于倒車*/ LiQueue *Qu;InitStack(St);InitStack(St1);InitQueue(Qu);printf(“ ”);printf(“n# #”); 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 printf(“n# 歡迎使用停車場管理系統(tǒng) #”);printf(“n# #”);printf(“n n”);do { printf(“n******************** 主菜單 ****************************n”); printf(“** 1:車輛到達(dá) **n”); printf(“** 2:車輛離開 **n”); printf(“** 3:顯示停車場的車輛 **n”); printf(“** 4:顯示便道中的車輛 **n”); printf(“** 0:退出 **n”); printf(“********************************************************n”); printf(“請選擇:”); scanf(“%d”,&choose); switch(choose) { case 1: // #汽車到達(dá) ###### printf(“輸入輸入車牌號、當(dāng)前時刻(數(shù)據(jù)之間以逗號隔開):n”); scanf(“%d,%d”,&no,&time2);/*依次輸入車牌號、當(dāng)前停車時刻*/ while(time2 { printf(“時間輸入錯誤,請重新輸入當(dāng)前時刻:n”); scanf(“%d”,&time2); } time1=time2; if(!StackFull(St)) /*停車場不滿*/ { Push(St,no,time1); printf(“該車在停車場中的位置是:%dn”,St->top+1); 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 } else /*停車場滿*/ { enQueue(Qu,no); printf(“n停車場已滿,該車進(jìn)入便道,在便道中的位置是:%dn”,QueueLength(Qu)); } break; case 2: // ##汽車離開 #### printf(“輸入車牌號:n”); scanf(“%d”,&no_away); printf(“請輸入車的類別【車的類別:1.代表小汽車 2.代表客車 3.代表卡車】:n”);scanf(“%d”,&kind); printf(“輸入現(xiàn)在的時刻:n”);/*現(xiàn)在的時刻time1得大于之前的時刻time1*/ scanf(“%d”,&time2); while(time2 { printf(“時間輸入錯誤,請重新輸入:n”); scanf(“%d”,&time2); } time1=time2; for(i=0;i<=St->top && St->CarNo[i]!=no_away;i++); if(i>St->top)/*汽車可以直接從便道上開走,此時排在它前面的汽車要先開走讓路,然后再依次排到隊(duì)尾*/ { while(Qu->front->CarNo!=no_away) { enQueue(Qu,Qu->front->CarNo); Qu->front = Qu->front->next; } deQueue(Qu,no_away);printf(“n便道上車牌號為%d的汽車已離開!n”,no_away); printf(“n當(dāng)前便道中的車輛的車牌號分別是:”); DisplayQueue(Qu); printf(“n”); } else 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 { for(j=i;j<=St->top;j++) { Pop(St,e1,e2);/*e1,e2用來返回被刪元素的車牌號和停車時刻*/ Push(St1,e1,e2);/*倒車到臨時棧St1中,將e1,e2插入到臨時棧中*/ } Pop(St,e1,e2); /*該汽車離開*/ printf(“n車牌號為%d的汽車停車費(fèi)用為:%dn”,no_away,(time2-e2)*Price*kind);/*對小汽車而言:當(dāng)前時刻 減去 該車當(dāng)時停車的時刻,再乘以價格就是費(fèi)用,而對于客車和卡車而言,就要乘以kind倍小汽車的價格*/ while(!StackEmpty(St1))/*將臨時棧St1重新回到St中*/ { Pop(St1,e1,e2); Push(St,e1,e2); } if(!QueueEmpty(Qu))/*隊(duì)不空時,將隊(duì)頭進(jìn)棧St*/ { deQueue(Qu,e1); Push(St,e1,time1);/*以當(dāng)前時間開始計(jì)費(fèi)*/ } } break; case 3: // #####顯示停車場情況 if(!StackEmpty(St)) { printf(“當(dāng)前停車場中的車輛的車牌號分別是:”);/*輸出停車場中的車輛*/ DispStack(St); } else printf(“停車場中無車輛!n”); break; case 4: // ######顯示便道情況 # if(!QueueEmpty(Qu)) { 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 printf(“ 當(dāng)前便道中的車輛的車牌號分別是:”);/*輸出便道中的車輛*/ DisplayQueue(Qu); } else printf(“便道中無車輛!n”); break; case 0: // # 結(jié)束 ### printf(“n正在退出系統(tǒng)...n”); if(!StackEmpty(St)) { printf(“當(dāng)前停車場中的車輛的車牌號分別是:”);/*輸出停車場中的車輛*/ DispStack(St); } if(!QueueEmpty(Qu)) { printf(“ 當(dāng)前便道中的車輛的車牌號分別是:”);/*輸出便道中的車輛*/ DisplayQueue(Qu); } break; /**********************************************************/ default: /*其他情況*/ printf(“輸入的命令錯誤!n”); break; } } while(choose!=0);} 附 二、優(yōu)化后程序的運(yùn)行結(jié)果 取N=2,即停車場內(nèi)最多的停車數(shù)為2 取 Price=2,即每單位停車費(fèi)用為2 輸入數(shù)據(jù)為:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘A’5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。程序演示結(jié)果如下圖所示: 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院