基于CPLD的出租车计费器

基于CPLD的出租车计费器

ID:43768013

大小:842.55 KB

页数:25页

时间:2019-10-14

基于CPLD的出租车计费器_第1页
基于CPLD的出租车计费器_第2页
基于CPLD的出租车计费器_第3页
基于CPLD的出租车计费器_第4页
基于CPLD的出租车计费器_第5页
资源描述:

《基于CPLD的出租车计费器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第1章设计总框图1第1节系统框图1第2节系统模块介绍2第2章程序设计模块31、计费模块32、数据转换模块63、片选信号模块114、数码管控制显示模块135、显示模块156、数码管选择模块17第3章、总体电路设计181、总体电路图182、仿真分析19第4章、硬件实现20第5章、设计心得体会21参考文献22第1章设计总框图第1节系统框图输入涪号模块数码管显示模块图1.1系统总框图出租车计费器的组成如上图1・1所示,各部分主要功能包括输入信号模块对车轮传感器传送的脉冲信号进行计数,并以高低脉冲模拟出租汽车启动,停止,暂停,加速按钮,具有输入信号作用

2、;数据转换器模块将计费模块输击的车费和路程转换成4位的-I•进制数据;译码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用4位LED数码管显示。1、信号输入模块该模块主要实现计费功能和现场模拟功能。计费标准为:按行驶里程计费,起步价为11・00元,并在车行3km后按4.00元/km计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号的作用。2、数据转换模块数据转换模块是一个模为10的加法计数器,可将计费模块

3、输出的车费和路程转换成4位的十进制数。3、显刀£模块显示模块是由七段LED数码管译码和动态扫描显示两部分组成。采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求路程和车费都要用2位小数点来表示,所以须设置一个控制小数点的变量,即程序中的dpo这段程序所示的是在数码管的第二、第六个后面显示小数点,实现了路程和车费都用2位小数点表示的功能。数码管控制及译码显示模块将十进制的输入信号用七段数码管显示,由七段发光二极管组成数码显示器,利用字段的不同组合。可分别显示0〜9十个数字。4、片选信号模块片选信号产生模块是对数码管进行

4、片选并让其能够按照要求显示数据的模块。第2章程序设计模块1、计费模块此jifei模块为计费模块(即总体结构中的信号输入模块),实现计费功能,计费标准为:按行驶里程计费,起步价为11・00元,并在车行3公里后按4・00元/km计费,当计数器达到或超过20元时,每公里加收50%的车费,即按6.00元/km计费oCLK.START>STOP、PAUSE、JS为输入信号,分别代表汽车的起动、停止、暂停和加速,CLK为扫描时钟,硕件实现时加入时钟信号,另有两个输出,即CHEFE1和LUC,分别代表车费和路程,当车处于行驶状态时,此模块会自动记录下路程与

5、车费状况并作为转换模块的输入。jifei模块程序:libraryieee;useieee・stdlogic1164.all;useieee.std_logic_unsigned,all;entityjifeiisport(elk,start,stop,pause,js:instd_logic;chefei,luc:outintegerrange0to8000);endjifei;architectureoneofjifeiisbeginprocess(elk,start,stop,pause,js)variablea,b:std_logic;

6、variableaa:integerrange0to100;variablechf,lc:integerrange0to8000;variablenum:integerrange0to9;beginif(elk'eventandelk二'1')thenif(stop二'O')thenchf:=0;num:=0;b:二T';aa:=0;lc:=0;elsif(start二'O')thenb:二'O';chf:=1100;lc:=O;elsif(start二'1'andjs=,1'andpause二'1')thenif(b二'O')thennum

7、:=num+l;endif;if(num=9)thenlc:=lc+5;num:二0;aa:=aa+5;endif;elsif(start二'1'andjs二'O'andpause二'1')thenlc:=lc+l;aa:=aa+1;endif;if(aa>=100)thena:=,r;aa:=0;elsea:二'O';endif;if(lc<300)thennull;elsif(chf<2000anda二T')thenchf:二chf+400;elsif(chf>=2000anda=,T)thenchf:=chf+600;endif;end

8、if;chefei<=chf;luc<=lc;endprocess;endone;程序分析:首先打开ieee库,用use语句声明使用std_logic_1164和s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。