




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
出租车计费器出租车计费器1028页出租车计费器的总体设计出租车计费设计该出租车计费器按下开关S1后开头计费和计里程数,分为白天和夜晚。当拨动开关K2为0时,系统使用程序设置的起步价,白天起步价是3元,准行2公里,以后2/公里;夜晚起步价是923/公里。当拨K210~920050根本设计思想来作为整个系统的复位按钮,每复位一次,计1公里。系统设计是需要检测电机的转动状况,每转1000圈,分频模块输出一个下降沿信号。车费和里程数874416*16K102/2;拨动开关K21,3/3。出租车计费器的总体实现系统总体框图,主要进程有:1计程模块进程:记录已行里程;计费模块进程:计算应付车费;4*4总程序〔系统时钟〕4*4计费模块分频模块计程模块总程序〔系统时钟〕4*4计费模块分频模块计程模块数码管16*162-1数码管16*16程序流程图Count<=0Temp<=0Count<=0Temp<=0Yrstmotor信号发生变化Rst=’0’Nmotor”eventandmotor=”1”YYCount<499Count=0Temp=nottempNCount<=count+1Glclk<=temp2-2分频模块〔2〕计程模块Meter1<=0;Meter1<=0;Meter10<=0;Meter100<=0;Meter1K<=0;Yrstglclk信号发生变化Rst=’0’Nglclk”eventandglclk=”0”YMeter1,meter10,meter100,meter1000代表的四位十12-3计程模块(3)计费模块Money1<=qibujia;Money1<=qibujia;Money10<=0;Money100<=0;Money1000<=0;Yrstclk信号发生变化Rst=’0’Nclk”eventandclk=”0”Y依据路程计算出总价,再把总价的千位、百位、十位、个位取出显示。2-4计费模块出租车计费器各功能的实现,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公里,费用为〔起步价〔路程-〕*单价200公里时费〔〔路程-2〕*单价。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矩阵键盘:有键按下时为低电平,脉冲扫描时先推断行,再推断列。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;过提高时钟的频率,到达显示的效果。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;从左到右显示,提高时钟频率到达显示效果。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里程数的最低位为“00000,temp1,费用增加相应的单价,符合课题要求。3-1系统仿真图4总结与体会析事物的规律思维力量得到了熬炼,提高了实际动手力量。了一个又一个困难。在试验室中,我生疏了对QuartusⅡ软件的一般工程的操VHDL业理论学问这样才能在以后出去工作的实践过程中有所成果。不断指导和同学的热忱帮助。总的来说,这次实训我收获很大。AVHDLlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitydianzhenisport(Clk :instd_logic;--时钟输入k1,k2 :instd_logic;--danjiaxuanzeRst :instd_logic;--复位输入Motor :instd_logic;--电机脉冲输入输出
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); --点阵列掌握ledrow: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) --显示转换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出租车计费器出租车计费器2128页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出租车计费器出租车计费器2228页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出租车计费器出租车计费器2328页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出租车计费器出租车计费器2428页when“1111“=>ledrow<=“1111111111111111“;whenothers=>ledrow<=“11111111
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沙湾县2025年六年级下学期小升初招生数学试卷含解析
- 上海市浦东新区2025年小升初数学模拟试卷含解析
- 南通职业大学《园林生态学》2023-2024学年第二学期期末试卷
- 江苏省扬州市江都区八校2025年初三下学期阶段测试(二)英语试题试卷含答案
- 贵州机电职业技术学院《系统工程基础》2023-2024学年第一学期期末试卷
- 山西省三区八校2025年高三下学期第三次诊断考试物理试题含解析
- 2025年山东省济南市山东师范大学附中高三第二学期开学统练数学试题含解析
- 2025年贵州省黔南州第二学期期末教学质量检测试题初三化学试题含解析
- 云南省保山市隆阳区保山曙光学校2025届数学五下期末监测模拟试题含答案
- 2022抖音知识课件
- 军事国防教育基地方案
- 金氏五行升降中医方集
- 小儿常见皮疹识别与护理
- 2025年山西经贸职业学院单招职业技能考试题库新版
- 某连锁药店公司发展战略
- 2025年河南工业和信息化职业学院单招职业技能测试题库及答案1套
- 校长在2025春季开学思政第一课讲话:用《哪吒2》如何讲好思政课
- 《迪拜帆船酒店》课件
- 2025年晋城职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- (一模)乌鲁木齐地区2025年高三年级第一次质量历史试卷(含官方答案)
- 《漂亮的热带鱼》课件
评论
0/150
提交评论