當前位置:首頁 » 課程大全 » 計程車計價器課程設計

計程車計價器課程設計

發布時間: 2020-11-28 06:27:00

1. 數字邏輯課程設計計程車計價器

74161+74248+7404+7400+LED數碼管+光電計數器
流程就是光電計數器---74161

2. eda課程設計計程車計價器

要實物嗎

我做電子設計的

3. 求程序!!關於單片機課設,計程車計價器,匯編語言!!

這個還是你自己想想吧。

4. 這是單片機課程設計 ---計程車計價器。。這個模擬脈沖的大概原理是什麼那個電阻什麼作用跪求。

用一隻按鈕開關來模擬脈沖,按鈕斷開時輸入低電平,按下時輸入高電平。電阻是下拉電阻。

5. QUARTUS可編程邏輯器件課程設計:計程車計價器設計

純數字設計指的大多是74系列那樣的通用晶元,有點是組建方便,簡單系統成本低,是可編程邏輯器件的基礎,早期單板機就用這個,現在led光屏也有很多,缺點是復雜應用成本高,設計復雜,功耗大,部分效率較低。PLD成本高,但是功耗較低,另外較穩定易維護,方便量產。設計開發過程隨著技術的進步也越來越簡便快捷。單片機功耗低應用靈活,但是執行並行任務效率低。不過一般的應用對實時性要求不高,所以應用特別特別特別廣泛…收發器,收音機,充電器,顯示屏,無所不在,而且沾了單片機也能顯得高端不少(其實不止是顯得,因為軟體部分很能顯示出設計者的水平)個人見解,有不全面的樓下補充

6. 課程設計計程車計價器,用VERILOG語言編寫

我去年做過這個,和你的要求差不多,暫停鍵相當於你的停止計費鍵,停止鍵詳單與你的歸零鍵,換擋鍵你就不用管它(按一檔的速度運行),晶振的能改成50M就行了,能調的通。

1.設計要求
設計一個計程車計費器,能按路程計費,具體要求如下
(1)實現計費功能,計費標准為:按行駛里程計費,起步價為6.00元,並在車行駛3km後按1.2元/km計費,當計費器達到或超過20元時,每公里加收50%的車費,車停止和暫停時不計費。
(2)現場模擬汽車的啟動、停止、暫停、和換檔等狀態。
(3)設計數碼管動態掃描電路,將車費和路程顯示出來,各有兩位小數。
2.設計原理
設該計程車有啟動鍵、停止鍵、暫停鍵、和擋位鍵。啟動鍵為脈沖觸發信號,當其為一個脈沖時,表示汽車以啟動,並根據車速的選擇和基本車速發出響應頻率的脈沖(計費脈沖)來實現車費和路程的計數,同時車費顯示起步價;當停止鍵為高電平時,表示汽車熄火,同時停止發出脈沖,此時車費和路程計數清零;當暫停鍵為高電平時,表示汽車暫停並停止發出脈沖,此時車費和路程計數暫停;擋位鍵用來改變車速,不同的擋位對應著不同的車速,同時路程計數的速度也不同。
計程車計費器可分為兩大模塊:控制模塊和解碼顯示模塊,系統框圖如圖9-9-1所示。控制模塊實現了計費和路程的計數,並且通過不同的擋位來控制車速 。解碼顯示模塊實現十進制到4為十進制的轉換以及車費和路程的顯示 。

mole taxi(scan,seg7,dp,clk20mhz,clk,start,stop,pause,speep);
output[7:0] scan; //數碼管地址選擇信號
output[6:0] seg7; //7段顯示控制信號(abcdefg)
output dp; //小數點
input clk20mhz; //系統時鍾為20MHz
input clk; //計費時鍾
input start; //汽車起動
input stop; //汽車停止
input pause; //汽車暫停
input[1:0] speep; //擋位(4個擋位)
reg[7:0] scan;
reg[6:0] seg7;
reg dp;
reg[15:0] money_reg; //車費寄存器
reg[15:0] distance_reg; //路程寄存器
reg[3:0] num; //控制車速的計數器
reg[15:0] dis; //千米計數器
reg d; //千米標志位
reg clk1khz; //1kHz的分頻時鍾,用於掃描數碼管地址
reg[3:0] data;
reg[3:0] m_one,m_ten,m_hun,m_tho; //錢數的4位十進製表示
reg[3:0] d_one,d_ten,d_hun,d_tho; //路程的4位十進製表示
reg[15:0] count;
reg[15:0] comb1;
reg[3:0] comb1_a,comb1_b,comb1_c,comb1_d;
reg[15:0] comb2;
reg[3:0] comb2_a,comb2_b,comb2_c,comb2_d;
reg[2:0] cnt;

always @(posedge clk)
begin
if(stop) //汽車停止,計費和路程清零
begin money_reg<='d0;
distance_reg<='d0;
dis<='d0;
num<='d0;
end
else if(start) //汽車起動後,起步價為6元
begin money_reg<='d600;
distance_reg<='d0;
dis<='d0;
num<='d0;
end
else
begin
if(!start&&!speep&&!pause&&!stop) //1擋
begin
if(num=='d9)
begin num<='d0;
distance_reg<=distance_reg+1;
dis<=dis+1;
end
else
begin num<=num+1; end
end
else if(!start&&speep=='b01&&!pause&&!stop) //2擋
begin
if(num=='d9)
begin num<='d0;
distance_reg<=distance_reg+2;
dis<=dis+2;
end
else
begin num<=num+1; end
end
else if(!start&&speep=='b10&&!pause&&!stop) //3擋
begin
if(num=='d9)
begin num<='d0;
distance_reg<=distance_reg+5;
dis<=dis+5;
end
else
begin num<=num+1; end
end
else if(!start&&speep=='b11&&!pause&&!stop) //4擋
begin
distance_reg<=distance_reg+1;
dis<=dis+1;
end
end
if(dis>='d100)
begin d<='d1;dis<='d0; end
else
begin d<='d0; end
if(distance_reg>='d300) //如果超過3km則按1.2元/km計算
begin
if(money_reg<'d2000&&d=='d1)
begin money_reg<=money_reg+'d120; end
else if(money_reg>='d2000&&d=='d1)
begin money_reg<=money_reg+'d180; end
end
//-------------------當計費器達到20元時,每千米加收50%的車費-------------
end
//---------------------------1kHz的分頻時鍾,用於掃描數碼管地址----------------------
always @(posedge clk20mhz)
begin
if(count=='d10000)
begin clk1khz<=~clk1khz;count<='d0; end
else
begin count<=count+1; end
//----------------------------將車費的十進制數轉化為4位十進制數-----------------------
if(comb1<money_reg)
begin
if(comb1_a=='d9&&comb1_b=='d9&&comb1_c=='d9)
begin
comb1_a<='b0000;
comb1_b<='b0000;
comb1_c<='b0000;
comb1_d<=comb1_d+1;
comb1<=comb1+1;
end
else if(comb1_a=='d9&&comb1_b=='d9)
begin
comb1_a<='b0000;
comb1_b<='b0000;
comb1_c<=comb1_c+1;
comb1<=comb1+1;
end
else if(comb1_a=='d9)
begin
comb1_a<='b0000;
comb1_b<=comb1_b+1;
comb1<=comb1+1;
end
else
begin
comb1_a<=comb1_a+1;
comb1<=comb1+1;
end
end
else if(comb1==money_reg)
begin
m_one<=comb1_a;
m_ten<=comb1_b;
m_hun<=comb1_c;
m_tho<=comb1_d;
end
else if(comb1>money_reg)
begin
comb1_a<='b0000;
comb1_b<='b0000;
comb1_c<='b0000;
comb1_d<='b0000;
comb1<='d0;
end
//---------------------------將路程的十進制轉化為4位十進制數-----------------------
if(comb2<distance_reg)
begin
if(comb2_a=='d9&&comb2_b=='d9&&comb2_c=='d9)
begin
comb2_a<='b0000;
comb2_b<='b0000;
comb2_c<='b0000;
comb2_d<=comb2_d+1;
comb2<=comb2+1;
end
else if(comb2_a=='d9&&comb2_b=='d9)
begin
comb2_a<='b0000;
comb2_b<='b0000;
comb2_c<=comb2_c+1;
comb2<=comb2+1;
end
else if(comb2_a=='d9)
begin
comb2_a<='b0000;
comb2_b<=comb2_b+1;
comb2<=comb2+1;
end
else
begin
comb2_a<=comb2_a+1;
comb2<=comb2+1;
end
end
else if(comb2==distance_reg)
begin
d_one<=comb2_a;
d_ten<=comb2_b;
d_hun<=comb2_c;
d_tho<=comb2_d;
end
else if(comb2>distance_reg)
begin
comb2_a<='b0000;
comb2_b<='b0000;
comb2_c<='b0000;
comb2_d<='b0000;
comb2<='d0;
end
end
//-----------------------------數碼管動態掃描----------------------------------
always @(posedge clk1khz)
begin
cnt<=cnt+1;
end

always @(cnt)
begin
case(cnt)
'b000:begin data<=m_one;dp<='d0;scan<='b00000001; end
'b001:begin data<=m_ten;dp<='d0;scan<='b00000010; end
'b010:begin data<=m_hun;dp<='d1;scan<='b00000100; end
'b011:begin data<=m_tho;dp<='d0;scan<='b00001000; end
'b100:begin data<=d_one;dp<='d0;scan<='b00010000; end
'b101:begin data<=d_ten;dp<='d0;scan<='b00100000; end
'b110:begin data<=d_hun;dp<='d1;scan<='b01000000; end
'b111:begin data<=d_tho;dp<='d0;scan<='b10000000; end
default:begin data<='bx;dp<='bx;scan<='bx; end
endcase
end
//---------------------------------7段解碼----------------------------------
always @(data)
begin
case(data[3:0])
4'b0000:seg7[6:0]=7'b1111110;
4'b0001:seg7[6:0]=7'b0110000;
4'b0010:seg7[6:0]=7'b1101101;
4'b0011:seg7[6:0]=7'b1111001;
4'b0100:seg7[6:0]=7'b0110011;
4'b0101:seg7[6:0]=7'b1011011;
4'b0110:seg7[6:0]=7'b1011111;
4'b0111:seg7[6:0]=7'b1110000;
4'b1000:seg7[6:0]=7'b1111111;
4'b1001:seg7[6:0]=7'b1111011;
default:seg7[6:0]=7'b0000000;
endcase
end

endmole

具體的反考周潤景老師的那本書。

7. EDA課程設計計程車計價器的VHDL語言設計的程序

給我具體的要求,不出意外2天後給你,不會耽誤你吧,但是希望在加點分 ,我們一般都用的QuartusII5模擬的,不好意思,我這一陣子有點忙,這是我同學以前做的,我還沒來的急看了,你看看符合你的要求嗎?如果那裡不符合,告訴我,我再改。這個肯定不能自動滿足你上訴的要求的,這些事是要求你自己加信號的,你自己該也可以,比如你沒有要求半道停車的,在模擬時就屏蔽stop埠就行了,至於缺少什麼功能,你在告訴我。
計程車計價器VHDL程序與模擬

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity taxi is
port ( clk_240 :in std_logic; --頻率為240Hz的時鍾
start :in std_logic; --計價使能信號
stop:in std_logic; --等待信號
fin:in std_logic; --公里脈沖信號
cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費用數據
km1,km0:out std_logic_vector(3 downto 0); --公里數據
min1,min0: out std_logic_vector(3 downto 0)); --等待時間
end taxi;
architecture behav of taxi is
signal f_15,f_16,f_1:std_logic; --頻率為15Hz,16Hz,1Hz的信號
signal q_15:integer range 0 to 15; --分頻器
signal q_16:integer range 0 to 14; --分頻器
signal q_1:integer range 0 to 239; --分頻器
signal w:integer range 0 to 59; --秒計數器
signal c3,c2,c1,c0:std_logic_vector(3 downto 0); --制費用計數器
signal k1,k0:std_logic_vector(3 downto 0); --公里計數器
signal m1:std_logic_vector(2 downto 0); --分的十位計數器
signal m0:std_logic_vector(3 downto 0); --分的個位計數器
signal en1,en0,f:std_logic; --使能信號
begin

feipin:process(clk_240,start)
begin
if clk_240'event and clk_240='1' then
if start='0' then q_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';
else
if q_15=15 then q_15<=0;f_15<='1'; --此IF語句得到頻率為15Hz的信號
else q_15<=q_15+1;f_15<='0';
end if;
if q_16=14 then q_16<=0;f_16<='1'; --此IF語句得到頻率為16Hz的信號
else q_16<=q_16+1;f_16<='0';
end if;
if q_1=239 then q_1<=0;f_1<='1'; --此IF語句得到頻率為1Hz的信號
else q_1<=q_1+1;f_1<='0';
end if;
if en1='1' then f<=f_15; --此IF語句得到計費脈沖f
elsif en0='1' then f<=f_16;
else f<='0';
end if;
end if;
end if;
end process;

process(f_1)
begin
if f_1'event and f_1='1' then
if start='0' then
w<=0;en1<='0';en0<='0';m1<="000";m0<="0000";k1<="0000";k0<="0000";
elsif stop='1' then
if w=59 then w<=0; --此IF語句完成等待計時
if m0="1001" then m0<="0000"; --此IF語句完成分計數
if m1<="101" then m1<="000";
else m1<=m1+1;
end if;
else m0<=m0+1;
end if;
if m1&m0>"0000001"then en1<='1'; --此IF語句得到en1使能信號
else en1<='0';
end if;
else w<=w+1;en1<='0';
end if;
elsif fin='1' then
if k0="1001" then k0<="0000"; --此IF語句完成公里脈沖計數
if k1="1001" then k1<="0000";
else k1<=k1+1;
end if;
else k0<=k0+1;
end if;
if k1&k0>"00000010" then en0<='1'; --此IF語句得到en0使能信號
else en0<='0';
end if;
else en1<='0';en0<='0';
end if;
cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0; --費用數據輸出
km1<=k1;km0<=k0;min1<='0'&m1;min0<=m0; --公里數據、分鍾數據輸出
end if;
end process;

process(f,start)
begin
if start='0' then c3<="0000";c2<="0001";c1<="0000";c0<="0000";
elsif f'event and f='1' then
if c0="1001" then c0<="0000"; --此IF語句完成對費用的計數
if c1="1001" then c1<="0000";
if c2="1001" then c2<="0000";
if c3<="1001" then c3<="0000";
else c3<=c3+1;
end if;
else c2<=c2+1;
end if;
else c1<=c1+1;
end if;
else c0<=c0+1;
end if;
end if;
end process;
end behav;

8. 求計程車計價器數字電路課程設計原理圖!!(純數字電路)

設計原理與實現方案論證1.里程計數及顯示

在計程車轉軸上加裝感測器,以便獲得「行駛里程信號」。

設汽車每走1Km發一個脈沖,里程的計數顯示,可用十進制、解碼顯示。該模塊涉及時序電路相關知識,如計數器(74ls60,74ls90等)、解碼驅動器、顯示器等中規模晶元相關知識。

侯時模塊設計類似於里程計數模塊,不同的是脈沖信號可由石英晶振經分頻後獲得。簡易的也可用555定時器近似獲得,涉及脈沖信號產生相關知識。但在這個實驗中使用直接的脈沖信號。

2.加法器模塊電路

該模塊功能為計價,由兩部分組成:

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919