第一篇:EDA課程設(shè)計(jì)流水燈設(shè)計(jì)
EDA課程實(shí)踐報(bào)告
基于verilog的流水燈設(shè)計(jì)
學(xué)院:物理與電氣工程學(xué)院 專業(yè):11級(jí)電子信息工程
姓名:蔣美菊
學(xué)號(hào):111102088
基于verilog的流水燈設(shè)計(jì)
一、摘要
隨著EDA技術(shù)發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,EDA技術(shù)在電子信息、通訊、自動(dòng)控制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性突出。隨著技術(shù)市場(chǎng)與人才市場(chǎng)對(duì)EDA的需求不斷提高,產(chǎn)品的市場(chǎng)需求和技術(shù)市場(chǎng)的要求也必然會(huì)反映到教學(xué)領(lǐng)域和科研領(lǐng)域中來(lái)。因此學(xué)好EDA技術(shù)對(duì)我們有很大的益處。EDA是指以計(jì)算機(jī)為工具,在EDA軟件平臺(tái)上,根據(jù)設(shè)計(jì)社描述的源文件(原理圖文件、硬件描述語(yǔ)言文件或波形圖文件),自動(dòng)完成系統(tǒng)的設(shè)計(jì),包括編譯、仿真、優(yōu)化、綜合、適配(或布局布線)以及下載。
流水燈是一串按一定的規(guī)律像流水一樣連續(xù)閃亮,流水燈控制是可編程控制器的一個(gè)應(yīng)用,其控制思想在工業(yè)控制技術(shù)領(lǐng)域也同樣適用。流水燈控制可用多種方法實(shí)現(xiàn),但對(duì)現(xiàn)代可編程控制器而言,基于EDA技術(shù)的流水燈設(shè)計(jì)也是很普遍的。
課程設(shè)計(jì)主要的目的是通過(guò)某一電路的綜合設(shè)計(jì),了解一般電路綜合設(shè)計(jì)過(guò)程、設(shè)計(jì)要求、應(yīng)完成的工作內(nèi)容和具體的設(shè)計(jì)方法、通過(guò)設(shè)計(jì)也有助于復(fù)習(xí)、鞏固以往的學(xué)習(xí)內(nèi)容、達(dá)到靈活應(yīng)用的目的。在設(shè)計(jì)完成后,還要將設(shè)計(jì)的電路進(jìn)行安裝、調(diào)試以加強(qiáng)學(xué)生的動(dòng)手能力。在此過(guò)程中培養(yǎng)從事設(shè)計(jì)工作的整體觀念。
課程設(shè)計(jì)應(yīng)強(qiáng)調(diào)以能力培養(yǎng)為主,在獨(dú)立完成設(shè)計(jì)及制作任務(wù)同時(shí)注意多方面能力的培養(yǎng)與提高,主要包括以下方面: ·獨(dú)立工作能力和創(chuàng)造力。
·綜合運(yùn)用專業(yè)及基礎(chǔ)知識(shí),解決實(shí)際工程技術(shù)問(wèn)題的能力。·查閱圖書(shū)資料、產(chǎn)品手冊(cè)和各種工具書(shū)的能力。·寫(xiě)技術(shù)報(bào)告和編制技術(shù)資料的能力。·實(shí)際動(dòng)手能力。
利用學(xué)到的電子技術(shù)知識(shí),通過(guò)布置具有一定難度的設(shè)計(jì)題目,幫助學(xué)生熟悉課程設(shè)計(jì)任務(wù)和設(shè)計(jì)方法。
二、設(shè)計(jì)目的
1,學(xué)習(xí)使用EDA集成設(shè)計(jì)軟件Quartus II,電路描述,綜合,模擬過(guò)程。2,了解基于EDA應(yīng)用系統(tǒng)的設(shè)計(jì)方法。
3,掌握使用EDA工具設(shè)計(jì)流水燈的設(shè)計(jì)思路和設(shè)計(jì)方法
4,熟練使用Quartus II對(duì)實(shí)驗(yàn)程序進(jìn)行改錯(cuò),調(diào)試以及演示現(xiàn)象。5,幫助學(xué)生養(yǎng)成良好的實(shí)驗(yàn)習(xí)慣。
三、設(shè)計(jì)流程
(1)此次實(shí)驗(yàn)要求我們通過(guò)學(xué)習(xí)的EDA課程,來(lái)編制Verilog程序,以及使用這些程序代碼來(lái)顯示我們所要求的結(jié)果。流水燈設(shè)計(jì)是由八只LED顯示燈來(lái)實(shí)現(xiàn)的,通過(guò)程序代碼來(lái)控制這八只燈的亮滅,在實(shí)驗(yàn)初期,我們首先得編程序,通過(guò)我們上課所學(xué)的基礎(chǔ)知識(shí),再結(jié)合近段時(shí)間去圖書(shū)館查閱的有關(guān)參考書(shū)籍,以及網(wǎng)上所搜索的相關(guān)知識(shí),我們小組共同完成了程序的編制,程序代碼在下面有詳細(xì)介紹。
(2)其次,我們需要掌握Quartus II的用法,因?yàn)橐蟮默F(xiàn)象是通過(guò)這個(gè)軟件實(shí)現(xiàn)的,在EDA實(shí)驗(yàn)課程中老師有詳細(xì)介紹Quartus II的使用方法,所以在這一階段對(duì)我們來(lái)說(shuō)也比較得心應(yīng)手,安裝,調(diào)試,然后將編好的程序輸入,在此過(guò)程中我們遇到了點(diǎn)小困難,顯示程序有錯(cuò)誤,但是通過(guò)我們集體的努力,終于發(fā)現(xiàn),是因?yàn)樵诓僮鲿r(shí),我們應(yīng)該先創(chuàng)建自己的文件夾,然后統(tǒng)一存放在一起,而我們存放的地方有誤,所以顯示不出我們所輸入的代碼。
(3)當(dāng)所有的程序輸入無(wú)誤后,我們要為每個(gè)器件設(shè)置管腳,因?yàn)檫@些在實(shí)驗(yàn)課上老師有說(shuō)過(guò),而且管腳號(hào)也已告訴我們,只需查詢便可,所以這一階段應(yīng)該說(shuō)也挺簡(jiǎn)單的。
(4)當(dāng)所有的這一切準(zhǔn)備工作做完后就是該演示現(xiàn)象了,這是最關(guān)鍵的一步,因?yàn)閷?shí)驗(yàn)教材有限,所以不能保證我們每位同學(xué)都來(lái)演示,我們一組人中只需一個(gè)代表將我們的程序整理一下,然后演示一遍,8只LED顯示燈能被控制其亮滅,會(huì)顯示像流水一樣的燈光。那么我們便可以通過(guò)這次的課程設(shè)計(jì)了,在此過(guò)程中,我們每個(gè)人的任務(wù)不同,我雖然沒(méi)有親手去調(diào)試,但是我也了解它的運(yùn)作。(5)設(shè)計(jì)報(bào)告也是我們課程設(shè)計(jì)的最后一步了,說(shuō)白了就是將我們這一周所干的事情總結(jié)一下,從開(kāi)始使用Verilog編程序,在Quartus II輸入程序,及改正錯(cuò)誤,調(diào)試,運(yùn)行,顯示現(xiàn)象。這所有的東西詳細(xì)的說(shuō)明。那么這次的課程設(shè)
計(jì)就圓滿結(jié)束。
四、流水燈設(shè)計(jì)程序
module Verilog1(LED,CLK,reset);output[7:0] LED;input CLK,reset;reg [7:0] LED;reg [24:0] counter;initial LED=8'b11111111;always@(posedge CLK)begin counter<=counter+1;if(counter==25'b1_0111_1101_0111_1000_0100_0000)//25M // 1_0111_1101_0111_1000_0100_0000 begin LED<=LED<<1;counter<=0;if(LED==8'b0000000)LED<=8'b11111111;end end endmodule
五、流水燈設(shè)計(jì)管腳分配
六、設(shè)計(jì)注意事項(xiàng)
在編寫(xiě)程序時(shí),注意格式以及拼寫(xiě)是否正確,因?yàn)镼uartus II要求的程序代碼也是很嚴(yán)格的,所以沒(méi)有扎實(shí)的Verilog編程基礎(chǔ),也很難得到所要求的程序。其次在保存程序時(shí),我們要建立自己的文件夾來(lái)存放所編的程序,以防止運(yùn)行時(shí)和其他程序的混亂導(dǎo)致錯(cuò)誤。
在管腳分配這塊,我們要注意查找每個(gè)器件的標(biāo)號(hào),然后準(zhǔn)確輸入進(jìn)去,可以使用文本編輯工具打開(kāi)QuickSOPC管腳分配.txt文件,將# Pin & Location Assignments段拷貝并替代用戶QuartusII工程文件夾下的*.qsf文件中的相同段。當(dāng)然,用戶也可以直接在該文件中修改管腳的配置,這比在Quartus II中逐一分配管腳效率要高。當(dāng)只使用部分管腳時(shí),可以只拷貝用到的管腳分配,當(dāng)然,也可以全部拷貝,沒(méi)有使用的管腳不會(huì)影響設(shè)計(jì)。
七、課程設(shè)計(jì)總結(jié)
兩個(gè)月的電子設(shè)計(jì)技術(shù)(EDA)課程已經(jīng)結(jié)束,在這驗(yàn)收學(xué)習(xí)成果的一星期內(nèi),通過(guò)對(duì)流水燈的制作,清楚地看到了自己在EDA方面知識(shí)的薄弱,各個(gè)知識(shí)點(diǎn)沒(méi)有聯(lián)會(huì)貫穿,EDA基礎(chǔ)知識(shí)的掌握也不夠牢固。
在做此課件的過(guò)程中,充分體會(huì)到了實(shí)際操作的重要性。如果沒(méi)有同學(xué)的指點(diǎn),可能自己會(huì)在一些地方打轉(zhuǎn)彎,浪費(fèi)掉很多時(shí)間。通過(guò)這次課程設(shè)計(jì),可以很好的把各個(gè)章節(jié)的模塊融合到一起,對(duì)以后的學(xué)習(xí),設(shè)計(jì)很有幫助。經(jīng)過(guò)這次的課程設(shè)計(jì),讓我感覺(jué)自己在動(dòng)手操作方面有質(zhì)上的飛躍。再加上前幾次的課程設(shè)計(jì)所積淀下來(lái)的經(jīng)驗(yàn),以及老師悉心的指導(dǎo),有力地指導(dǎo)了這次課程設(shè)計(jì)的進(jìn)行,提高了這次課程設(shè)計(jì)任務(wù)的質(zhì)量和速度,進(jìn)一步地增強(qiáng)了自己完成任務(wù)的能力,鞏固了所學(xué)的理論知識(shí)。完成課程設(shè)計(jì)的質(zhì)量明顯提高。幾個(gè)人集體完成任務(wù),必然存在弊端的,尤其體現(xiàn)在合作的分工不明確和對(duì)任務(wù)的消極怠工。這次課程設(shè)計(jì)要求五人一組,一個(gè)中心,但需要融入自己的思想在里面,這也在一定程度上擺脫了依賴和消極怠工的現(xiàn)象。使我們獨(dú)立完成任務(wù)能力增強(qiáng)。
所有的專業(yè)課實(shí)驗(yàn),以及這次的課程設(shè)計(jì),無(wú)不有力地證明了基礎(chǔ)知識(shí)的重要性,無(wú)不在提醒自己,要重視對(duì)基礎(chǔ)知識(shí)的學(xué)習(xí)。通過(guò)這次的實(shí)驗(yàn),理解了電子技術(shù)設(shè)計(jì)的設(shè)計(jì)方法和流程,夯實(shí)了QuartusII的操作流程。很顯然,任何的實(shí)踐活動(dòng),都不可能閉門(mén)造車,是必須去吸取前人的實(shí)踐經(jīng)驗(yàn),這就要求在課程
設(shè)計(jì)的過(guò)程中,從網(wǎng)絡(luò)上,從圖書(shū)館,借尋相關(guān)資料書(shū)籍等,有力地指導(dǎo)課程設(shè)計(jì)。進(jìn)一步認(rèn)清了畢業(yè)走向。增強(qiáng)了搜索資料的能力。通過(guò)這次的課程設(shè)計(jì),就直接指明了一條出路,那就是學(xué)習(xí)如何通過(guò)EDA只是設(shè)計(jì)一些器件。這就要求在最后的大學(xué)時(shí)間里,要繼續(xù)夯實(shí)相關(guān)的理論知識(shí),繼續(xù)多動(dòng)手操作,提高具體的實(shí)踐操作能力,為即將畢業(yè)的工作出路,做好充分的準(zhǔn)備。對(duì)這次課程設(shè)計(jì)的建議。
整個(gè)的課程設(shè)計(jì)的過(guò)程中,老師的悉心指導(dǎo)對(duì)我們是大有裨益的,對(duì)老師表示感謝。還有同學(xué)之間的互相幫助,也進(jìn)一步增進(jìn)了我們的友誼,所以說(shuō)這次的課程設(shè)計(jì)真的讓我獲益匪淺。
八、參考文獻(xiàn)
《EDA技術(shù)實(shí)用教程》,潘松、黃繼業(yè),科學(xué)出版社,2001.7 《CPLD系統(tǒng)設(shè)計(jì)技術(shù)入門(mén)與應(yīng)用》,黃正瑾等著,電子工業(yè)出版社 《電子設(shè)計(jì)自動(dòng)化(EDA)手冊(cè)》,王丹、童如松,電子工業(yè)出版社 《可編程邏輯器件與EDA技術(shù)》李景華,杜玉遠(yuǎn).東北大學(xué)出版社,2000 《FPGA系統(tǒng)設(shè)計(jì)與實(shí)踐》陳瓊,潘禮. 電子工業(yè)出版社,2005
第二篇:?jiǎn)纹瑱C(jī)流水燈課程設(shè)計(jì)
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
基于AT89C51單片機(jī)的流水燈 引言
1.1 課題簡(jiǎn)介
單片機(jī)全稱叫單片微型計(jì)算機(jī)(Single Chip Microcomputer),是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。
目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:在智能儀器儀表上的應(yīng)用,例如精密的測(cè)量設(shè)備;在工業(yè)控制中的應(yīng)用,用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng),例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等;在家用電器中的應(yīng)用可從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無(wú)線通信、再到日常工作中隨處可見(jiàn)的移動(dòng)電話,集群移動(dòng)通信,無(wú)線電對(duì)講機(jī)等。單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等;在各種大型電器中的模塊化應(yīng)用,如音樂(lè)集成單片機(jī),看似簡(jiǎn)單的功能,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計(jì)算機(jī)的原理。
本設(shè)計(jì)著重在于分析計(jì)算器軟件和開(kāi)發(fā)過(guò)程中的環(huán)節(jié)和步驟,并從實(shí)踐經(jīng)驗(yàn)出發(fā)對(duì)計(jì)算器設(shè)計(jì)做了詳細(xì)的分析和研究。本系統(tǒng)就是充分利用了8051芯片的I/O引腳。系統(tǒng)以采用MCS-51系列單片機(jī)Intel8051為中心器件來(lái)設(shè)計(jì)LED流水燈系統(tǒng),實(shí)現(xiàn)8個(gè)LED霓虹燈的左、右循環(huán)顯示,并實(shí)現(xiàn)循環(huán)的速度可調(diào)。
1.2 設(shè)計(jì)目的
(1)學(xué)習(xí)基本理論在實(shí)踐中綜合運(yùn)用的初步經(jīng)驗(yàn),掌握電路設(shè)計(jì)的基本方法、設(shè)計(jì)步驟,培養(yǎng)綜合設(shè)計(jì)與調(diào)試能力。
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
(2)掌握匯編語(yǔ)言程序設(shè)計(jì)方法。
(3)培養(yǎng)實(shí)踐技能,提高分析和解決實(shí)際問(wèn)題的能力。
1.3 設(shè)計(jì)任務(wù)及要求
(1)彩燈用8個(gè)發(fā)光二極管代替。
(2)電路具有控制彩燈點(diǎn)亮右移、左移、全亮及全滅等功能。(3)彩燈兩點(diǎn)移動(dòng)時(shí)間間隔為0.5秒。總體設(shè)計(jì)思路
2.1設(shè)計(jì)思路
本課題使用AT89C51單片機(jī)時(shí)無(wú)須外擴(kuò)存儲(chǔ)器。因此,本流水燈實(shí)際上就是一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。
如果要讓接在P1.0口的LED1亮起來(lái),那么只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤耍幌喾矗绻釉赑1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖剑煌恚釉赑1.1~P1.7口的其他7個(gè)LED的點(diǎn)亮和熄滅的方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1~LED8依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的做流水燈了。同樣的道理,可以讓8個(gè)燈左移點(diǎn)亮,全亮、全滅。
在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺(jué)暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則我們就看不到“流水”效果了。
2.2 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)機(jī)構(gòu)框圖如圖1所示。
開(kāi)關(guān)輸入AT89C51單片機(jī)圖1 系統(tǒng)結(jié)構(gòu)框圖
流水燈樣式 2.3 系統(tǒng)程序流程圖
系統(tǒng)程序總流程圖如圖2所示。
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
開(kāi)始讀入四個(gè)開(kāi)關(guān)的狀態(tài)否判斷開(kāi)關(guān)狀態(tài)燈左移點(diǎn)亮燈右移點(diǎn)亮燈全亮燈全滅燈流動(dòng)運(yùn)行或全亮全滅結(jié)束
圖2 系統(tǒng)框圖 設(shè)計(jì)步驟
3.1硬件設(shè)計(jì)
硬件系統(tǒng)是指構(gòu)成微機(jī)系統(tǒng)的實(shí)體和裝置,通常由運(yùn)算器、控制器、存儲(chǔ)器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機(jī)實(shí)質(zhì)上是一個(gè)硬件的芯片,在實(shí)際應(yīng)用中,通常很難直接和被控對(duì)象進(jìn)行電氣連接,必須外加各種擴(kuò)展接口電
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
路、外部設(shè)備、被控對(duì)象等硬件和軟件,才能構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)。本設(shè)計(jì)選用以AT89S51單片機(jī)為主控單元。顯示部分:8個(gè)LED燈循環(huán)亮滅。
3.2單片機(jī)時(shí)鐘電路
時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。
在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳X1,輸出端為引腳X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。此電路采用12MHz的石英晶體。時(shí)鐘電路如圖3所示。
圖3 時(shí)鐘電路圖
3.3復(fù)位電路
電阻的作用是用于上電復(fù)位的,VCC以上電,由于電容兩端電壓不能突變,所以RST上為高電平,然后電容放電,RST就為低電平了,還可以用手動(dòng)復(fù)位,此電路應(yīng)用自動(dòng)復(fù)位。復(fù)位電路如圖4所示。
圖4 復(fù)位電路圖
3.4控制電路
控制電路用于控制工作電路的工作情況,根據(jù)要求來(lái)控制電路,本電路的控制電路用來(lái)控制流水燈的工作情況,當(dāng)按下1、2、3、4各個(gè)開(kāi)關(guān)時(shí),電路具有左移、右移、全亮、全沒(méi)的功能,具體的控制電路如圖5所示。
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
圖5 開(kāi)關(guān)電路圖
3.5工作電路
(1)工作電路就是根據(jù)總的電路的指令,來(lái)反應(yīng)工作情況。本電路的流水燈電路具體的如圖6所示。
圖6 流水燈電路圖
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
(2)根據(jù)各個(gè)模塊的功能及他們的信號(hào)傳輸,連接電路如圖7所示。
圖7 整體電路圖 軟件設(shè)計(jì)
4.1設(shè)計(jì)要求
本系統(tǒng)的功能就時(shí)實(shí)現(xiàn)流水燈的循環(huán)點(diǎn)亮,主要有四個(gè)功能,第一,按下第一個(gè)按鈕,彩燈向上點(diǎn)亮循環(huán),按下第二個(gè),彩燈向下循環(huán)點(diǎn)亮,按下第三個(gè),彩燈全滅,按下第四個(gè),彩燈全亮。彩燈用8個(gè)發(fā)光二極管代替。電路具有的控制彩燈點(diǎn)亮右移、左移、全亮及全滅的功能用按鍵切換彩燈狀態(tài),彩燈兩點(diǎn)移動(dòng)時(shí)間間隔為0.5秒。
4.2源程序見(jiàn)附錄Ⅰ
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 軟件調(diào)試
軟件調(diào)試一般分為以下四個(gè)階段:
1、編寫(xiě)程序并查錯(cuò);
2、在匯編語(yǔ)言的編譯系統(tǒng)中編譯源程序
3、對(duì)程序進(jìn)行編譯連接,并及時(shí)發(fā)現(xiàn)程序中存在的錯(cuò)誤;
4、改正錯(cuò)誤。
在軟件調(diào)試過(guò)程中,對(duì)出現(xiàn)的錯(cuò)誤進(jìn)行了認(rèn)真的分析和修改,多次調(diào)試成功后,能夠很好的達(dá)到既定的設(shè)計(jì)效果。
此系統(tǒng)可以改進(jìn)為可以通過(guò)對(duì)開(kāi)關(guān)的調(diào)節(jié)來(lái)控制流水燈電路具有控制彩燈點(diǎn)亮右移、左移、全亮及全滅等功。心得體會(huì)
經(jīng)過(guò)一段時(shí)間的努力,我們順利的完成了這次單片機(jī)課設(shè)。這是一個(gè)磨練意志的過(guò)程。從課題的選擇開(kāi)始,計(jì)算器的設(shè)計(jì)、硬件和軟件系統(tǒng)的設(shè)計(jì)、到最后的Proteus軟件仿真完成,這其中經(jīng)歷了很多困難,但是更重要的是在這個(gè)過(guò)程中我得到了很大的鍛煉。一方面通過(guò)C51單片機(jī)等一些器件的設(shè)計(jì)讓我學(xué)習(xí)和掌握了單片機(jī)技術(shù)的基礎(chǔ)知識(shí)和技術(shù)要點(diǎn),也使以前學(xué)的很多知識(shí)都得到了運(yùn)用;另一方面在用Proteus軟件畫(huà)電路圖時(shí),然后再轉(zhuǎn)換成一維的WORD中進(jìn)行編輯,這個(gè)過(guò)程中讓我掌握了計(jì)算機(jī)輔助的設(shè)計(jì)技術(shù)。當(dāng)然,這是一個(gè)需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個(gè)合理的設(shè)計(jì)的過(guò)程。需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工作精神。使我受益匪淺,更加明確了自己專業(yè)的方向。
通過(guò)本次課設(shè),我不僅學(xué)到了關(guān)于單片機(jī)技術(shù)方面的許多專業(yè)知識(shí),同時(shí)也讓我感覺(jué)到團(tuán)隊(duì)合作的重要性。其實(shí)如何有效和快速的找到資料也是課設(shè)給我的啟發(fā),利用好圖書(shū)館和網(wǎng)絡(luò),是資源的到最好的利用。與他人交流思想是取得成功的關(guān)鍵,在交流中,不僅強(qiáng)化了自己原有的知識(shí)體系,也擴(kuò)展了自己的思維。課設(shè)是一個(gè)通過(guò)思考、發(fā)問(wèn)、自己解惑并動(dòng)手、提高的過(guò)程。我會(huì)在以后的學(xué)習(xí)中不斷學(xué)習(xí),積累經(jīng)驗(yàn),完善自己。
對(duì)于這次單片機(jī)課程設(shè)計(jì)不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上沒(méi)有學(xué)到過(guò)的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)單的編程。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,例如對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,學(xué)習(xí)了單片機(jī)匯編語(yǔ)言。
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
參考文獻(xiàn)
[1] 王思明,張金敏,茍軍年等著.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì).北京:科學(xué)出版社,2012 [2] 譚浩強(qiáng)著.C程序設(shè)計(jì)(第四版).北京:清華大學(xué)出版社,2010 [3] 馮博琴,吳寧著.微型計(jì)算機(jī)原理與接口技術(shù)(第3版).北京:清華大學(xué)出版社,2011
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
附 錄Ⅰ
源程序:
START:
START1:
LOOP1:
CJNE:
SHOW1:
LOOP2:
SHOW2:
LOOP3:
LOOP4:
DELAY: D0: D1:
D2:
ORG 0000H
AJMP START
ORG 0030H
MOV SP,#60H
MOV DPTR,#TAB
JNB P0.0,LOOP1 JNB P0.1,LOOP2 JNB P0.2,LOOP3 JNB P0.3,LOOP4 AJMP START1
CLR A
MOVC A,@A+DPTR A,#11111111B,SHOW1 AJMP START
MOV P1,A
ACALL DELAY
INC DPTR
AJMP LOOP1
MOV A,#09H
MOVC A,@A+DPTR
CJNE A,#00000000B,SHOW2 AJMP START
MOV P1,A
ACALL DELAY
INC DPTR
AJMP LOOP2
MOV A,#08H
MOVC A,@A+DPTR MOV P1,A
AJMP START
MOV A,#11H
MOVC A,@A+DPTR MOV P1,A
AJMP START
MOV R0,#10
MOV R1,#200 MOV R2,#123 NOP DJNZ R2,D2 DJNZ R1,D1 DJNZ R0,D0
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告
RET TAB:
DB 11111110B DB 11111101B DB 11111011B DB 11110111B DB 11101111B DB 11011111B DB 10111111B DB 01111111B DB 11111111B DB 01111111B DB 10111111B DB 11011111B DB 11101111B DB 11110111B DB 11111011B DB 11111101B DB 11111110B DB 00000000B
END
第三篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)led流水燈設(shè)計(jì)報(bào)告(精)
目 錄
一、前 言 ???????????????????????(1 1.1課題簡(jiǎn)介 ??????????????????????(1 1.2設(shè)計(jì)目的 ???????????????????????(1
二、總體設(shè)計(jì) ???????????????????????(2 2.1設(shè)計(jì)思路 ???????????????????????(2 2.2原件清單 ???????????????????????(2
三、硬件設(shè)計(jì) ???????????????????????(3 3.1AT89C51???????????????????????(3 3.2系統(tǒng)框圖 ???????????????????????(5 3.3程序框圖 ???????????????????????(5
四、軟件設(shè)計(jì) ???????????????????????(5 4.1硬件設(shè)計(jì) ???????????????????????(6 4.2單片機(jī)時(shí)鐘電 ?????????????????????(6 4.3復(fù)位電路 ???????????????????????(6 4.4控制電路 ???????????????????????(7 4.5工作電路 ???????????????????????(7
五、軟件調(diào)試 ???????????????????????(8 5.1設(shè)計(jì)要求 ???????????????????????(8 5.2軟件的流程圖 ?????????????????????(9 5.3程序設(shè)計(jì) ???????????????????????(9
六、軟件調(diào)試 ???????????????????????(11
七、心得體會(huì) ???????????????????????(12
八、參考文獻(xiàn) ???????????????????????(13 第一章 前言 1.1 課題簡(jiǎn)介
單片機(jī)全稱叫單片微型計(jì)算機(jī)(Single Chip Microcomputer , 是一種集成在電路芯 片, 是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器 CPU 隨機(jī)存儲(chǔ)器 RAM、只讀存儲(chǔ)器 ROM、多種 I/O口和中斷系統(tǒng)、定時(shí)器 /計(jì)時(shí)器等功能(可能還包括 顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路集成到一塊硅 片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。
目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置, 飛機(jī)上各種儀表的控制, 計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸, 工業(yè)自動(dòng) 化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能 IC 卡,民用豪華轎車的
安全保 障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這 些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種 智能機(jī)械了。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè) 備的智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)范疇: 1.在智能儀器儀表上 的應(yīng)用 :, 例如精密的測(cè)量設(shè)備 2.在工業(yè)控制中的應(yīng)用 :用單片機(jī)可以構(gòu)成形式 多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。3.在家用電器中的應(yīng)用可從手 機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無(wú)線通信、再到日常工 作中隨處可見(jiàn)的移動(dòng)電話,集群移動(dòng)通信,無(wú)線電對(duì)講機(jī)等。5.單片機(jī)在醫(yī)用設(shè)備 領(lǐng)域中的應(yīng)用 :例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫 系統(tǒng)等等。6.在各種大型電器中的模塊化應(yīng)用 :如音樂(lè)集成單片機(jī), 看似簡(jiǎn)單的功 能,微縮在純電子芯片中(有別于磁帶機(jī)的原理 ,就需要復(fù)雜的類似于計(jì)算機(jī)的原 理。
本設(shè)計(jì)著重在于分析計(jì)算器軟件和開(kāi)發(fā)過(guò)程中的環(huán)節(jié)和步驟, 并從實(shí)踐經(jīng)驗(yàn)出發(fā)對(duì)計(jì) 算器設(shè)計(jì)做了詳細(xì)的分析和研究。本系統(tǒng)就是充分利用了 8051芯片的 I/O引腳。系 統(tǒng)以采用 MCS-51系列單片機(jī) Intel8051為中心器件來(lái)設(shè)計(jì) LED 流水燈系統(tǒng),實(shí)現(xiàn) 8個(gè) LED 霓虹燈的左、右循環(huán)顯示,并實(shí)現(xiàn)循環(huán)的速度可調(diào)。
1.2 設(shè)計(jì)目的
1.學(xué)習(xí)基本理論在實(shí)踐中綜合運(yùn)用的初步經(jīng)驗(yàn), 掌握電路設(shè)計(jì)的基本方法、設(shè)計(jì)步驟, 培養(yǎng)綜合設(shè)計(jì)與調(diào)試能力。
2.掌握匯編語(yǔ)言程序設(shè)計(jì)方法。
3.培養(yǎng)實(shí)踐技能,提高分析和解決實(shí)際問(wèn)題的能力。1.3 設(shè)計(jì)任務(wù)及要求
1.彩燈用 8個(gè)發(fā)光二極管代替。
2.電路具有控制彩燈點(diǎn)亮右移、左移、全亮及全滅等功能(用按鍵切換彩燈狀態(tài)
3、彩燈兩點(diǎn)移動(dòng)時(shí)間間隔為 0.5秒。二、總體設(shè)計(jì)思路 2.1設(shè)計(jì)思路
本課題使用 AT89C51單片機(jī)時(shí)無(wú)須外擴(kuò)存儲(chǔ)器。因此, 本流水燈實(shí)際上就是一個(gè) 帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源 等電路和必要的軟件組成的單個(gè)單片機(jī)。
如果要讓接在 P1.0口的 LED1亮起來(lái),那么只要把 P1.0口的電平變?yōu)榈碗娖骄?可以了;相反, 如果要接在 P1.0口的 LED1熄滅, 就要把 P1.0口的電平變?yōu)楦唠娖?同理,接在 P1.1~P1.7口的其他 7個(gè) LED 的點(diǎn)亮和熄滅的方法同 LED1。因此,要實(shí) 現(xiàn)流水燈功能,我們只要將發(fā)光二極管 LED1~LED8依次點(diǎn)亮、熄滅, 8只 LED 燈便 會(huì)一亮一暗的做流水燈了。同樣的道理,可以讓 8個(gè)燈左移點(diǎn)亮,全亮、全滅。在此我們還應(yīng)注意一點(diǎn), 由于人眼的視覺(jué)暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí) 間很短, 我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間, 否則我們就看不到 “流水” 效果了。
在此基礎(chǔ)上, 增加外擴(kuò)設(shè)備, 利用 74LS373和 8255擴(kuò)展成 24個(gè) LED 燈循環(huán)顯示。2.2.原件清單
三、硬件設(shè)計(jì) 3.1AT89C51 1.芯片由 UNTITLED — ISISPROFESSIONAL 實(shí)驗(yàn)系統(tǒng)提供(AT89C51 1主要特性: 與 MCS-51兼容
4K字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫(xiě) /擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 全靜態(tài)工作:0Hz — 24Hz
三級(jí)程序存儲(chǔ)器鎖定 128*8位內(nèi)部 RAM 32可編程 I/O線 5個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)震蕩器和時(shí)鐘電路 2管腳說(shuō)明: ① 電 源 引 腳
Vcc(40腳 :典 型 值 +5V。Vss(20腳 :接 低 電平。② 外 部 晶 振
XTAL1、XTAL2分 別 與 晶 振 兩 端 相 連 接。③ 輸 入 輸 出 口 引 腳 : P0口 :I/O雙 向 口。作 輸 入 口 時(shí) , 應(yīng) 先 軟 件 置 “ 1”。P1口 :I/O雙 向 口。作 輸 入 口 時(shí) , 應(yīng) 先 軟 件 置 “ 1”。P2口 :I/O雙 向 口。作 輸 入 口 時(shí) , 應(yīng) 先 軟 件 置 “ 1”。P3口 :I/O雙 向 口。作 輸 入 口 時(shí) , 應(yīng) 先 軟 件 置 “ 1”。④ 控 制 引 腳 : RST、ALE/-PROG、-PSEN、-EA/Vpp組 成 了 MSC-51的 控 制 總 線。
RST(9腳 :復(fù) 位 信 號(hào) 輸 入 端(高 電平有 效。ALE/-PROG(30腳 :地 址 鎖 存 信 號(hào) 輸 出 端。
第 二 功 能 :編 程 脈 沖 輸 入。
-PSEN(29腳 :外 部 程 序 存 儲(chǔ) 器 讀 選 通 信 號(hào)。-EA/Vpp(31腳 :外 部 程 序 存 儲(chǔ) 器 使 能 端。第 二 功 能 :編 程 電 壓 輸 入 端(+21V。3 AT89C51單 片 機(jī) 的 P 口 特 點(diǎn) : P0口 :是 一 個(gè) 8位 漏 極 開(kāi) 路 輸 出 型 雙 向 I/O端 口。作 為 輸 出 端 口 時(shí) ,每 位 能 以 吸 收 電 流 的 方 式 驅(qū) 動(dòng) 8 個(gè) TTL 輸 入 ,對(duì) 端 口 寫(xiě) 1時(shí) , 又 可 作 高 阻 抗 輸 入 端 用。在 訪 問(wèn) 外 部 程 序 或 數(shù) 據(jù) 存 儲(chǔ) 器 時(shí) , 它 是 時(shí) 分 多 路 轉(zhuǎn) 換 的 地 址(低 8位 /數(shù) 據(jù) 總 線 , 在 訪 問(wèn) 期 間 將 激 活 內(nèi) 部 的 上 拉 電 阻。
P1口 :P1口 是 一 個(gè) 帶 有 內(nèi) 部 上 拉 電 阻 的 8位 雙 向 I/O端 口。P1口 的 輸 出 緩 沖 器 可 驅(qū) 動(dòng)(吸 收 或 輸 出 電 流 方 式 4個(gè) TTL 輸 入。對(duì) 端 口 寫(xiě) 1時(shí) , 通 過(guò) 內(nèi) 部 的 上 拉 電 阻 把 端 口 拉 到 高 電 位 , 這 時(shí) 可 作 輸 入 口。P2口 作 輸 入 口 使 用 時(shí) , 因 為 內(nèi) 部 有 上 拉 電 阻 , 那 些 被 外 部 信 號(hào) 拉 低 的 引 腳 會(huì) 輸 出 一 個(gè) 電 流(Iil。
P2口 :P2口 是 一 個(gè) 帶 有 內(nèi) 部 上 拉 電 阻 的 8位 雙 向 I/O端 口。P2口 的 輸 出 緩 沖 器 可 驅(qū) 動(dòng)(吸 收 或 輸 出 電 流 方 式 4個(gè) TTL 輸 入。對(duì) 端 口 寫(xiě) 1時(shí) , 通 過(guò) 內(nèi) 部 的 上 拉 電 阻 把 端 口 拉 到 高 電 位 , 這 時(shí) 可 作 輸 入 口。P2口 作 輸 入 口 使 用 時(shí) , 因 為 內(nèi) 部 有 上 拉 電 阻 , 那 些 被 外 部 信 號(hào) 拉 低 的 引 腳 會(huì) 輸 出 一 個(gè) 電 流(Iil。在 訪 問(wèn) 外 部 程 序 存 儲(chǔ) 器 時(shí) 和 16位 外 部 地 址 的 外 部 數(shù) 據(jù) 存 儲(chǔ) 器(如 執(zhí) 行 MOVX @DPTR 時(shí) , P2口 送 出 高 8位 地 址。在 訪 問(wèn) 8位 地 址 的 外 部 數(shù) 據(jù) 存 儲(chǔ) 器(如 執(zhí) 行 MOVX @RI 時(shí) , P2口 引 腳 上 的 內(nèi) 容
(就 是 專 用 寄 存 器(SFR區(qū) 中 的 P2寄 存 器 的 內(nèi) 容 , 在 整 個(gè) 訪 問(wèn) 期 間 不 會(huì) 改 變。
P3口 :P3口 是 一 個(gè) 帶 有 內(nèi) 部 上 拉 電 阻 的 8位 雙 向 I/O端 口。P3口 的 輸 出 緩 沖 器 可 驅(qū) 動(dòng)(吸 收 或 輸 出 電 流 方 式 4個(gè) TTL 輸 入。對(duì) 端 口 寫(xiě) 1時(shí) , 通 過(guò) 內(nèi) 部 的 上 拉 電 阻 把 端 口 拉 到 高 電 位 , 這 時(shí) 可 作 輸 入 口。P3口 作 輸 入 口 使 用 時(shí) , 因 為 內(nèi) 部 有 上 拉 電 阻 , 那 些 被 外 部 信 號(hào) 拉 低 的 引 腳 會(huì) 輸 出 一 個(gè) 電 流(Iil。
(2 排 阻 的 作 用
所謂排阻就是若干個(gè)參數(shù)完全相同的電阻,它們的一個(gè)引腳都連到一起, 作為公共引腳。其余引腳正常引出。所以如果一個(gè)排阻是由 n 個(gè)電阻構(gòu)成的, 那么它就有 n+1只引腳,一般來(lái)說(shuō),最左邊的那個(gè)是公共引腳。它在排阻上一 般用一個(gè)色點(diǎn)標(biāo)出來(lái)。排阻一般應(yīng)用在數(shù)字電路上,比如:作為某個(gè)并行口的 上拉或者下拉電阻用。使用排阻比用若干只固定電阻更方便。
3.2、系統(tǒng)框圖
圖 1 3.3、程序框圖
四、設(shè)計(jì)步驟 4.1硬件設(shè)計(jì)
硬件系統(tǒng)是指構(gòu)成微機(jī)系統(tǒng)的實(shí)體和裝置,通常由運(yùn)算器、控制器、存儲(chǔ)器、輸
入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機(jī)實(shí)質(zhì)上是一個(gè)硬件 的芯片, 在實(shí)際應(yīng)用中, 通常很難直接和被控對(duì)象進(jìn)行電氣連接, 必須外加各種擴(kuò)展 接口電路、外部設(shè)備、被控對(duì)象等硬件和軟件,才能構(gòu)成一個(gè)單片機(jī)應(yīng)用
系統(tǒng)。本設(shè) 計(jì)選用以 AT89S51單片機(jī)為主控單元。顯示部分:8個(gè) LED 燈循環(huán)亮滅。
4.2單片機(jī)時(shí)鐘電路
時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào), 單片機(jī)本身就是一個(gè)復(fù)雜的同步 時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán) 格地按時(shí)序進(jìn)行工作。
在 MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳 X1,輸出端為 引腳 X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了 一個(gè)穩(wěn)定的自激振蕩器。此電路采用 12MHz 的石英晶體。時(shí)鐘電路如下圖:
圖 2 4.3復(fù)位電路
電阻的作用是用于上電復(fù)位的, VCC 以上電,由于電容兩端電壓不能突變,所 以 RST 上為高電平,然后電容放電, RST 就為低電平了,還可以用手動(dòng)復(fù)位,此 電路應(yīng)用自動(dòng)復(fù)位。
圖 3 4.4控制電路
控制電路用于控制工作電路的工作情況,根據(jù)要求來(lái)控制電路,本電路的控制電路 用來(lái)控制流水燈的工作情況,當(dāng)按下1、2、3、4各個(gè)開(kāi)關(guān)時(shí),電路具有左移、右 移、全亮、全沒(méi)的功能,具體的控制電路如下:
圖 4 4.5工作電路 工作電路就是根據(jù)總的電路的指令, 來(lái)反應(yīng)工作情況。本電路的流水燈電路具體 的如下:
圖 5 2根據(jù)各個(gè)模塊的功能及他們的信號(hào)傳輸,連接電路如下: 圖 6
五、軟件設(shè)計(jì) 5.1設(shè)計(jì)要求
本系統(tǒng)的功能就時(shí)實(shí)現(xiàn)流水燈的循環(huán)點(diǎn)亮,主要有四個(gè)功能,第一,按下第一個(gè) 按鈕, 彩燈向上點(diǎn)亮循環(huán), 按下第二個(gè), 彩燈向下循環(huán)點(diǎn)亮, 按下第三個(gè), 彩燈全亮, 按下第四個(gè), 彩燈全滅。彩燈用 8個(gè)發(fā)光二極管代替。電路具有的控制彩燈點(diǎn)亮右移、左移、全亮及全滅的功能用按鍵切換彩燈狀態(tài),彩燈兩點(diǎn)移動(dòng)時(shí)間間隔為 0.5秒。
5.2、軟件的流程圖 : 圖 7 5.3、程序設(shè)計(jì)
ORG 0000H;單片機(jī)上電后從 00000H 地址執(zhí)行 AJMP START;跳轉(zhuǎn)到主程序存放地指出
ORG 0030H;設(shè)置主程序開(kāi)始地址
START: MOV SP,#60H;設(shè)置堆棧起始地址為 60H MOV DPTR,#TAB;把 TAB 表首地址送入 DPTR START1: JNB P0.0,LOOP1;判斷 P0.0處開(kāi)關(guān)是否閉合
JNB P0.1,LOOP2;判斷 P0.1處開(kāi)關(guān)是否閉合
JNB P0.2,LOOP3;判斷 P0.2處開(kāi)關(guān)是否閉合 JNB P0.3,LOOP4;判斷 P0.3處開(kāi)關(guān)是否閉合
AJMP START1;如果沒(méi)有開(kāi)關(guān)閉合重新檢測(cè) LOOP1: CLR A;累加器清零
河北建筑工程學(xué)院 單片機(jī)原理及應(yīng)用課程設(shè)計(jì) MOVC CJNE: A,@A+DPTR;取數(shù)值表中的數(shù) A,#11111111B,SHOW1;檢查左移結(jié)束標(biāo)志 AJMP START;左移結(jié)束重新檢測(cè)開(kāi)關(guān)狀態(tài);將數(shù)據(jù)送到 P1 口;調(diào)用延時(shí)子程序;取數(shù)據(jù)表指針指向下一數(shù)據(jù);繼續(xù)查表取數(shù)據(jù);設(shè)定累加器的初始值 SHOW1: MOV P1,A ACALL DELAY INC DPTR AJMP LOOP1 LOOP2: MOV A,#09H MOVC A,@A+DPTR;取數(shù)值表中的數(shù) CJNE A,#00000000B,SHOW2;檢查右移結(jié)束標(biāo)志 AJMP START SHOW2: MOV P1,A ACALL DELAY INC DPTR AJMP LOOP2 LOOP3: MOV A,#08H;右移結(jié)束重新檢查開(kāi)關(guān)狀態(tài);將數(shù)據(jù)送到 P1 口;調(diào)用延時(shí)子程序;取數(shù)據(jù)表指針指向下一數(shù)據(jù);繼續(xù)查表取數(shù)據(jù);設(shè)定累加器初始值 MOVC A,@A+DPTR;取數(shù)值表中的數(shù) MOV P1,A AJMP START LOOP4: MOV A,#11H;將數(shù)據(jù)送到 P1 口;全滅結(jié)束重新檢測(cè)開(kāi)
關(guān)狀態(tài);設(shè)定累加器初始值 MOVC A,@A+DPTR;取數(shù)值表中的數(shù) MOV P1,A AJMP START DELAY: MOV R0,#10 D0: D1: MOV R1,#200 MOV R2,#123 NOP D2: DJNZ R2,D2 DJNZ R1,D1 DJNZ R0,D0 10;將數(shù)據(jù)送到 P1 口;全滅結(jié)束重新檢測(cè)開(kāi)關(guān)狀態(tài);延時(shí)一段時(shí)間
河北建筑工程學(xué)院 單片機(jī)原理及應(yīng)用課程設(shè)計(jì) RET TAB: DB 11111110B DB 11111101B DB 11111011B DB 11110111B DB 11101111B DB 11011111B DB 10111111B DB 01111111B DB 11111111B DB 01111111B DB 10111111B DB 11011111B DB 11101111B DB 11110111B DB 11111011B DB 11111101B DB 11111110B DB 00000000B END;子程序返回;程序結(jié)束
六、軟件調(diào)試 軟件調(diào)試一般分為以下四個(gè)階段:
1、編寫(xiě)程序并查錯(cuò);
2、在匯編語(yǔ)言的編譯系 統(tǒng)中編譯源程序
3、對(duì)程序進(jìn)行編譯連接,并及時(shí)發(fā)現(xiàn)程序中存在的錯(cuò)誤;
4、改正 錯(cuò)誤。在軟件調(diào)試過(guò)程中,對(duì)出現(xiàn)的錯(cuò)誤進(jìn)行了認(rèn)真的分析和修改,多次調(diào)試成功后,能夠很好的達(dá)到既定的設(shè)計(jì)效果。此系統(tǒng)可以改進(jìn)為可以通過(guò)對(duì)開(kāi)關(guān)的調(diào)節(jié)來(lái)控制流水燈電路具有控制彩燈點(diǎn)亮右 11 河北建筑工程學(xué)院 單片機(jī)原理及應(yīng)用課程設(shè)計(jì) 移、左移、全亮及全滅等功。
七、心得體會(huì) 經(jīng)過(guò)一段時(shí)間的努力,我們順利的完成了這次單片機(jī)課設(shè)。這是一個(gè)磨練意志的 過(guò)程。從課題的選擇開(kāi)始,計(jì)算器的設(shè)計(jì)、硬件和軟件系統(tǒng)的設(shè)計(jì)、到最后的 Proteus 軟件仿真完成,這其中經(jīng)歷了很多困難,但是更重要的是在這個(gè)過(guò)程中我得到了很大 的鍛煉。一方面通過(guò) C51 單片機(jī)等一些器件的設(shè)計(jì)讓我學(xué)習(xí)和掌握了單片機(jī)技術(shù)的基 礎(chǔ)知識(shí)和技術(shù)要點(diǎn),也使以前學(xué)的很多知識(shí)都得到了運(yùn)用;另一方面在用 Proteus 軟 件畫(huà)電路圖時(shí),然后再轉(zhuǎn)換成一維的 WORD 中進(jìn)行編輯,這個(gè)過(guò)程中讓我掌握了計(jì)算機(jī) 輔助的設(shè)計(jì)技術(shù)。當(dāng)然,這是一個(gè)需要不斷的嘗試,不斷的校核,不斷的修改,最后 完成一個(gè)合理的設(shè)計(jì)的過(guò)程。需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工 作精神。使我受益匪淺,更加明確了自己專業(yè)的方向。通過(guò)本次課設(shè),我不僅學(xué)到了關(guān)于單片機(jī)技術(shù)方面的許多專業(yè)知識(shí),同時(shí)也讓我 感覺(jué)到團(tuán)隊(duì)合作的重要性。其實(shí)如何有效和快速的找到資料也是課設(shè)給我的啟發(fā),利 用好圖書(shū)館和網(wǎng)絡(luò),是資源的到最好的利用。與他
人交流思想是取得成功的關(guān)鍵,在 交流中,不僅強(qiáng)化了自己原有的知識(shí)體系,也擴(kuò)展了自己的思維。課設(shè)是一個(gè)通過(guò)思 考、發(fā)問(wèn)、自己解惑并動(dòng)手、提高的過(guò)程。我會(huì)在以后的學(xué)習(xí)中不斷學(xué)習(xí),積累經(jīng)驗(yàn),完善自己。對(duì)于這次單片機(jī)課程設(shè)計(jì)不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本 上沒(méi)有學(xué)到過(guò)的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)單的編程。通過(guò) 這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠 的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,從而提高自己的 實(shí)際動(dòng)手能力和獨(dú)立思考的能力。同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,例如 對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,學(xué)習(xí)了單片機(jī) C 語(yǔ)言。這里我要感謝實(shí)驗(yàn)室的指導(dǎo)老師,沒(méi)有老師的細(xì)致講解和耐心的檢查,也就沒(méi)有 我的計(jì)算器出來(lái),非常感謝!12 河北建筑工程學(xué)院 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)
八、參考文獻(xiàn) [1]徐愛(ài)鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版).北京航天航空大學(xué)出版 社,2004.9 [2]楊恢先 黃輝先著.單片機(jī)原理與應(yīng)用.人民郵電出版,2009.7 [3]朱定華著.單片機(jī)原理與接口技術(shù).電子工業(yè)出版社,2001.4 [4]王威著.HCS12 微控制器原理及應(yīng)用.北京航空航天大學(xué)出版社,2007.10 [5]龔運(yùn)新著.單片機(jī) C 語(yǔ)言開(kāi)發(fā)技術(shù).北京清華大學(xué)出版社,2006.10 [6]胡洪波著.單片機(jī)原理與應(yīng)用實(shí)驗(yàn)教程.湘潭大學(xué)出版社,2009.7 [7]《單片機(jī)原理及其接口技術(shù)》 胡漢才 編著 北京:清華大學(xué)出版社 [8]《MCS-51 單片機(jī)原理及應(yīng)用》張毅剛 編著 哈爾濱:哈爾濱工業(yè)大學(xué)出版社 [9] 《51 單片機(jī) C 語(yǔ)言應(yīng)用程序設(shè)計(jì) 實(shí)例精講》(第二版)戴佳 劉博文 編著 電 子工業(yè)出版社 13
第四篇:流水燈實(shí)驗(yàn)報(bào)告
單片機(jī)流水燈實(shí)驗(yàn)
一、任務(wù)
讓8個(gè)LED燈輪流亮起來(lái),實(shí)現(xiàn)流水燈的功能。
二、思路
讓接在P0.0口的LED燈亮起來(lái),那么只要把P0.0口的電平變?yōu)榈碗娖骄涂梢粤耍幌喾矗绻釉赑0.0口的LED燈熄滅,就要把P0.0口的電平變?yōu)楦唠娖骄涂梢粤恕R獙?shí)現(xiàn)流水燈功能,只要將8個(gè)LED燈依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的做流水燈了。
我們應(yīng)該注意一點(diǎn),由于單片機(jī)執(zhí)行每條指令的時(shí)間很短,我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則我們就看不到“流水”效果了。
三、步驟
1、用proteus畫(huà)電路圖。如下圖:
2、用keil建工程。
1)運(yùn)行keil C51軟件,點(diǎn)擊Project菜單新建項(xiàng)目,選擇為AT89C52的單片機(jī)型號(hào)。然后單擊File選擇New新建程序文件,保存成.c 文件,右擊Source Group1添加入程序文件。2)用C語(yǔ)言編寫(xiě)程序代碼如下:
#include
void main(void){ unsigned char i;while(1){ for(i=0;i<8;i++){
P0=tmpled[i];
delay(50);} } }
void delay(unsigned char tmp){ unsigned char i,j;i=tmp;while(i){ i--;j=255;{
j--;} } } 3)右擊Target 1打開(kāi)設(shè)置,Output菜單下勾選上create hex file。
4)調(diào)試運(yùn)行程序后,在proteus中雙擊單片機(jī),添加hex文件,運(yùn)行看到流水的的效果。
四、實(shí)驗(yàn)中遇到的問(wèn)題。
1、用proteus仿真時(shí)候,發(fā)現(xiàn)錯(cuò)誤:
error variable not found parsing property resistance of RN1-Rnvalue expected for RN1-R(n=1~8)而且led燈亮度十分微弱。可能是接入的電阻太大了。
檢查電路圖發(fā)現(xiàn)排阻的值為RX8,修改為220(自己選擇)后。錯(cuò)誤便沒(méi)有了,同時(shí),led燈的亮度也增強(qiáng)了。
2、關(guān)于延時(shí)函數(shù)。
延時(shí)的時(shí)間計(jì)算不太明白。
3、P0=0xfe;是對(duì)單片機(jī)P0口的8個(gè)I/O口同時(shí)進(jìn)行操作,0x后的數(shù)使用十六進(jìn)制表示,fe轉(zhuǎn)換為二進(jìn)制是1111 1110,則P0.0為低電平,對(duì)應(yīng)的led燈亮,其他7個(gè)led燈滅。
第五篇:跑馬燈設(shè)計(jì)EDA課程設(shè)計(jì)
第一章 設(shè)計(jì)內(nèi)容與設(shè)計(jì)方案
1.1課程設(shè)計(jì)內(nèi)容
控制8個(gè)LED進(jìn)行花樣性顯示。
設(shè)計(jì)4種顯示模式:s0,從左到右逐個(gè)點(diǎn)亮LED;s1,從右到左逐個(gè)點(diǎn)亮LED;s2,從兩邊到中間逐個(gè)點(diǎn)亮LED;s3,從中見(jiàn)到兩邊逐個(gè)點(diǎn)亮LED。
4種模式循環(huán)切換,復(fù)位鍵(rst)控制系統(tǒng)的運(yùn)行停止。數(shù)碼管顯示模式編號(hào)。可預(yù)置彩燈變換速度,4檔快、稍快、中速、慢速,默認(rèn)工作為中速。
1.2設(shè)計(jì)方案
在掌握常用數(shù)字電路功能和原理的基礎(chǔ)上,根據(jù)EDA技術(shù)課程所學(xué)知識(shí),以及平時(shí)實(shí)驗(yàn)的具體操作內(nèi)容,利用硬件描述語(yǔ)言HDL,EDA軟件QuartusⅡ和硬件平臺(tái)cycloneⅡFPGA進(jìn)行一個(gè)簡(jiǎn)單的電子系統(tǒng)設(shè)計(jì),本次課程設(shè)計(jì)采用Verilog HDL硬件描述語(yǔ)言編寫(xiě)控制程序,應(yīng)用Quartus Ⅱ軟件實(shí)現(xiàn)仿真測(cè)試。采用FPGA芯片對(duì)LED燈進(jìn)行控制,使其達(dá)到流水跑馬燈顯示的效果,LED燈采用共陽(yáng)極接法,當(dāng)給它一個(gè)低電平時(shí),LED點(diǎn)亮,我們利用移位寄存器使各輸出口循環(huán)輸出高低電平,達(dá)到控制的目的。
第二章 設(shè)計(jì)原理
2.1設(shè)計(jì)原理及設(shè)計(jì)流程
本次試驗(yàn)我所完成的內(nèi)容是跑馬燈的設(shè)計(jì),下面我簡(jiǎn)單的進(jìn)行一下原理的闡述。
跑馬燈課程設(shè)計(jì)的要求是控制8個(gè)LED進(jìn)行花樣顯示,設(shè)計(jì)四種顯示模塊:第一種顯示是從左向右逐個(gè)點(diǎn)亮LED。第二種顯示:從右向左逐個(gè)點(diǎn)亮LED。第三種顯示:從兩邊向中間逐個(gè)點(diǎn)亮LED。第四種顯示:從中間到兩邊逐個(gè)點(diǎn)亮LED。四種顯示模式循環(huán)切換,并帶有一位復(fù)位鍵控制系統(tǒng)的運(yùn)行停止。為了完成要求的效果顯示,由于要求比較簡(jiǎn)單,所以不用分為很多模塊來(lái)具體控制,所以我先擇利用移位寄存器來(lái)完成燈的點(diǎn)亮,我們將LED燈采用共陽(yáng)極接法,當(dāng)給于低電平時(shí)點(diǎn)亮,那么當(dāng)我們需要點(diǎn)亮某位LED燈時(shí),只需在該位上賦予低電平即可,比如:如果我們要實(shí)現(xiàn)8個(gè)數(shù)碼燈從左到右依次點(diǎn)亮,那么我們就可以給這8個(gè)數(shù)碼燈分別賦值10000000,經(jīng)過(guò)一段時(shí)間的延時(shí)后再給其賦值01000000,再經(jīng)過(guò)一段時(shí)間延時(shí)后再給其賦值00100000,依次類推,則最后一種賦值狀態(tài)為00000001,這樣就得到了相應(yīng)的現(xiàn)象。同理,要實(shí)現(xiàn)數(shù)碼燈從右向左依次點(diǎn)亮,從中間向兩端依次點(diǎn)亮,從兩端向中間依次點(diǎn)亮都可以采用這樣賦值的方法。為了達(dá)到四種顯示模式循環(huán)切換的目的,可以將以上的所有賦值語(yǔ)句以順序語(yǔ)句的形式置于進(jìn)程中,這樣在完成了一種顯示方式后就會(huì)自動(dòng)進(jìn)入下一種設(shè)定好的顯示模式,如此反復(fù)循環(huán)。當(dāng)需要程序復(fù)位時(shí),只需按下rst鍵即可,程序不管走都那里,執(zhí)行那條語(yǔ)句,只要確定復(fù)位鍵按下時(shí),程序立刻返回到程序執(zhí)行語(yǔ)句的第一步,程序接著進(jìn)行新的循環(huán)點(diǎn)亮。
第三章 設(shè)計(jì)程序
3.1 Verilog HDL程序
module ceshi(clk,rst,Q,DIN,CLK,a);input clk,rst;input [1:0]DIN;
//DIN為變換速度檔 output signed[7:0]Q;
//Q為7個(gè)LED output [6:0]a;
//a為數(shù)碼管顯示模式 output CLK;
//自定義時(shí)鐘 parameter DOUT=8'b0111_1111;reg
CLK;reg
[6:0]x;reg
[1:0]cs;reg
[7:0]Q;reg
[6:0]a;always@(posedge clk)begin x<=7'b0000000;CLK=0;case(DIN)0:begin
x<=x+1'b1;
if(x==20)begin
x<=7'b0;
CLK=~CLK;
end
end 1:begin
x<=x+1'b1;
if(x==15)begin
x<=7'b0;
CLK=~CLK;
end
end 2:begin
x<=x+1'b1;
if(x==10)begin
x<=7'b0;
CLK=~CLK;
end
end 3:begin
x<=x+1'b1;
if(x==5)begin
x<=7'b0;
CLK=~CLK;
end
end default begin
x<=x+1'b1;
if(x==20)begin
x<=7'b0;
CLK=~CLK;
end
end endcase end always@(posedge CLK or negedge rst)begin if(!rst)begin
Q<=DOUT;cs<=2'b00;a=7'b000_0000;end else begin case(cs)0:begin Q<=Q>>1;Q[7]<=1'b1;a=7'b0111111;
if(Q==8'b1111_1110)begin
Q<=8'b1111_1101;
cs<=2'b01;
end
end 1:begin Q<=Q<<1;Q[0]<=1'b1;a=7'b0000_110;
if(Q==8'b0111_1111)begin
Q<=8'b0111_1110;
cs<=2'b10;
end
end 2:begin Q[7:4]<=Q[7:4]>>1;
Q[3:0]<=Q[3:0]<<1;
Q[7]<=1'b1;
Q[0]<=1'b1;a=7'b1011_011;
if(Q==8'b1110_0111)begin
Q<=8'b1101_1011;
cs<=2'b11;
end
end 3:begin Q[7:4]<=Q[7:4]<<1;
Q[3:0]<=Q[3:0]>>1;
Q[4]<=1'b1;
Q[3]<=1'b1;a=7'b100_1111;
if(Q==8'b0111_1110)begin
Q<=8'b0111_1111;
cs<=2'b00;
end
end default begin
Q<=DOUT;
cs<=2'b00;
a=7'b0000_000;
end endcase end end endmodule
第四章 設(shè)計(jì)結(jié)果及仿真波形
4.1 設(shè)計(jì)結(jié)果
圖1 頂層文件原理圖
4.2仿真波形
4.3仿真結(jié)果分析
當(dāng)輸入DIN為00時(shí)選擇慢速檔,CLK的周期大約為20us,隨著CLK上升沿的到來(lái)輸出Q做移位變化,開(kāi)始從左向右移,數(shù)碼管段碼輸出a顯示0,然后從右向左移,數(shù)碼管段碼輸出a顯示1,然后從中間向兩邊移,數(shù)碼管段碼輸出a顯示2,然后從兩邊向中間移,數(shù)碼管段碼輸出a顯示3,之后循環(huán)顯示,當(dāng)按下復(fù)位鍵rst時(shí)系統(tǒng)運(yùn)行停止,第一個(gè)燈點(diǎn)亮,數(shù)碼管無(wú)顯示。當(dāng)輸入DIN為01時(shí)選擇中速檔,CLK的周期大約為15us,執(zhí)行以上循環(huán)顯示。當(dāng)輸入DIN為10時(shí)選擇稍快檔,CLK的周期大約為10us,執(zhí)行以上循環(huán)顯示。當(dāng)輸入DIN為11時(shí)選擇快速檔,CLK的周期大約為5us,執(zhí)行以上循環(huán)顯示。
第五章 設(shè)計(jì)總結(jié)
通過(guò)這次有關(guān)于EDA技術(shù)的課程設(shè)計(jì)的學(xué)習(xí)與應(yīng)用,我們基本了解了EDA技術(shù)的相關(guān)應(yīng)用,也掌握了EDA設(shè)計(jì)的相關(guān)軟件Quartus7.2的最基礎(chǔ)的使用方法,豐富了我們的設(shè)計(jì)手段,也讓我了解了更多的仿真方法。
在上機(jī)操作的過(guò)程中,剛開(kāi)始我們遇到了很多的困難,對(duì)軟件的不熟悉以及對(duì)原理掌握的不透徹,使得剛開(kāi)始的時(shí)候舉步維艱,但是經(jīng)過(guò)對(duì)最簡(jiǎn)單的模型的設(shè)計(jì)及仿真練習(xí)過(guò)后,我們基本掌握了軟件的使用方法,通過(guò)軟件仿真及對(duì)各個(gè)參數(shù)的設(shè)置,我們不斷調(diào)試仿真出來(lái)的波形。這期間我們也了解到,雖然軟件的仿真功能很強(qiáng)大,但是還是需要操作人員仔細(xì)的進(jìn)行觀察及調(diào)試的,否則也容易出現(xiàn)仿真錯(cuò)誤。
這次的學(xué)習(xí)開(kāi)闊了我們的視野,使我們了解了更多的專業(yè)方面的實(shí)際應(yīng)用,在生產(chǎn)應(yīng)用方面的用處等,以及專業(yè)方面的發(fā)展方向等……隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,在涉及通信、國(guó)防、航天、工業(yè)自動(dòng)化、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計(jì)工作中,EDA技術(shù)的含量正以驚人的速度上升,它已成為當(dāng)今電子技術(shù)發(fā)展的前沿之一。EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來(lái)描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計(jì)工具趨于完美的地步,所以我們更加應(yīng)該多多掌握這方面的知識(shí)。
第六章 參考文獻(xiàn)
[1] 潘松、黃繼業(yè)編著.EDA技術(shù)與VHDL,北京:清華大學(xué)出版社 [2] 邊計(jì)年主編.用VHDL設(shè)計(jì)電子線路, 北京:清華大學(xué)出版社
[3] 王金明,楊吉斌編著.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL.北京:電子工業(yè)出版社 [4] 徐志軍,徐光輝編著.CPLD/FPGA的開(kāi)發(fā)與應(yīng)用.北京:電子工業(yè)出版社 [5] 葉天遲主編.EDA實(shí)用技術(shù)實(shí)驗(yàn)及課程設(shè)計(jì)指導(dǎo)書(shū).長(zhǎng)春:自編實(shí)驗(yàn)指導(dǎo)書(shū)