




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGE21河南科技大學課程設計說明書課程名稱EDA綜合設計題目__出租車計費系統設計__學院______班級_____學生姓名__________學號________指導教師日期2015年6月26日
課程設計任務書課程設計名稱EDA綜合設計學生姓名專業班級設計題目出租車計費系統設計課程設計目的1、綜合運用EDA技術,獨立完成一個課題的設計,考察運用所學知識,解決實際問題的能力;2、結合理論知識,考察閱讀參考資料、文獻、手冊的能力;3、進一步熟悉EDA技術的開發流程,掌握文件編輯、編譯、仿真、下載驗證等環節的實現方法和應用技巧;4、鍛煉撰寫研究報告、研究論文的能力;5、通過本實踐環節,培養科學和嚴謹的工作作風。設計內容、技術條件和要求能夠實現計費功能:費用的計算是按行駛里程收費,設出租車的起價為5.00元,當里程小于3km時,按起價計算收費;當里程大于3km時每公里按1.3元計費。等待累計時間超過2min,按每分鐘1.5元計費。所以總費用按下式計算:總費用=起價費+(里程-3km)×里程單價+等候時間×等候單價2、能夠實現顯示功能:顯示汽車行駛里程:用四位數字顯示,顯示方式為“XXXX”,單位為km。計程范圍為0~99km,計程分辨率為1km。顯示等候時間:用兩位數字顯示分鐘,顯示方式為“XX”。計時范圍為0~59min,計時分辨率為1min。顯示總費用:用四位數字顯示,顯示方式為“XXX.X”,單位為元。計價范圍為999.9元,計價分辨率為0.1元。三、時間進度安排1周:(1)完成設計準備,確定實施方案;(2)完成電路文件的輸入和編譯;(3)完成功能仿真。2周:((1)完成文件至器件的下載,并進行硬件驗證;(2)撰寫設計說明書。四、主要參考文獻(1)譚會生、瞿遂春,《EDA技術綜合應用實例與分析》,西安電子科技大學出版社,2004(2)曹昕燕、周鳳臣等,《EDA技術實驗與課程設計》,清華大學出版社,2006指導教師簽字:2015年6月15日
出租車計費系統設計專業:電子信息科學與技術系作者:指導老師:摘要:本次課程設計應用EDA技術來實現出租車計費系統的設計。EDA是電子設計自動化(Electronic
Design
Automation)的縮寫,EDA技術是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言HDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。本文采用的就是用VHDL語言設計的基于FPGA的出租車計費系統設計,
FPGA是英文Field-Programmable
Gate
Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。出租車是人們在生活中和工作中不可缺少的交通工具,出租車行業的服務水平與電子信息的發展密切相關,乘客坐出租車必須要有一個合理的價格,因此,出租車上必須要有一個計價器,計價器的設計合格與否直接相關著乘客和司機的經濟利益。關鍵詞:VHDL語言;FPGA;仿真;出租車。TaxibillingsystemdesignProfessional:ElectronicInformationScienceandTechnologyAuthor:zhangzhenkInstructor:zhangleimingliuboAbstract:ThiscourseisdesignedtouseEDAtechnologytoachievedesigntaxibillingsystem.EDAisanelectronicdesignautomation(ElectronicDesignAutomation)abbreviation,EDAtechnologyisbasedonacomputerasatooldesignerintheEDAsoftwareplatform,completewithhardwaredescriptionlanguageHDLdesignfiles,thenautomaticallydonebycomputerlogiccompilation,simplification,segmentation,integration,optimization,placement,routingandsimulationworkuntilaspecifictargetforthecompileradapterchips,logicmappingandprogramdownloads.ThispaperistouseVHDLlanguagedesigntaxibillingsystembasedonFPGAdesign,FPGAistheEnglishField-ProgrammableGateArrayabbreviationofthefieldprogrammablegatearray,whichisinPAL,GAL,CPLDandotherprogrammabledevicesBasedonthefurtherdevelopmentoftheproduct.Itisimplementedasapplicationspecificintegratedcircuit(ASIC)inthefieldofasemi-customcircuitandemerged,whichaddressesthelackofcustomcircuits,butalsoovercomethelimitednumberofgatesofprogrammabledevicesexistingshortcomings.Taxisarepeopleinthelifeandworkanindispensablemeansoftransport,theservicelevelofthetaxiindustryandthedevelopmentofelectronicinformationiscloselyrelatedtotaxipassengersmusthaveareasonableprice,andtherefore,theremustbeataxiameter,themeterisdesignedqualifiedornotdirectlyrelatedtotheeconomicinterestsofpassengersanddrivers.Keywords:VHDLlanguage;FPGA;simulation;taxi..
目錄TOC\o"1-3"\u1任務解析 41.1里程計費 41.2等待計費 41.3顯示功能 42系統方案設計 42.1系統基本方案 42.2系統設計原理 52.3系統流程圖 53模塊設計及仿真 63.1計量模塊 63.2計時模塊 73.3控制模塊 83.4顯示模塊 104系統頂層原理圖及仿真 114.1系統頂層原理圖 114.2系統頂層仿真 115硬件驗證 125.1引腳鎖定 125.2驗證結果 136總結與心得 147參考文獻 15附錄一 16計量模塊VHDL源程序 16附錄二 17計時模塊VHDL源程序 17附錄三 18控制模塊VHDL源程序 18附錄四 19計費模塊VHDL源程序 19
1任務解析1.1里程計費設出租車的起價為5.00元,當里程小于3km時,按起價計算收費;當里程大于3km時每公里按1.3元計費。此模塊可用VHD語言編寫設計一個100進制計數器,每計一次數里程增加1KM。當計數器計數到4時,費用按每計一次數,費用加1.3元。否則,費用按起價費算。1.2等待計費等待累計時間超過2min,按每分鐘1.5元計費。等待計費也可以用VHDL設計一個60進制計數器,每計一次數等待時間增加1min。當計數器計到3時,費用按每計一次數費用加1.5元,否則費用不增加。1.3顯示功能顯示汽車行駛里程:用四位數字顯示,顯示方式為“XXXX”,單位為km。計程范圍為0~99km,計程分辨率為1km。顯示里程可用液晶顯示,也可用用數碼管顯示,由于本次設計在GW48實驗教學系統上驗證,數碼管直接用4位BCD碼就可以顯示,所以本次設計采用數碼管來顯示里程,計程范圍為0~99km,即用兩個數碼管就可以顯示里程。顯示等候時間:用兩位數字顯示分鐘,顯示方式為“XX”。計時范圍為0~59min,計時分辨率為1min。等待時間顯示也用數碼管來顯示,由于是兩位數字顯示分鐘,則用兩個數碼管既可以來顯示等待的時間。顯示總費用:用四位數字顯示,顯示方式為“XXX.X”,單位為元。計價范圍為999.9元,計價分辨率為0.1元。四位數字的顯示可以用4個數碼管來顯示,小數點可以用一個發光二極管來顯示即可。2系統方案設計2.1系統基本方案根據題目要求第一節的任務解析,系統可劃分為計量程模塊,計時模塊,控制模塊,計費模塊,顯示模塊。系統框圖如圖2-1-1所示。計量程模塊計量程模塊控制模塊計費模塊計時模塊顯示模塊圖2-1-1系統的總體框圖2.2系統設計原理根據設計的要求,系統的輸入信號有:系統時鐘信號CLK,計價開始信號START,等待信號STOP,里程脈沖信號FIN。系統的輸出信號有:總的費用MON0~MON3,行駛距離(km數)RUN0~RUN1,等待時間(min)TIME0~TIME3。系統的原件框圖如圖2-2-1所示。端口定義類型為:ENTITYjiliangISPORT(clk1:INSTD_LOGIC;--時鐘信號fin:INSTD_LOGIC;--里程脈沖信號start:INSTD_LOGIC;--計價開始信號--stop:INSTD_LOGIC;--等待時間信號run1,run0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);time1,time0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);mon3,mon2,mon1,mon0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;圖圖2-2-1系統總的原件框圖整個系統的控制為:系統有兩個脈沖信號CLK和里程脈沖信號FIN,兩個控制開關START和STOP。當出租車沒有行駛時,沒有里程脈沖信號FIN,計價開始信號START為低電平,等待信號STOP為低電平,系統停止工作;當有乘客上車并開始行駛時,里程脈沖信號FIN到來,即里程開始計數,這時計價開始信號START置為高電平,開始計里程價,等待信號STOP為低電平;如果乘客需要停車等待,則沒有了里程脈沖信號FIN,開關將等待信號STOP置為高電平,開始等待計時;當乘客等待結束,開關將等待信號STOP置為低電平,里程脈沖信號FIN到來,里程繼續開始計數;當乘客到目的地下車,計價開始信號START置為低電平,系統停止工作。2.3系統流程圖有了流程圖,才能更好的完成本次的課程設計,本次的設計是從底層到頂層的設計過程,從底層的VHDL程序代碼到頂層的例化原理圖設計。對系統的總體框圖進行更全面,更小的模塊來分化設計便可得到設計的流程圖。如圖2-3-1所示為出租車價器的流程圖。圖圖2-3-1出租車計價器的流程圖開始空車等待有乘客置起步價停車,等待乘客下車乘客要求下車停車等待里程大于3km里程計價誤時超過2min置誤時價里程脈沖3模塊設計及仿真3.1計量模塊計量模塊是在出租車在行駛的過程中對量程的計數,每計一次數即行駛了1km。當行駛里程大于3km,即計數大于3時,使能信號SIG0為高電平。當計數計到99時,計數從0重新開始計數。計量模塊原理圖如圖3-1-1所示。端口定義類型為:ENTITYjiliangISPORT(start,fin,clk1:INSTD_LOGIC;sig0:OUTSTD_LOGIC;run1,run0:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;圖圖3-1-1計量模塊原理圖計量模塊的仿真波形如圖3-1-2所示。由圖可以看出當START為低電平時,系統停止工作,當START為高電平,里程脈沖信號FIN到來時,里程run開始計數,當run0大于9時,run0從0重新開始計數,run1加1,一直計到99時,重新從0開始計數,實現了100進制的計數器。當計數器計數大于3時,使能信號SIG0輸出高電平(當里程大于3km時每公里按1.3元計費)。圖圖3-1-2計量模塊仿真波形圖3.2計時模塊計時模塊是當乘客中途有事需要等待時,對時間的計數,每計一次數即等待了1min。當等待時間大于2min,即計數大于2時,使能信號SIG1為高電平。當計數計到59時,計數從0重新開始計數。計時模塊原理圖如圖3-2-1所示。端口定義類型為:ENTITYjishiISPORT(start,STOP,clk2:INSTD_LOGIC;Sig1:OUTSTD_LOGIC;time1,time0:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;圖圖3-2-1計時模塊原理圖計時模塊的仿真波形圖如圖3-2-2所示。由圖可以看出當START為低電平時,系統停止工作,當START為高電平,STOP為低電平時,系統不計時,當STOP變為高電平,當CLK2脈沖到來時,系統開始進入等待計時,當time0大于9時,time0重新開始計時,time1加1,一直計到59,重新從0開始計數。當等待時間計時大于2時,使能信號SIG1輸出高電平。圖圖3-2-2計時模塊仿真波形圖3.3控制模塊控制模塊主要通過計量模塊的使能輸出信號SIG0和計時模塊的使能輸出信號SIG1來控制費用的計算,當SIG0為高電平時,即里程大于3km時,每公里按1.3元計費,當里程小于3km時,按起價計算收費,出租車的起價為5.00元。當SIG1為高電平時,即等待累計時間超過2min時,按每分鐘1.5元計費,當等待時間沒有超過2min,費用不增加。所以總費用按下式計算:總費用=起價費+(里程-3km)×里程單價+等候時間×等候單價控制模塊原理圖如圖3-3-1所示。端口定義類型為:PORT(start:INSTD_LOGIC;sig1,sig0:INSTD_LOGIC;run1,run0,time1,time0:INSTD_LOGIC_VECTOR(3DOWNTO0);cost:OUTINTEGERRANGE0TO999);ENDctl;圖圖3-3-1控制模塊原理圖控制模塊的輸入信號來自計量模塊與計時模塊的輸出信號,所以單獨仿真很復雜,要與計量模塊和計時模塊連在一起來做仿真。如圖3-3-2所示為計量模塊,計時模塊及控制模塊的原理圖。計量圖圖3-3-2計量模塊,計時模塊及控制模塊原理圖模塊的輸入信號START,FIN,CLK1是系統的輸入信號,輸出信號SIG0,RUN1,RUN0作為控制模塊的輸入信號;計時模塊的輸入信號START,STOP,CLK2是系統的輸入信號,輸出信號SIG1,TIME1,TIME0作為控制模塊的輸輸入信號,START也作為控制模塊的輸入信號,COST為控制模塊的輸出信號。端口定義類型為:PORT(clk:INSTD_LOGIC;fin:INSTD_LOGIC;start,STOP:INSTD_LOGIC;cost:OUTINTEGERRANGE0TO999);計量模塊,計時模塊及控制模塊的波形仿真圖如圖3-3-3所示。由仿真圖可以看出當START為圖圖3-3-3計量模塊,計時模塊及控制模塊的波形仿真圖電平,FIN里程脈沖信號到來時,此時STOP為低電平,里程開始由0計數,當大于3kn時,使能信號SIG0變為高電平,費用按每行駛1km,費用增加1.3元。當STOP為高電平時,開始進入等待計數,當等待時間大于2min時,費用按每等待1min,費用增加1.5元。由于計費模塊已在控制模塊中實現,所以下面不在單獨討論計費模塊。3.4顯示模塊顯示模塊主要顯示汽車行駛里程,等待時間,總的費用。行駛里程用四位數字顯示,顯示方式為“XXXX”,單位為km。計程范圍為0~99km,計程分辨率為1km。里程用run1和run0輸出,由于在系統中run和run0的類型為STD_LOGIC_VECTOR(3DOWNTO0)類型,所以直接用數碼管輸出。等待時間用兩位數字顯示分鐘,顯示方式為“XX”。計時范圍為0~59min,計時分辨率為1min。等待時間用time1和time0輸出,time1和time0的類型為STD_LOGIC_VECTOR(3DOWNTO0)類型,所以直接用數碼管輸出。總的費用用四位數字顯示,顯示方式為“XXX.X”,單位為元。計價范圍為999.9元,計價分辨率為0.1元。在控制模塊中輸出的費用為十進制數,不能直接用數碼管輸出,對十進制輸出可以有兩種方法,如下進行討論。方案一:把每一個十進制數用8位BCD碼表示,然后用數碼管輸出。由于此次統統需要的計價范圍為999.9元,因此需要對9999個數進行BCD的編碼,數量比較大,程序代碼較長,所以不易采用。方案二:本次系統需要顯示的最大范圍是0到9999,總共四位數,可以把每一位數字先求出來,在把每位數轉化為4位二進制,就可以用數碼管直接輸出,此方法簡單,代碼較短。每位數求法如下所示。其中Ch0為個位數,ch1為十位數,ch2為百位數,ch3位千位數。在個位與十位之間加一個發光二極管,則可以實現小數點。ch0<=costrem10;ch1<=cost/10;ch2<=0;ch3<=0;兩位數求個位,十位的算法ch0<=(costrem100)rem10;ch1<=(costrem100)/10;ch2<=cost/100;ch3<=0;三位數求個位,十位,百位的算法ch0<=((costrem1000)rem100)rem10;ch1<=((costrem1000)rem100)/10;ch2<=(costrem1000)/100;ch3<=cost/1000;四位數求個位,十位,百位,千位的算法十進制數轉化為4位二進制數的程序如下所示。mon0<=conv_std_logic_vector(ch0,4);--個位數轉化為4位二進制數mon1<=conv_std_logic_vector(ch1,4);--十位數轉化為4位二進制數mon2<=conv_std_logic_vector(ch2,4);--百位數轉化為4位二進制數mon3<=conv_std_logic_vector(ch3,4);--千位數轉化為4位二進制數4系統頂層原理圖及仿真4.1系統頂層原理圖根據題目要求,該系統的原理圖有計量程模塊,計時模塊,控制模塊,計費模塊,顯示模塊組成。計費模塊在控制模塊中實現。系統有四個輸入端口,兩個脈沖信號和兩個開關;八個輸出端口,八個輸出信號用八個數碼管顯示結果,兩個數碼管顯示里程,兩個數碼管顯示等待時間,四個數碼管顯示總的費用。系統頂層原理圖如圖4-1-1所示。圖圖4-1-1系統的頂層原理圖4.2系統頂層仿真如圖4-2-2所示為系統頂層仿真波形圖。由波形圖可以看出,當START為低電平時,系統停止工作;當START為高電平,FIN里程脈沖到來時,里程run(run1為高四位,run0為低四位)開始計數,當大于3km時,每行駛1km,費用mon(mon3為千位,mon2為百位,mon1為十位,mon為個位)增加1.3元,起價費為5.0元;當STOP為高電平時,time進入等待計時,當大于2min時,每等待1min,費用mon增加1.5元,不超過2min,費用mon不增加。圖圖4-2-2系統頂層仿真波形圖5硬件驗證5.1引腳鎖定引腳鎖定需要與目標芯片型號及具體的硬件開發環境相結合。本次設計所使用的試驗箱在EDA實驗系統GW48-PK2上完成。芯片選用“cyclone”系列的“EP1C6Q240C8”。本設計選擇模式0,按鍵3和按鍵4分別作為START和STOP的輸入按鈕,按鍵5可作為里程FIN脈沖信號,CLOCK0作為clk的時鐘信號,八個數碼管作為里程、等待時間、總費用的的輸出顯示。在確定了設計電路的輸入/輸出與目標芯片引腳的鏈接關系后,即可進行引腳的確定。引腳鎖定如圖5-1-1所示。圖5-1-1圖5-1-1系統的引腳鎖定5.2驗證結果完成管腳鎖定后,對設計文件進行重新編譯,產生設計電路的下載文件(.Sof)。在GW48實驗教學系統上下載.sof文件驗證結果。在所有按鍵都沒有按下時,系統停止工作,費用顯示起價費5.00元。當START為高電平,FIN也為高電平時,里程開始計數,當沒有超過3km時,顯示起價費5.00元。當大于3km時,每行駛1km,費用增加1.3元,當按下STOP時,并且沒有FIN時,開始等待計時,當大于2min時,每等待1min,費用增加1.5元。如圖5-2-1所示為系統停止工作時的驗證結果,圖5-2-2為里程小于3km時的驗證結果,圖5-2-3為里程大于3km時的驗證結果,圖5-2-4為等待時的驗證結果。總費用=起價費+(里程-3km)×里程單價+等候時間×等候單價圖5-2-1圖5-2-1系統停止工作時的驗證結果圖5-2-2里程小于3km時的圖5-2-3圖5-2-3里程大于3km時的驗證結果圖5-2-4等待時的驗證結果6總結與心得本以為這次的課程設計三周的時間很長,沒想到在做的過程中才發現并不簡單,因為在做的前期遇到了很多的困難,比如模塊的選擇,功能的實現,當確定一個模塊之后,在寫程序的時候會有很多的想法來實現功能,但是驗證結果并不能滿足要求,需要的反復的來調試驗證。這次的課程設計是課程名稱是EDA綜合設計,題目是出租車計費系統設計,所以要用上學期學的FPGA的知識來設計本次課程設計,也就是用VHDL語言在Quartus工具上來編寫程序來實現課程設計的功能。出租車的計費系統設計,要能夠顯示所行駛的里程,等待的時間和總的費用,行駛的里程和等待的時間比較容易實現,用VHDL寫兩個計數器即可實現,但是,總的費用不好實現,因為當里程大于3km時,才按每行駛1km,費用增加1.3元,當等待時間超過2min時,每等待1min,費用增加1.5元,我在做的過程中,總的費用的計算,這個模塊所用的周期最長,有時候實現了里程的計費,但是,等待時間的時間不能夠正確的計算,實現了等待時間的費用的功能,里程的費用又會出現偏差。所以在這一模塊的調試用了很長的時間,不過,最終還是通過查閱資料,通過老師的指導和同學的幫助,所有功能都可以很好的實現。通過這次的課程設計,我發現自己對EDA掌握還有很大的欠缺,對VHDL的語法不熟練,想一些對一個數的取余及取模,在未做課設之前都不知道如何用。不過,通過這次的課程設計,我已經學會了關于FPGA更多的知識,了解到VHDL語言和C語言還是有很大的區別的,知道了FPGA有很多的優點。通過設計使自己懂得了理論知識是要和實際結合使用才能感覺到理論知識的價值,沒有實際的操作,沒理論的知識的時候感覺學了沒啥大的用處,但是當與實際結合的時候,才發現沒有理論知識時無法完成一項設計的,所以不管是不是理論知識對我們有沒有用,學了總歸是對我們有好處的。綜合運用EDA技術,加強了獨立完成一個課題的設計,通過運用所學的知識,解決實際問題的能力;結合理論知識,鞏固了閱讀參考資料、文獻、手冊的能力;進一步熟悉EDA技術的開發流程,掌握文件編輯、編譯、仿真、下載驗證等環節的實現方法和應用的技巧。最后還要感謝我們的張老師和劉老師,老師循循善誘的教導和不拘一格的思路的給予我無盡的啟迪。他門淵博的知識,耐心的指導,以及務實的研究態度,使我深受感動,并且順利的完成了本次的課程設計。同時還要感謝幫助過我的同學,謝謝你們隊對我的幫助和支持。7參考文獻[1]潘松黃繼業
附錄一計量模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYjiliangISPORT(start:INSTD_LOGIC;fin:INSTD_LOGIC;clk1:INSTD_LOGIC;sig0:OUTSTD_LOGIC;run1,run0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;ARCHITECTUREONEOFjiliangISSIGNALr1,r0:STD_LOGIC_VECTOR(3DOWNTO0)BEGINPRCESS(clk1)BENGINIFclk1'eventANGclk1='1'THENIFstart='0'THEN--當start為低電平時,停止工作sig0<='0';r1<="0000";r0<="0000";ELSIFfin='1'THEN--當stop為低電平時,fin脈沖到來時,km0,km1進行計數IFr0="1001"THENr0<="0000";IFr1="1001"THENr1<="0000";--計程范圍為0~99kmELSEr1<=r1+1;ENDIF;ELSEr0<=r0+1;ENDIF;IFr1&r0>"00000010"THENsig0<='1';--當里程大于3km時,en0<='1'ELSEsig0<='0';ENDIF;ELSEsig0<='0';ENDIF;ENDIF;run1<=r1;run0<=r0;ENDPROCESS;ENDONE;
附錄二計時模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYjishiISPORT(start:INSTD_LOGIC;Stop:INSTD_LOGIC;clk2:INSTD_LOGIC;sig1:OUTSTD_LOGIC;time1,time0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjishi;ARCHITECTUREONEOFjishiISSIGNALt1,t0:STD_LOGIC_VECTOR(3DOWNTO0)BEGINPRCESS(clk2)BENGINIFclk2'eventANDclk2='1'THENIFstart='0'TEEN--當start為低電平時,停止工作sig1<='0';t1<="0000";t0<="0000";ELSEstop='1'THEN--當start為高電平,開始計數,當stop為高電平時,進入等待計時IFt0="1001"THENt0<="0000";IFt1="0101"THENt1<="0000";ELSEt1<=t1+1;ENDIF;ELSEt0<=t0+1;ENDIF;IFt1&t0>"00000001"THENsig1<='1';--等待累計時間超過2min,en1<='1'ELSEsig1<='0';ENDIF;ELSEsig1<='0';ENDIF;ENDIF;time1<=t1;time0<=t0;ENDPROCESS;END;
附錄三控制模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYctlISPORT(start:INSTD_LOGIC;sig1:INSTD_LOGIC;sig0:INSTD_LOGIC;run1,run0:INSTD_LOGIC_VECTOR(3DOWNTO0);time1,time0:INSTD_LOGIC_VECTOR(3DOWNTO0);cost:OUTTNTEGERRANGE0TO9999);ENDctl;ARCHITECTUREONEOFctlISSIGNALa1:TNTEGERRANGE0TO9999;SIGNALa2:TNTEGERRANGE0TO9999;SIGNALb1:TNTEGERRANGE0TO9999;SIGNALb2:TNTEGERRANGE0TO9999;SIGNALfee3,fee2,fee1,fee0:TNTEGERRANGE0TO9999;BEGINPROCESS(start,sig1,sig0,run1,run0,time1,time0)BEGINIFstart='0'THENfee3<=0;fee2<=0;fee1<=0;fee0<=0;--start為低電平,停止工作ELSEIFsig0='1'THENIFrun1="0000"THENa1<=13*(conv_integer(run0)-3);a2<=13*CONV_INTEGER(run1)*10;fee0<=a1+a2+50;ELSEa1<=13*conv_integer(run0);a2<=13*CONV_INTEGER(run1)*10;fee1<=a1+a2-39+50;ENDIF;ENDIF;IFsig1='1'thenIFtime1="0000"THENb1<=15*(conv_integer(time0)-2);b2<=15*CONV_INTEGER(time1)*10;fee2<=b1+b2;ELSEb1<=15*conv_integer(time0);b2<=15*CONV_INTEGER(time1)*10;fee3<=b1+b2-30;ENDIF;ENDIF;IF(run1="0000"andtime1="0000")thencost<=fee0+fee2;ENDIF;IF(run1>"0000"andtime1="0000")thencost<=fee1+fee2;ENDIF;IF(run1="0000"andtime1>"0000")thencost<=fee0+fee3;ENDIF;IF(run1>"0000"andtime1>"0000")thencost<=fee1+fee3;ENDIF;ENDIF;ENDPROCESS;ENDONE;附錄四計費模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYctlISPORT(cost:INTNTEGERRANGE0TO9999;mon0,mon1,mon2,mon3:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjifei;ARCHITECTUREONEOFjifeiISSIGNALch3,ch2,ch1,ch0:TNTEGERRANGE0TO9;SIGNALtemp:STD_LOGIC_VECTOR(1DOWNTO0);BEGINPROCESS(cost)BEGINIFcost>9THENtemp<="01";ch0<=costrem10;ch1<=cost/10;ch2<=0;ch3<=0;IFcost>99THENtemp<="10";ch0<=(costREM100)REM10;ch1<=(costREM100)/10;ch2<=cost/100;ch3<=0;IFcost>999THENtemp<="11";ch0<=((costREM1000)rem100)REM10;ch1<=((costREM1000)REM100)/10;ch2<=(costREM1000)/100;ch3<=cost/1000;ELSEtemp<="10";ch0<=(costREM100)REM10;ch1<=(costREM100)/10;ch2<=cost/100;ch3<=0;ENDIF:ELSEtemp<="01";ch0<=costREM10;ch1<=cost/10;ch2<=0;ch3<=0;ENDIF:ELSEtemp<="00";ch0<=0;ch1<=5;ch2<=0;ch3<=0;ENDIF:ENDPROCESS:PROCESS(temp,ch3,ch2,ch1,ch0)BEGINCASEtempISWHEN"11"=>--四位數顯示mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);WHEN"10"=>--三位數顯示mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);WHEN"01"=>--二位數顯示mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);WHEN"00"=>mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);ENDCASE;ENDPROCESS;ENDONE;基于C8051F單片機直流電動機反饋控制系統的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統最佳啟停自校正(STR)調節器單片機控制的二級倒立擺系統的研究基于增強型51系列單片機的TCP/IP協議棧的實現基于單片機的蓄電池自動監測系統基于32位嵌入式單片機系統的圖像采集與處理技術的研究基于單片機的作物營養診斷專家系統的研究基于單片機的交流伺服電機運動控制系統研究與開發基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統研究基于C8051F040單片機的嵌入式系統開發基于單片機的液壓動力系統狀態監測儀開發模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環走絲方式研究基于單片機的機電產品控制系統開發基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統單片機系統軟件構件開發的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現基于單片機的電液伺服控制系統用于單片機系統的MMC卡文件系統研制基于單片機的時控和計數系統性能優化的研究基于單片機和CPLD的粗光柵位移測量系統研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數據采集系統基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數控改造基于單片機的溫度智能控制系統的設計與實現基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協議轉換器基于單片機和DSP的變壓器油色譜在線監測技術研究基于單片機的膛壁溫度報警系統設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監測系統基于單片機網絡的振動信號的采集系統基于單片機的大容量數據存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現基于AT89S52單片機的通用數據采集系統基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統基于單片機的控制系統在PLC虛擬教學實驗中的應用研究基于單片機系統的網絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統設計與研究基于單片機的模糊控制器在工業電阻爐上的應用研
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何在信息系統項目管理師考試中掌握使用案例分析法試題及答案
- 項目管理軟件的比較分析試題及答案
- 軟件設計師考試課程設置試題及答案
- 考試評分標準下的軟件設計師試題及答案
- 項目管理中時間估算技巧試題及答案
- 機電工程環境監測技術試題及答案
- 公共政策的執行性與考量因素試題及答案
- 網絡設計文檔撰寫要點試題及答案
- 科技與社會政策相結合的創新路徑試題及答案
- 深入探討云計算與網絡的結合點與試題及答案
- 湖北武漢市2025屆高三第一次調研測試數學試卷含解析
- 夜市街規劃設計方案
- 【MOOC】融合新聞:通往未來新聞之路-暨南大學 中國大學慕課MOOC答案
- 算力是人工智能的基礎設施
- 電信總經理談服務
- DB5325-T 119-2024餐飲場所用醇基液體燃料使用管理規范
- Excel數據透視表實戰演練培訓課件(2024年)
- 2024年福建省高中學業水平考試數學試卷真題(含答案詳解)
- 二手房東合伙協議書范本2024年
- 檢驗科菌(毒)種及其樣品安全管理制度
- 家庭教育指導師學習知識競賽試題(附答案)
評論
0/150
提交評論