成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

通用出租車計費器Basys2開發(fā)板verilog/出租車計價器/出租車打表器

8小時前
156
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-231106213930B3.doc

共1個文件

名稱:出租車計費器Basys2開發(fā)板verilog出租車計價器出租車打表器(代碼在文末下載)

軟件:ISE

語言:Verilog

代碼功能:

設(shè)計一個出租車計費器,能在 Basys2開發(fā)板上實際運行。

1、用開發(fā)板上的2個按鍵輸入路程和計時信號,其中一個按鍵,每按一下,代表輸入一個0.5公里的脈沖,另外一個按鍵,每按一次,代表超時后的1分鐘。

2、計費規(guī)則為起步價8元,2.5公里內(nèi)免費,每公里1.6元,每分鐘等待0.4元。(計費方式可以自行修改)

3、路程、等待時間和費用都要用開發(fā)板上的數(shù)碼管顯示,數(shù)碼管數(shù)目肯定不足,可以用開發(fā)板上的開關(guān)來切換顯示,這一部分也需要自己編寫代碼實現(xiàn)。

本代碼的計費方式可以自行修改。修改以下代碼即可:

//定義計費方式,可修改
parameter?start_price=15'd80;//起步價8.0元
parameter?start_kilometres=8'd25;//2.5公里內(nèi)起步價
parameter?kilometres_price=15'd8;//0.8元每0.5公里
parameter?time_price=15'd4;//0.4元每分鐘

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在Basys2開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

basys2.png

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 管腳分配

4. 程序編譯

5. RTL圖

6. Testbench

7. 仿真圖

整體仿真圖

按鍵模塊

控制模塊

顯示模塊

部分代碼展示:

//控制模塊
module?taxi_state(
input?clk,//標準時鐘
input?reset,//復位信號,高有效?

input?stop,//本次行程結(jié)束,停止計費,低有效?
input?start,//啟動信號,行程開始,低有效?

input?one_kilometre,//0.5公里產(chǎn)生一次
input?minute_en,//1分鐘產(chǎn)生一次

output?[7:0]?minute_out,//分鐘
output?[7:0]?mileage_out,//里程
output?reg?[15:0]?totel_money_out//合計費用
);

parameter?s_idle=3'd0;
parameter?s_starting_price=3'd1;//起步價
parameter?s_mileage_price=3'd2;//按里程計費
parameter?s_stop=3'd3;
parameter?s_begin=3'd4;

reg?[2:0]?state=3'd0;

reg?[15:0]?totel_money=16'd0;

reg?[7:0]?mileage=8'd0;//里程
assign?mileage_out=mileage;

//里程控制
always@(posedge?clk)
if(reset==1)
	mileage<=8'd0;
else
if(state==s_starting_price?||?state==s_mileage_price?)	
	if(one_kilometre==1)
		mileage<=mileage+8'd5;//0.5公里里程加0.5
	else
		mileage<=mileage;
else?if(stop==1)?
		mileage<=8'd0;
	else
		mileage<=mileage;

//定義計費方式,可修改
parameter?start_price=15'd80;//起步價8.0元
parameter?start_kilometres=8'd25;//2.5公里內(nèi)起步價
parameter?kilometres_price=15'd8;//0.8元每0.5公里
parameter?time_price=15'd4;//0.4元每分鐘
		
always@(posedge?clk)
if(reset==1)begin
	state<=s_idle;//reset
	totel_money<=16'd0;
	totel_money_out<=16'd0;
	end
else
	if(stop==1)?begin//停止
		state<=s_stop;
		totel_money<=16'd0;
		totel_money_out<=totel_money;//輸出合計費用
		end
	else?begin
		totel_money_out<=totel_money;//輸出合計費用
		case(state)
			s_idle:begin//空閑狀態(tài)
			????totel_money<=totel_money;
				if(start==1)//啟動
					state<=s_begin;
				else
					state<=s_idle;
				end
			s_begin:begin
				state<=s_starting_price;
				totel_money<=start_price;//起步價
				end
			s_starting_price:begin//起步價狀態(tài)
				if(minute_en==1)//1分鐘
					totel_money<=totel_money+time_price;//0.4元每分鐘
				else
					;

				if(mileage>=start_kilometres)//大于start_kilometres公里
					state<=s_mileage_price;
				else
					state<=s_starting_price;
				end
			s_mileage_price:begin//車行駛起步公里后按每公里1.6元計費
				if(one_kilometre==1)
					totel_money<=totel_money+kilometres_price;//每公里?1.6元計費
				else?if(minute_en==1)//1分鐘
					totel_money<=totel_money+time_price;//0.4元每分鐘
				else
					;
				end
			s_stop://停止
				state<=s_idle;
			default:state<=s_idle;
		endcase
		end
		
reg?[7:0]?minute_cnt=8'd0;
//總等待時間計數(shù)
always@(posedge?clk)
if(reset==1)
	minute_cnt<=8'd0;
else?if(state==s_mileage_price?||?state==s_starting_price)
	if(minute_en==1)//1分鐘
		minute_cnt<=minute_cnt+8'd1;//加分鐘
	else

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=265

  • 1-231106213930B3.doc
    下載

相關(guān)推薦

辽中县| 玉树县| 临汾市| 寿宁县| 许昌县| 宁城县| 宜丰县| 登封市| 常德市| 怀宁县| 新建县| 定远县| 疏勒县| 司法| 湘乡市| 卢湾区| 乐亭县| 淄博市| 玛曲县| 周口市| 南充市| 长垣县| 会东县| 洮南市| 雷波县| 伊宁市| 门头沟区| 太仓市| 洛阳市| 兰西县| 探索| 大石桥市| 轮台县| 开平市| 杂多县| 兴山县| 容城县| 浏阳市| 巴林左旗| 扶绥县| 江安县|