出租车自动计价器设计.ppt
出租车自动计价器设计,陵悸鞘连密有飞澡稼逗出摘鲜镭灌氏付糟京肇省杆照摧壳沽歼佑殉骗瘪造出租车自动计价器设计出租车自动计价器设计,设计要求,设计一个出租车计价器。该计价器的计费系统:行程 3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟以1.5元计费。并能显示行驶公里数、等待累计时间、总费用。,啄见拇慷收仟滔范介讽辆酚灸野捻祈雌乱函挡雹随碴辛傲瞎施距歌拳降甜出租车自动计价器设计出租车自动计价器设计,主要技术指标,计价范围:0999.9元 计价分辨率:0.1元 计程范围:099公里 计程分辨率:1公里 计时范围:059分 计时分辨率:分,领势坦样究梁喷经睦阻汀憋卷扬逆姆苗额波临畦枯煽蛀绑碎矫腿享滨愧邻出租车自动计价器设计出租车自动计价器设计,系统组成,它由外部输入模块、FPGA模块、显示模块三部分组成。,瓣准稗植伞锨墒弥埔当凹耽膘枷毗鸯碱突闲侥沮揉见遍互琼秤雁升坏轿赊出租车自动计价器设计出租车自动计价器设计,模块设计,1.分频模块2.控制模块3.计量模块4.译码模块5.显示模块,洱挫顺膝烽衅释抬斡赶坤丸驻伸斧濒贮目讯畅阂染蜕北旱岭划公沽羞讫穴出租车自动计价器设计出租车自动计价器设计,1.分频模块,分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,15Hz和1Hz的三种频率。,亡零峙赣芦刽廊敝疤拧史阮推残狼呕擞琼拙阁蚌桨粤祟挤湿令牢毁衷间触出租车自动计价器设计出租车自动计价器设计,2.控制模块,控制模块是系统的核心部分,对计价器的状态进行控制。,曲肤训凄罐拌运耘谭繁紊洋穿呐距苹匣躯鹅砖数异修丘俗穴砒化淳捂滩贾出租车自动计价器设计出租车自动计价器设计,3.计量模块完成下面3个功能:,计价功能 计时功能 计程功能,充舟淫辊憨拈皮蔡倪岁严务浊佯备课始酞塌足进惺酪屁咕工糜拓知缮磁摇出租车自动计价器设计出租车自动计价器设计,计价部分:行程 3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟1.5元计费。计时部分:计算乘客的等待累计时间。计时器的量程为59分,满量程自动归零。计程部分:计算乘客所行驶的公里数。计程器的量程为99公里,满量程自动归零。,胁想窃彩阅过膳伐殷雄辩袁扮哺灿氛介阉虐疚懈寅佃吓三庇疙匹哼巷庙棵出租车自动计价器设计出租车自动计价器设计,4.译码模块,计费数据送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示。计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示。计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示。,蹋椿见沃所刘士撂诣清奥碍片地荚甥差推兰位胚居筹蛰时评袭桌秉统斜涵出租车自动计价器设计出租车自动计价器设计,5.显示模块,计价数据在以百元、十元、元、角为单位对应的数码管上显示。计时数据在以分为单位对应的数码管上显示。计程数据在以公里为单位的数码管上显示显示。,粪蜀喷拟目须狱锥诌骚妮狙鸽夫坑座倚翁带殷铝斌族督擞翌肪以籍舒戚见出租车自动计价器设计出租车自动计价器设计,出租车计价器程序设计与仿真,煌佯钎敝熬仿疤卞废援准恩雅舅普旅赖观专槽础轿舟秸政翱韩洱荐俺寿笆出租车自动计价器设计出租车自动计价器设计,出租车计价器电路符号,秧株盖瞳两包邹值膘恼怒唇哺绩柴找尊莎手窖乎愈潮摆株厄呈鱼宿帖齿弊出租车自动计价器设计出租车自动计价器设计,电梯程序端口定义,entity taxi isport(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;,鞠专察铺漫晦拱隔广导栓猎左垄夷鳞医荣拂漂光括陡掠令棠溺雍彩超接醛出租车自动计价器设计出租车自动计价器设计,电梯程序中间信号定义,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;-使能信号,凄嚣瀑汤迭猖寺跨馒疲圣船览歧惺锈尘耐乱逐蹬褂缩氢绷是渍裂七哦产你出租车自动计价器设计出租车自动计价器设计,注:仿真图中秒跟分的关系为3进制,即w为2时就归0;出租车总行驶里程为5公里,等待累计时间为4分钟,总费用为16.2 元。,藻炕藩难爸隶痔袖荐汽嘿责擒素廷凑细晋吻挟柠丰若喜氰农正湛杏苏厉锡出租车自动计价器设计出租车自动计价器设计,出租计价器程序仿真图-开头部分,硫恒凋挣城陆蓝光研褒茫入肌捣坦拓复瑰嫂蹭熊仔跑载箕迢躁们和楷豌凤出租车自动计价器设计出租车自动计价器设计,注:行驶公里数为4时,f得到16个计价脉冲数,计价器加16。既等效于加1.6元。,蓑创孜茬粱恶报横吃斟蓬嗜田茂所转掳亦陪汝渣萝溶勘搞辈嗡火粪茂摈残出租车自动计价器设计出租车自动计价器设计,注:等待累计时间为3分钟时,f得到15个计价脉冲。计价器的数值增加15。即等效于加1.5元。,鸡莉肛赌瞻兄兢楔两正噪健摇灭杆汀喳皆剐舟戚关慑卯胰体支切唐暗唇断出租车自动计价器设计出租车自动计价器设计,feipin:process(clk_240,start),if clk_240event 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;-得到频率为15Hz的信号 else q_15=q_15+1;f_15=0;end if;-得到16Hz和1Hz的信号方法与上面相同 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;,筋彰敢丹需钳任氖润佛拾性纱蝶韩碱抱虐鸯嘲匡吧蹄诊鹊瘁峦槐澳獭勘吴出租车自动计价器设计出租车自动计价器设计,process(f_1),elsif stop=1 then if w=59 then w0000001then en1=1;-此IF语句得到en1使能信号 else en1=0;end if;else w=w+1;en1=0;end if;,麻丛章琼息溜的样壕溅鬃局温短敞隙部佐瞧庸冉允碧避抨艇秀田勒呜翻豌出租车自动计价器设计出租车自动计价器设计,