EDA出租車(chē)計(jì)費(fèi)器設(shè)計(jì)_第1頁(yè)
EDA出租車(chē)計(jì)費(fèi)器設(shè)計(jì)_第2頁(yè)
EDA出租車(chē)計(jì)費(fèi)器設(shè)計(jì)_第3頁(yè)
EDA出租車(chē)計(jì)費(fèi)器設(shè)計(jì)_第4頁(yè)
EDA出租車(chē)計(jì)費(fèi)器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

出租車(chē)計(jì)費(fèi)器出租車(chē)計(jì)費(fèi)器1028頁(yè)出租車(chē)計(jì)費(fèi)器的總體設(shè)計(jì)出租車(chē)計(jì)費(fèi)設(shè)計(jì)該出租車(chē)計(jì)費(fèi)器按下開(kāi)關(guān)S1后開(kāi)頭計(jì)費(fèi)和計(jì)里程數(shù),分為白天和夜晚。當(dāng)撥動(dòng)開(kāi)關(guān)K2為0時(shí),系統(tǒng)使用程序設(shè)置的起步價(jià),白天起步價(jià)是3元,準(zhǔn)行2公里,以后2/公里;夜晚起步價(jià)是923/公里。當(dāng)撥K210~920050根本設(shè)計(jì)思想來(lái)作為整個(gè)系統(tǒng)的復(fù)位按鈕,每復(fù)位一次,計(jì)1公里。系統(tǒng)設(shè)計(jì)是需要檢測(cè)電機(jī)的轉(zhuǎn)動(dòng)狀況,每轉(zhuǎn)1000圈,分頻模塊輸出一個(gè)下降沿信號(hào)。車(chē)費(fèi)和里程數(shù)874416*16K102/2;撥動(dòng)開(kāi)關(guān)K21,3/3。出租車(chē)計(jì)費(fèi)器的總體實(shí)現(xiàn)系統(tǒng)總體框圖,主要進(jìn)程有:1計(jì)程模塊進(jìn)程:記錄已行里程;計(jì)費(fèi)模塊進(jìn)程:計(jì)算應(yīng)付車(chē)費(fèi);4*4總程序〔系統(tǒng)時(shí)鐘〕4*4計(jì)費(fèi)模塊分頻模塊計(jì)程模塊總程序〔系統(tǒng)時(shí)鐘〕4*4計(jì)費(fèi)模塊分頻模塊計(jì)程模塊數(shù)碼管16*162-1數(shù)碼管16*16程序流程圖Count<=0Temp<=0Count<=0Temp<=0Yrstmotor信號(hào)發(fā)生變化Rst=’0’Nmotor”eventandmotor=”1”YYCount<499Count=0Temp=nottempNCount<=count+1Glclk<=temp2-2分頻模塊〔2〕計(jì)程模塊Meter1<=0;Meter1<=0;Meter10<=0;Meter100<=0;Meter1K<=0;Yrstglclk信號(hào)發(fā)生變化Rst=’0’Nglclk”eventandglclk=”0”YMeter1,meter10,meter100,meter1000代表的四位十12-3計(jì)程模塊(3)計(jì)費(fèi)模塊Money1<=qibujia;Money1<=qibujia;Money10<=0;Money100<=0;Money1000<=0;Yrstclk信號(hào)發(fā)生變化Rst=’0’Nclk”eventandclk=”0”Y依據(jù)路程計(jì)算出總價(jià),再把總價(jià)的千位、百位、十位、個(gè)位取出顯示。2-4計(jì)費(fèi)模塊出租車(chē)計(jì)費(fèi)器各功能的實(shí)現(xiàn),meter11.ifrst=”0”thencount<=0;elsif(motor”eventandmotor=”1”)thenifcount>499thencount<=0;temp<=nottemp;elsecount<=count+1;endif;endif;glclk<=temp;90。process(glclk)beginif(Rst=”0”)thenMeter1<=0;Meter10<=0;Meter1K<=0;elsif(glclk”eventandglclk=”0”)thenif(Meter1=9)thenMeter1<=0;if(Meter10=9)thenMeter10<=0;if(Meter100=9)thenMeter100<=0;if(Meter1K=9)thenelseendif;elseendif;elseendif;elseendif;endif;endprocess;22公里200公里,費(fèi)用為〔起步價(jià)〔路程-〕*單價(jià)200公里時(shí)費(fèi)〔〔路程-2〕*單價(jià)。process(clk,rst)beginif((Rst=”0”)or(lucheng<3))thenMoney1<=qibujia;Money10<=0;Money100<=0;Money1000<=0;elsif(clk”eventandclk=”0”)theniflucheng>200thenjiage<=(lucheng-2)*danjia+qibujia+50;money1000<=(jiage-(jiagemod1000))/1000;money100<=((jiagemod1000)-((jiagemod1000)mod100))/100;money10<=((jiagemod100)-(jiagemod10))/10;money1<=jiagemod10;elsejiage<=(lucheng-2)*danjia+qibujia;money1000<=(jiage-(jiagemod1000))/1000;money100<=((jiagemod1000)-((jiagemod1000)mod100))/100;money10<=((jiagemod100)-(jiagemod10))/10;money1<=jiagemod10;endif;endif;endprocess;〔4〕4*4矩陣鍵盤(pán):有鍵按下時(shí)為低電平,脈沖掃描時(shí)先推斷行,再推斷列。process(clk)beginif(clk”eventandclk=”1”)thenif(Krow=“1111“)thenkflag1<=”0”;kcount<=kcount+1;if(kcount=0)thenKcol<=“1110“;elsif(kcount=1)thenelsif(kcount=2)thenKcol<=“1011“;elseKcol<=“0111“;else

endif;kflag1<=”1”;keyrow<=Krow;keycol<=Kcol;endif;endif;endprocess;process(clk)beginifk2=”1”thenif(clk”eventandclk=”1”)thenif(kflag1=”1”)thenif(keyrow=“0111“)thencasekeycoliswhen“0111“=>buff<=1;when“1011“=>buff<=4;when“1101“=>buff<=7;whenothers=>buff<=buff;endcase;elsif(keyrow=“1011“)thencasekeycoliswhen“0111“=>buff<=2;when“1011“=>buff<=5;when“1101“=>buff<=8;when“1110“=>buff<=0;whenothers=>buff<=buff;endcase;elsif(keyrow=“1101“)thencasekeycoliswhen“1101“=>buff<=9;when“1011“=>buff<=6;when“0111“=>buff<=3;whenothers=>buff<=buff;endcase;endif;endif;qibujia<=buff;endif;elseqibujia_d<=3; if(k1=”0”)thenqibujia<=qibujia_d;elseqibujia<=qibujia_n;endif;endif;endprocess;過(guò)提高時(shí)鐘的頻率,到達(dá)顯示的效果。process(SEG_SEL)begincase(SEG_SEL+1)iswhen“000“=> Disp_Temp<=Meter1K;when“001“=> Disp_Temp<=Meter100;when“010“=> Disp_Temp<=Meter10;when“011“=> Disp_Temp<=Meter1;when“100“=> Disp_Temp<=money1000;when“101“=> Disp_Temp<=Money100;when“110“=> Disp_Temp<=Money10;when“111“=> endcase;endprocess;process(Disp_Temp)begincaseDisp_Tempiswhen0=>Disp_Decode<=“00111111“; --0when1=>Disp_Decode<=“00000110“; --1when2=>Disp_Decode<=“01011011“; --2when3=>Disp_Decode<=“01001111“; --3when4=>Disp_Decode<=“01100110“; --4when5=>Disp_Decode<=“01101101“; --5when6=>Disp_Decode<=“01111101“; --6when7=>Disp_Decode<=“00000111“; --7when8=>Disp_Decode<=“01111111“; --8when9=>Disp_Decode<=“01101111“; whenothers=>Disp_Decode<=“00000000“;endcase;endprocess;從左到右顯示,提高時(shí)鐘頻率到達(dá)顯示效果。process(cdount)begincasecdountiswhen“0000“=>ledcol<=“0000“列選擇(lg7088Ah)when“0001“=>ledcol<=“0001“;when“0010“=>ledcol<=“0010“;when“0011“=>ledcol<=“0011“;when“0100“=>ledcol<=“0100“;when“0101“=>ledcol<=“0101“;when“0110“=>ledcol<=“0110“;when“0111“=>ledcol<=“0111“;when“1000“=>ledcol<=“1000“;when“1001“=>ledcol<=“1001“;when“1010“=>ledcol<=“1010“;when“1011“=>ledcol<=“1011“;when“1100“=>ledcol<=“1100“;when“1101“=>ledcol<=“1101“;when“1110“=>ledcol<=“1110“;when“1111“=>ledcol<=“1111“;whenothers=>ledcol<=“0000“;endcase;endprocess;30011里程數(shù)的最低位為“00000,temp1,費(fèi)用增加相應(yīng)的單價(jià),符合課題要求。3-1系統(tǒng)仿真圖4總結(jié)與體會(huì)析事物的規(guī)律思維力量得到了熬煉,提高了實(shí)際動(dòng)手力量。了一個(gè)又一個(gè)困難。在試驗(yàn)室中,我生疏了對(duì)QuartusⅡ軟件的一般工程的操VHDL業(yè)理論學(xué)問(wèn)這樣才能在以后出去工作的實(shí)踐過(guò)程中有所成果。不斷指導(dǎo)和同學(xué)的熱忱幫助??偟膩?lái)說(shuō),這次實(shí)訓(xùn)我收獲很大。AVHDLlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitydianzhenisport(Clk :instd_logic;--時(shí)鐘輸入k1,k2 :instd_logic;--danjiaxuanzeRst :instd_logic;--復(fù)位輸入Motor :instd_logic;--電機(jī)脈沖輸入輸出

Krow : instd_logic_vector(3downto0);Kcol : bufferstd_logic_vector(3downto0);Display : out std_logic_vector(7downto0); --七段碼管顯示SEG_SEL : buffer std_logic_vector(2downto0);七段碼管掃ledcol:outstd_logic_vector(3downto0); --點(diǎn)陣列掌握l(shuí)edrow:outstd_logic_vector(15downto0)); 示enddianzhen;architecturebehaveofdianzhenissignalDisp_Temp:integerrange0to15;signalDisp_Decode:std_logic_vector(7downto0);signalMeter1,Meter10,Meter100,Meter1K :integerrange0to9;signalMoney1,Money10,Money100,Money1000 :integerrange0to9;signaldanjia,day,night,qibujia,qibujia_d,qibujia_n: integerrange0to9;signaltemp,glclk:std_logic;signalcount:integerrange0to500;signallucheng,jiage:integerrange0to100000;signalcdount:std_logic_vector(3downto0);signalbuff:integerrange0to15;signalkeyrow,keycol:std_logic_vector(3downto0);signalkcount:std_logic_vector(2downto0);signalkflag1:std_logic;beginprocess(motor,rst)beginday<=2; if(k1=”0”)thendanjia<=day;elsedanjia<=night;endif;ifrst=”0”thencount<=0;elsif(motor”eventandmotor=”1”)thenifcount>499thencount<=0;temp<=nottemp;elsecount<=count+1;endif;endif;glclk<=temp;endprocess;process(clk)beginif(clk”eventandclk=”1”)thenif(Krow=“1111“)thenkflag1<=”0”;kcount<=kcount+1;if(kcount=0)thenKcol<=“1110“;elsif(kcount=1)thenelsif(kcount=2)thenelseKcol<=“0111“;else

endif;kflag1<=”1”;keyrow<=Krow;keycol<=Kcol;endif;endif;endprocess;process(clk)beginifk2=”1”thenif(clk”eventandclk=”1”)thenif(kflag1=”1”)thenif(keyrow=“0111“)thencasekeycoliswhen“0111“=>buff<=1;when“1011“=>buff<=4;when“1101“=>buff<=7;whenothers=>buff<=buff;endcase;elsif(keyrow=“1011“)thencasekeycoliswhen“0111“=>buff<=2;when“1011“=>buff<=5;when“1101“=>buff<=8;when“1110“=>buff<=0;whenothers=>buff<=buff;endcase;elsif(keyrow=“1101“)thencasekeycoliswhen“1101“=>buff<=9;when“1011“=>buff<=6;when“0111“=>buff<=3;whenothers=>buff<=buff;endcase;endif;endif;qibujia<=buff;endif;elseqibujia_d<=3; if(k1=”0”)thenqibujia<=qibujia_d;elseqibujia<=qibujia_n;endif;endif;endprocess;process(glclk)beginif(Rst=”0”)thenMeter1<=0;Meter10<=0;Meter1K<=0;elsif(glclk”eventandglclk=”0”)thenif(Meter1=9)thenMeter1<=0;if(Meter10=9)thenMeter10<=0;if(Meter100=9)thenMeter100<=0;if(Meter1K=9)thenelseendif;elseendif;elseendif;elseendif;endif;endprocess;process(clk,rst)beginif((Rst=”0”)or(lucheng<3))thenMoney1<=qibujia;Money10<=0;Money100<=0;Money1000<=0;elsif(clk”eventandclk=”0”)theniflucheng>200thenjiage<=(lucheng-2)*danjia+qibujia+50;money1000<=(jiage-(jiagemod1000))/1000;money100<=((jiagemod1000)-((jiagemod1000)mod100))/100;money10<=((jiagemod100)-((jiagemod100)mod10))/10;money1<=jiagemod10;elsejiage<=(lucheng-2)*danjia+qibujia;money1000<=(jiage-(jiagemod1000))/1000;money100<=((jiagemod1000)-((jiagemod1000)mod100))/100;money10<=((jiagemod100)-(jiagemod10))/10;money1<=jiagemod10;endif;endif;endprocess;process(clk)beginif clk”event and clk=”1” thenif cdount<15 cdount<=cdount+1;elsecdount<=“0000“;end if;end if;end process(SEG_SEL)begincase(SEG_SEL+1)iswhen“000“=> Disp_Temp<=Meter1K;when“001“=> Disp_Temp<=Meter100;when“010“=> Disp_Temp<=Meter10;when“011“=> Disp_Temp<=Meter1;when“100“=> Disp_Temp<=money1000;when“101“=> Disp_Temp<=Money100;when“110“=> Disp_Temp<=Money10;when“111“=> endcase;endprocess;process(Clk)beginif(Clk”eventandClk=”1”then --掃描累加SEG_SEL<=SEG_SEL+1;Display<=Disp_Decode;endif;endprocess;process(Disp_Temp) --顯示轉(zhuǎn)換begincaseDisp_Tempiswhen0=>Disp_Decode<=“00111111“; --0when1=>Disp_Decode<=“00000110“; --1when2=>Disp_Decode<=“01011011“; --2when3=>Disp_Decode<=“01001111“; --3when4=>Disp_Decode<=“01100110“; when5=>Disp_Decode<=“01101101“; when6=>Disp_Decode<=“01111101“; --6when7=>Disp_Decode<=“00000111“; when8=>Disp_Decode<=“01111111“; --8when9=>Disp_Decode<=“01101111“; whenothers=>Disp_Decode<=“00000000“;endcase;endprocess;process(cdount)begincasecdountiswhen“0000“=>ledcol<=“0000“列選擇when“0001“=>ledcol<=“0001“;when“0010“=>ledcol<=“0010“;when“0011“=>ledcol<=“0011“;when“0100“=>ledcol<=“0100“;when“0101“=>ledcol<=“0101“;when“0110“=>ledcol<=“0110“;when“0111“=>ledcol<=“0111“;when“1000“=>ledcol<=“1000“;when“1001“=>ledcol<=“1001“;when“1010“=>ledcol<=“1010“;when“1011“=>ledcol<=“1011“;when“1100“=>ledcol<=“1100“;when“1101“=>ledcol<=“1101“;when“1110“=>ledcol<=“1110“;whenothers=>ledcol<=“0000“;

--全滅endcase;endprocess;process(danjia)beginifdanjia=0thencasecdountiswhen“0000“=>ledrow<=“1111111111111111“-whenothers=>ledrow<=“1111111111111111“;endcase;elsifdanjia=1thencasecdountiswhen“0000“=>ledrow<=“1111111111111111“-

01出租車(chē)計(jì)費(fèi)器出租車(chē)計(jì)費(fèi)器2128頁(yè)whenothers=>ledrow<=“1111111111111111“;endcase;elsif danjia=2 thencasecdountiswhen“0000“=>ledrow<=“1111111111111111“-when“0001“=>ledrow<=“1111111111111111“;when“0010“=>ledrow<=“1111111111111111“;when“0011“=>ledrow<=“1111111111111111“;when“0100“=>ledrow<=“1100000001110011“;

2出租車(chē)計(jì)費(fèi)器出租車(chē)計(jì)費(fèi)器2228頁(yè)when“1111“=>ledrow<=“1111111111111111“;whenothers=>ledrow<=“1111111111111111“;endcase;elsif danjia=3 thencasecdountiswhen“0000“=>ledrow<=“1111111111111111“-when“0001“=>ledrow<=“1111111111111111“;when“0010“=>ledrow<=“1111111111111111“;when“0011“=>ledrow<=“1111111111111111“;when“0100“=>ledrow<=“1100111001110011“;whenothers=>ledrow<=“1111111111111111“;endcase;elsif danjia=4 casecdountiswhen“0000“=>ledrow<=“1111111111111111“-when“0001“=>ledrow<=“1111111111111111“;when“0010“=>ledrow<=“1111111111111111“;

34出租車(chē)計(jì)費(fèi)器出租車(chē)計(jì)費(fèi)器2328頁(yè)whenothers=>ledrow<=“1111111111111111“;endcase;elsif danjia=5 thencasecdountiswhen“0000“=>ledrow<=“1111111111111111“-when“0001“=>ledrow<=“1111111111111111“;when“0010“=>ledrow<=“1111111111111111“;when“0011“=>ledrow<=“1111111111111111“;when“0100“=>ledrow<=“1100111000000011“;

5出租車(chē)計(jì)費(fèi)器出租車(chē)計(jì)費(fèi)器2428頁(yè)when“1111“=>ledrow<=“1111111111111111“;whenothers=>ledrow<=“11111111

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論