出租车计价器(出租车计价器下载)

出租车计价器(出租车计价器下载)缩略图

课程设计出租车计价器,用VERILOG语言编写

课程设计出租车计价器,用VERILOG语言编写

我去年做过这个,和你的要求差不多,暂停键相当于你的停止计费键,停止键详单与你的归零键,换挡键你就不用管它(按一档的速度运行),晶振的能改成50M就行了,能调的通。

1.设计要求

设计一个出租车计费器,能按路程计费,具体要求如下

(1)实现计费功能,计费标准为:按行驶里程计费,起步价为6.00元,并在车行驶3km后按1.2元/km计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止和暂停时不计费。

(2)现场模拟汽车的启动、停止、暂停、和换档等状态。

(3)设计数码管动态扫描电路,将车费和路程显示出来,各有两位小数。

2.设计原理

设该出租车有启动键、停止键、暂停键、和挡位键。启动键为脉冲触发信号,当其为一个脉冲时,表示汽车以启动,并根据车速的选择和基本车速发出响应频率的脉冲(计费脉冲)来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;挡位键用来改变车速,不同的挡位对应着不同的车速,同时路程计数的速度也不同。

出租车计费器可分为两大模块:控制模块和译码显示模块,系统框图如图9-9-1所示。控制模块实现了计费和路程的计数,并且通过不同的挡位来控制车速 。译码显示模块实现十进制到4为十进制的转换以及车费和路程的显示 。

module taxi(scan,seg7,dp,clk20mhz,clk,start,stop,pause,speedup);

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] speedup; //挡位(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&&!speedup&&!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&&speedup==’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&&speedup==’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&&speedup==’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

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

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

endmodule

具体的反考周润景老师的那本书。

出租车计价器的打印纸怎么上

出租车计价器的打印纸怎么上

将出租车计价器上打印纸,也就是打印发票放入票仓并装好即可. 准备工具:打印发票. 具体步骤: 1、取出一卷新的打印发票,要注意有发票号的一面朝下. 2、轻按装发票的票仓将其弹出. 3、放入发票卷. 4、将发票票头插入插槽. 5、拉出计价器打印机. 6、拉起小盖板检查打印票是否正常安装. 7、确认票头可以穿过插槽就说明打印发票安装无误. 8、按回小盖板,开始打印,确认能正常打印. 9、打印正常,就可推入票仓. 10、将票仓和计价器推回原样,就可完成打印纸上纸过程了.

出租车计价器中一般用什么打印机呢?

出租车计价器中一般用什么打印机呢?

出租车计价器中一般用小型针式打印机. 针式打印机是一种特殊的打印机,和喷墨、激光打印机都存在很大的差异,而针式打印机的这种差异是其它类型的打印机不能取代的,正是因为如此,针式打印机一直都有着自己独特的市场份额,服务于一些特殊的行业用户.

出租车计价器小飞机是怎么回事?

乘客在乘车时如果对出租车计价器产生质疑,应记住车牌号,并及时拨打举报电话:96333 经执法人员及计量技术人员检查,在该出租车方向盘下方有一按钮,按下该按钮,只见计价器计数里程和金额快速增加.进一步检查发现,在计价器连接线处另加装一电子装置.经技术人员调取该计价器技术数据,该装置自安装4天以来,已非法牟利540元.经对该车司机调查,该增加的装置俗称“小飞机”,一按按钮,数字飞快增长,增长速度之快,可以用“飞机”来形容,可见黑心计价器之“黑”.

石家庄出租车计价器是如何计算车费的

石家庄的出租车是以100为计费单位的 同样的路出来不同样的钱可能是等时 也可能是他计价器作弊

出租车的计价器显示的里程以什么作单位

它们通过检测轮胎转过的圈数,根据轮胎的周长计算路程.而检测转过的圈数是相当简单的,所以计价器是很简单的设备.

出租车计价器怎样计算方法

一般的出租计价器,都有一根传感器,跟车的变速圈,变速箱也转一圈,会给传感器一个脉冲信号,计价器就是靠这个脉冲信号来计算里程的。电子传感器是直接跟里程表的电子信号连在一起的。

当车速低于每小时12公里时,或等候时,就算低速等候,这时是靠时间来计费的,每等候几分钟就算一公里(每个城市是不一样的)。还有出租车都是预付费的,比如起步价7元,起步公里3公里,单价1.2,你一上车司机一打表就是不走也要7元,走3公里内都是7元,到3公里时,先加单价再走下个里程。

扩展资料

出租车,台湾称作计程车,港澳区称为的士,新加坡及马来西亚一带则称为德士;是按表收费的交通工具,收费一般较其它交通工具高。出租车英文“TAXI”为“taximeter”之略称,即为“计程表”或 “里程计”。2015年10月8日,上海开始实施出租车新运价方案。

由里程表到计价器

20世纪80年代以前,广州出租汽车还没有安装计价器,每一趟接待任务结束后,司机会根据里程表来计算出车辆行走公里数,然后进行收费。那时,不论车辆是何种型号,一律每公里收费五六角不等。价格会根据市场变化有升有降,并不固定。

1979年后,在改革开放大潮的推动下,广州出租汽车行业迎来了发展的春天,出租汽车企业如雨后春笋般涌现,车量剧增了近10倍。到1985年,广州出租汽车企业逾百家、车辆近7000台,打破了出租汽车业以往只有“广汽”一家的格局,形成“百家争鸣”的局面。

然而,行业迅猛发展也产生了很多问题,经营管理有漏洞,司机服务不规范,向乘客漫天要价的现象屡禁不止。针对这种情况,“广汽”为了净化行业之风,诚信服务市民,于1979年率先在全国引进了出租汽车计价器,规定司机必须按表收费,从而维护了消费者的利益,为出租汽车规范服务和提高服务质量起到表率作用。

随着计价器的使用,“广汽”把当时的出租汽车分为了甲、乙两等,甲等车为3公里打表,起步价为1.35元,每公里价格为0.45元;乙等车同为3公里打表,起步价为1.5元,每公里价格为0.35元。1997年7月起,以2公里为起步价,每公里收费2.2至2.6元。2002年底起,以2.3公里为起步价,基本上每公里收费2.60元。

出租车上的计价器有“单程”和“往返”有何区别?

单程超过15公里,要加收一定的空驶费用.而往返是指你从打车地出发到目地的后再乘同一车辆返回,这样不计算空驶费,比打两次车计单程要便宜.