




已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄第1章總體設(shè)計(jì)思路11.1系統(tǒng)總體結(jié)構(gòu)11.2 各模塊設(shè)計(jì)功能及設(shè)計(jì)思路2第二章 各模塊功能32.1 jifei模塊32.2 x模塊62.3 sel模塊102.4 xxx1模塊122.5 di模塊142.6 div模塊152.7 decode3_8模塊17第3章 總體電路圖183.1、模塊連接:183.2、硬件連接:193.3、結(jié)果分析:19第4章 硬件實(shí)現(xiàn)22第5章 總結(jié)23第6章 參考文獻(xiàn)24第1章總體設(shè)計(jì)思路1.1系統(tǒng)總體結(jié)構(gòu)動(dòng)態(tài)掃描/譯碼/數(shù)碼管顯示模塊片選信號(hào)產(chǎn)生模塊數(shù)據(jù)轉(zhuǎn)換模塊數(shù)碼管控制模塊信號(hào)輸入模塊圖1.1 系統(tǒng)總體框圖出租車計(jì)費(fèi)器的組成如上圖所示,各部分主要功能包括輸入信號(hào)模塊對(duì)車輪傳感器傳送的脈沖信號(hào)進(jìn)行計(jì)數(shù),并以高低脈沖模擬出租汽車啟動(dòng),停止,暫停,速度按鈕,具有輸入信號(hào)作用;數(shù)據(jù)轉(zhuǎn)換器模塊將計(jì)費(fèi)模塊輸出的車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制數(shù)據(jù);譯碼/動(dòng)態(tài)掃描模塊將路程與費(fèi)用的數(shù)值譯碼后用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)數(shù)碼管;數(shù)碼管顯示模塊將公里數(shù)和計(jì)費(fèi)金額均用4位LED數(shù)碼管顯示 。1.2 各模塊設(shè)計(jì)功能及設(shè)計(jì)思路信號(hào)輸入模塊實(shí)現(xiàn)計(jì)費(fèi)功能和現(xiàn)場(chǎng)模擬功能。計(jì)費(fèi)標(biāo)準(zhǔn)為:按行駛里程計(jì)費(fèi),起步價(jià)為7.00元,并在車行3 km后按2.20元km計(jì)費(fèi),當(dāng)計(jì)費(fèi)器達(dá)到或超過20元時(shí),每公里加收50的車費(fèi),車停止不計(jì)費(fèi)。并以高低脈沖模擬出租汽車啟動(dòng)、停止、暫停、速度按鈕,具有輸入信號(hào)的作用。數(shù)據(jù)轉(zhuǎn)換模塊數(shù)據(jù)轉(zhuǎn)換模塊是一個(gè)模為10的加法計(jì)數(shù)器,可將計(jì)費(fèi)模塊輸出的車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制數(shù)。顯示模塊顯示模塊是由七段LED數(shù)碼管譯碼和動(dòng)態(tài)掃描顯示兩部分組成。采用的是共陰極七段數(shù)碼管,根據(jù)十六進(jìn)制數(shù)和七段顯示段碼表的對(duì)應(yīng)關(guān)系,其中要求路程和車費(fèi)都要用2位小數(shù)點(diǎn)來表示,所以須設(shè)置一個(gè)控制小數(shù)點(diǎn)的變量,即程序中的dp。這段程序所示的是在數(shù)碼管的第二、第六個(gè)后面顯示小數(shù)點(diǎn),實(shí)現(xiàn)了路程和車費(fèi)都用2位小數(shù)點(diǎn)表示的功能。數(shù)碼管控制及譯碼顯示模塊將十進(jìn)制的輸入信號(hào)用七段數(shù)碼管顯示,由七段發(fā)光二極管組成數(shù)碼顯示器,利用字段的不同組合。可分別顯示09十個(gè)數(shù)字。片選信號(hào)產(chǎn)生模塊片選信號(hào)產(chǎn)生模塊是對(duì)數(shù)碼管進(jìn)行片選并讓其能夠按照要求顯示數(shù)據(jù)的模塊第二章 各模塊功能2.1 jifei模塊 此模塊為計(jì)費(fèi)模塊(即總體結(jié)構(gòu)中的信號(hào)輸入模塊),實(shí)現(xiàn)計(jì)費(fèi)功能,計(jì)費(fèi)標(biāo)準(zhǔn)為:按行駛里程計(jì)費(fèi),起步價(jià)為7.00元,并在車行3公里后按2.20元/km計(jì)費(fèi),當(dāng)計(jì)數(shù)器達(dá)到或超過20元時(shí),每公里加收50%的車費(fèi),即按3.30元/km計(jì)費(fèi)。CLK、START、STOP、PAUSE、speed為輸入信號(hào),分別代表汽車的起動(dòng)、停止、暫停和速度,CLK為掃描時(shí)鐘,硬件實(shí)現(xiàn)時(shí)加入時(shí)鐘信號(hào),另有兩個(gè)輸出,即MONEY和RUN,分別代表車費(fèi)和路程,當(dāng)車處于行駛狀態(tài)時(shí),此模塊會(huì)自動(dòng)記錄下路程與車費(fèi)狀況并作為轉(zhuǎn)換模塊的輸入。jifei模塊源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jfmk is port(clk,start,stop,pause,speed:in std_logic; money,run:out integer range 0 to 8000);end jfmk;architecture one of jfmk isbegin process(clk,start,stop,pause,speed) variable a,b:std_logic; variable aa:integer range 0 to 100; variable chf,lc:integer range 0 to 8000; variable num:integer range 0 to 9; begin if(clkevent and clk=1)then if(stop=0) then chf:=0; num:=0; b:=1; aa:=0; lc:=0; elsif(start=0) then b:=0; chf:=700; lc:=0; elsif(start=1 and speed=1 and pause=1) then if(b=0)then num:=num+1; end if; if(num=9)then lc:=lc+5; num:=0; aa:=aa+5; end if; elsif(start=1 and speed=0 and pause=1)then lc:=lc+1; aa:=aa+1; end if; if(aa=100)then a:=1; aa:=0; else a:=0; end if; if(lc300)then null; elsif(chf=2000 and a=1)then chf:=chf+330; end if; end if; money=chf; run=100則a:=1,aa:=0,否則a:=0,如果chf2000 and a=1則chf:=chf+330;以上各狀態(tài)表示汽車在三公里以外車費(fèi)在二十元以內(nèi)的狀態(tài)、車費(fèi)在二十元以外的狀態(tài)。結(jié)束進(jìn)程,結(jié)束結(jié)構(gòu)體。jifei模塊的時(shí)序仿真圖:時(shí)序仿真圖分析: 圖中的stop為汽車停止輸入端,上升沿有效;start為汽車啟動(dòng)輸入端,上升沿有效;pause為汽車暫停輸入端,上升沿有效;speed為汽車速度輸入端,上升沿有效。CLK為時(shí)鐘源信號(hào);money為汽車車費(fèi)輸出端,run為汽車路程輸出端。由圖可知:當(dāng)stop,Start,pause,speed全為高電平時(shí)路程按5的速度增加,車費(fèi)為700.當(dāng)路程增加到300時(shí),車費(fèi)變?yōu)?20,以后路程每增加100,車費(fèi)增加220。2.2 x模塊此模塊為數(shù)據(jù)轉(zhuǎn)換模塊,功能是將計(jì)費(fèi)模塊產(chǎn)生的車費(fèi)與路程的模擬量轉(zhuǎn)換成數(shù)字量并輸出,它是一個(gè)模為10的加法計(jì)數(shù)器,可將計(jì)費(fèi)模塊輸出的車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制數(shù)。其中DACLK為時(shí)鐘信號(hào),ASCORE、BSCORE連接計(jì)費(fèi)模塊的MONEY和run,輸出為2個(gè)4位的十進(jìn)制數(shù),可以分別表示路程和車費(fèi)情況。當(dāng)車運(yùn)行于不同狀況時(shí),此模塊會(huì)將不同的車費(fèi)與路程狀況轉(zhuǎn)換為數(shù)字量并輸出。x模塊的源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity x is port(daclk:in std_logic; ascore,bscore:in integer range 0 to 8000; age,ashi,abai,aqian,bge,bshi,bbai,bqian:out std_logic_vector(3 downto 0);end x;architecture rt1 of x isbegin process(daclk,ascore) variable comb1:integer range 0 to 8000; variable comb1a,comb1b,comb1c,comb1d:std_logic_vector(3 downto 0); begin if (daclkevent and daclk=1)then if(comb1ascore)then if(comb1a=9 and comb1b=9 and comb1c=9)then comb1a:=0000; comb1b:=0000; comb1c:=0000; comb1d:=comb1d+1; comb1:=comb1+1; elsif(comb1a=9 and comb1b=9)then comb1a:=0000; comb1b:=0000; comb1:=comb1+1; comb1c:=comb1c+1; elsif(comb1a=9)then comb1a:=0000; comb1b:=comb1b+1; comb1:=comb1+1; else comb1a:=comb1a+1; comb1:=comb1+1; end if; else ashi=comb1b; age=comb1a; abai=comb1c; aqian=comb1d; comb1:=0; comb1a:=0000; comb1b:=0000; comb1c:=0000; comb1d:=0000; end if; end if; end process; process(daclk,bscore) variable comb2:integer range 0 to 8000; variable comb2a,comb2b,comb2c,comb2d:std_logic_vector(3 downto 0); begin if(daclkevent and daclk=1)then if(comb2bscore)then if(comb2a=9 and comb2b=9 and comb2c=9)then comb2a:=0000; comb2b:=0000; comb2c:=0000; comb2d:=comb2d+1; comb2:=comb2+1; elsif(comb2a=9 and comb2b=9)then comb2a:=0000; comb2b:=0000; comb2:=comb2+1; comb2c:=comb2c+1; elsif(comb2a=9)then comb2a:=0000; comb2b:=comb2b+1; comb2:=comb2+1; else comb2a:=comb2a+1; comb2:=comb2+1; end if; else bshi=comb2b; bge=comb2a; bbai=comb2c; bqian=comb2d; comb2:=0; comb2a:=0000; comb2b:=0000; comb2c:=0000; comb2d:=0000; end if; end if; end process;end rt1;程序分析:首先打開ieee庫(kù),用use語(yǔ)句聲明使用std_logic_1164和std_logic_unsigned程序包。定義實(shí)體,daclk、ascore、bscore為輸入,age、ashi、abai、aqian、bge、bshi、bbai、bqian為輸出位矢量。然后定義結(jié)構(gòu)體,daclk、ascore、bscore為敏感信號(hào),定義變量comb1a,comb1b,comb1c,comb1d為位矢量,變量comb1為0到7000范圍。當(dāng)時(shí)鐘上升沿到來時(shí),各個(gè)變量分別實(shí)現(xiàn)個(gè)、十、百、千的進(jìn)位。然后實(shí)現(xiàn)一個(gè)循環(huán)。然后再將各個(gè)變量付給各個(gè)位矢量。X模塊的時(shí)序仿真圖時(shí)序仿真圖的分析轉(zhuǎn)換模塊的時(shí)序仿真圖如下圖所示:可見能將路程和車費(fèi)轉(zhuǎn)換為4位的十進(jìn)制數(shù),便于8位數(shù)碼管顯示。由圖可知:當(dāng)ascore,bscore為13位二進(jìn)制數(shù),當(dāng)ascore為0-9時(shí)age從0到9變化,當(dāng)ascore為10時(shí)age等于0,ashi等于1。 當(dāng)bscore為0-9時(shí)bge從0到9變化,當(dāng)bscore為10時(shí)bge等于0,bshi等于1。2.3 sel模塊此模塊為片選信號(hào)產(chǎn)生模塊,功能是選擇八段數(shù)碼管按照設(shè)計(jì)要求進(jìn)行正確的顯示。其具體的對(duì)應(yīng)關(guān)系如下表所示:接口序號(hào)數(shù)碼管SEL2SEL1SEL0狀態(tài)111第1位亮110第2位亮101第3位亮100第4位亮011第5位亮010第6位亮001第7位亮0XX第8位亮在該模塊中CLK為時(shí)鐘信號(hào),A2.0為片選輸出,用于選擇數(shù)碼管,連接譯碼顯示模塊的片選端C2.0。se模塊的源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel is port(clk:in std_logic; a:out std_logic_vector(2 downto 0);end sel;architecture rt1 of sel isbegin process(clk) variable b:std_logic_vector(2 downto 0); begin if(clkevent and clk=1)then if(b=111)then b:=000; else b:=b+1; end if; end if; ad=a1;dpd=a2;dpd=a3;dpd=a4;dpd=b1;dpd=b2;dpd=b3;dpd=b4;dpnull;end case;end process;end rtl;xxx1模塊的時(shí)序仿真圖:由上圖可知,輸入信號(hào)C為3位片選信號(hào)其變化范圍為0到7,輸入信號(hào)c從0到7逐個(gè)變化時(shí),輸出d逐個(gè)輸a1,a2,a3,a4,b1,b2,b3,b4的輸入信號(hào)。2.5 di模塊 此模塊為數(shù)碼管控制模塊,功能是控制七段數(shù)碼管對(duì)轉(zhuǎn)換后的數(shù)字量進(jìn)行顯示,使其完成路程和車費(fèi)的顯示。其中D3.0連接動(dòng)態(tài)掃描/譯碼/數(shù)碼管顯示模塊的D3.0端,Q6.0連接七段數(shù)碼管,利用其控制特性在數(shù)碼管上顯示出車費(fèi)和路程。di模塊的源程序:library ieee;use ieee.std_logic_1164.all;entity di isport(d:in std_logic _vector(3 downto 0); q:out std_logic_vector(6 downto 0);end di;architecture rtl of di isbegin process(d) begin case d is when0000=qqqqqqqqqq=99999 thencnt:=0;tmp:=not tmp;else cnt:=cnt+1;end if;end if;clkout=tmp;end process;end one;div模塊時(shí)序仿真波形:div將時(shí)鐘信號(hào)分頻,使頻率減小。2.7 decode3_8模塊 sel通過decode3_8模塊選擇數(shù)碼管decode3_8模塊源程序: LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY decode3_8 IS PORT(SEL:IN std_logic_vector(2 downto 0); Q:OUT std_logic_vector(7 downto 0);END decode3_8;ARCHITECTURE a OF decode3_8 ISBEGIN Q=11111110when sel=0 else 11111101when sel=1 else 11111011when sel=2 else 11110111when sel=3 else 11101111when sel=4 else 11011111when sel=5 else 10111111when sel=6 else 01111111when sel=7 else 11111111; END a;decode3_8模塊時(shí)序仿真波形圖:decode3_8模塊選擇數(shù)碼管,當(dāng)sel信號(hào)從0-7變化時(shí),依次選擇1-8八個(gè)數(shù)碼管。第3章 總體電路圖整體工作情況:3.1、模塊連接:計(jì)費(fèi)模塊的clk、start、stop、pause和speed端連接輸入,money12.0和run12.0連接轉(zhuǎn)換模塊的ascore12.0與bscore12.0;轉(zhuǎn)換模塊的daclk端連接輸入,age3.0至bqian3.0連接動(dòng)態(tài)掃描/譯碼/數(shù)碼管顯示模塊的a13.0至b43.0;動(dòng)態(tài)掃描/譯碼/數(shù)碼管顯示模塊的C2.0連接片選輸出SEL2.0,DP端連接輸出DP,D3.0連接數(shù)碼管控制模塊的D3.0;片選信號(hào)產(chǎn)生模塊的CLK端與輸入信號(hào)相連,并連接轉(zhuǎn)換模塊的DACLK端,A2.0連接片選輸出SEL2.0,并與動(dòng)態(tài)掃描/譯碼/數(shù)碼管顯示模塊的C2.0相連;數(shù)碼管控制模塊的D3.0端與動(dòng)態(tài)掃描/譯碼/數(shù)碼管顯示模塊的D3.0端相連,Q6.0端連接八段數(shù)碼管輸出Q6.0。3.2、硬件連接:CLK接pin-28 輸入為1hz的脈沖;daclk是實(shí)驗(yàn)箱上50Mhz固定晶振START、STOP、PAUSE、SPEED分別連接按鍵開關(guān),用于控制車的啟動(dòng)、停止、暫停和速度;DP和Q6.0分別連接八段碼顯示單元的a到dp;W7.0接數(shù)據(jù)線。3.3、結(jié)果分析:該電路的仿真波形圖如下:clk為jifei模塊時(shí)鐘信號(hào),daclk為時(shí)鐘信號(hào),stop為汽車停止輸入端;start為汽車啟動(dòng)輸入端;pause為汽車暫停輸入端;speed為汽車速度輸入端。DP表示小數(shù)點(diǎn)。該電路的總體管腳分配圖:clk:pin-28;daclk:pin-153;start:pin-4;stop:pin-5;pause:pin-6; speed:pin-7;dp:pin-82;q6.0:pin-105;pin-104;pin-101;pin-100; pin-85;pin-84;pin-83;W7.0:pin-86;pin-87;pin-88;pin-93;pin-94;pin-95;pin-98;pin-99;vga3.0:pin-162;pin-161;pin-164;pin-163;第4章 硬件實(shí)現(xiàn)通過硬件下載,該電路可以完成硬件實(shí)現(xiàn),芯片管腳定義可以直接用編輯pin文件。完成管腳定義后選擇器件,編譯后生成sof、pof文件。選擇sof文件進(jìn)行下載。通過對(duì)每一模塊的仿真和下載,可以實(shí)現(xiàn)各個(gè)模塊的邏輯功能,驗(yàn)證了各個(gè)模塊的正確性。在出租車計(jì)費(fèi)系統(tǒng)的5個(gè)模塊中 ,重點(diǎn)在于jifei模塊,x(轉(zhuǎn)化)模塊,顯示模塊。jifei模塊主要有汽車的啟動(dòng)、停止、暫停、速度按鍵;轉(zhuǎn)化模塊主要是把車費(fèi)和路程轉(zhuǎn)化為4位十進(jìn)制;顯示模塊是將車費(fèi)和路程顯示出來。各模塊完成后,在將它們組合成完整的出租車系統(tǒng),在設(shè)計(jì)過程中還需要改進(jìn)的是控制系統(tǒng)的糾錯(cuò)功能。出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車啟動(dòng)、停止、暫停等功能,并設(shè)計(jì)動(dòng)態(tài)掃描電路顯示車費(fèi)數(shù)目,由動(dòng)態(tài)掃描電路來完成。車暫時(shí)停止不計(jì)費(fèi)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)鐵蓋圓桶市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)輕型龍門刨床市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)線圈活頁(yè)本冊(cè)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)瞬態(tài)電壓抑制二極管市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)瓷質(zhì)外墻磚市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)游泳館管理軟件市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)水晶大樓模型市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)木制穿線繞珠玩具市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)挖斗上料機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)平面研磨開閥市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 土地整理質(zhì)量評(píng)定表
- U型橋臺(tái)施工組織設(shè)計(jì)
- 【告知牌】某公司全套重大危險(xiǎn)源告知牌(7頁(yè))
- 中考數(shù)學(xué)復(fù)習(xí)專題二方程與不等式
- 環(huán)境監(jiān)測(cè)站招聘考試試題及答案
- 牛津深圳版七年級(jí)下冊(cè)英語(yǔ)作文匯總
- 徐州市小學(xué)數(shù)學(xué)教師業(yè)務(wù)測(cè)試試題
- 供應(yīng)商管理庫(kù)存VMI的實(shí)施
- 玉柴基本技術(shù)參數(shù)
- 公司“師帶徒”實(shí)施方案
- 兒童福利機(jī)構(gòu)心理慰藉服務(wù)登記表、周檢查記錄
評(píng)論
0/150
提交評(píng)論