我是靠谱客的博主 成就自行车,最近开发中收集的这篇文章主要介绍超详细!基于Proteus的出租车计价器实现(数字电路课程设计)设计要求设计方法电路工作原理分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文阐述基于Proteus 7.8的出租车计价器电路的实现,附具体电路的工程文件下载:
工程文件下载链接

设计要求

  1. 里程测量精确到1㎞
  2. 按起步价7元/3公里,起步价外按1.4元/公里进行计价。
  3. 等候按1.4元/10分钟计算。
  4. 具有里程显示、收费显示、里程单价显示。

设计方法

基本上按照模块完成,我将它分为里程模块、小数价格模块、个位价格模块、十位价格模块、显示模块,模块与模块之间通过逻辑电路建立联系。用方波信号代替路程传感器和等待时间传感器,用开关来控制清零。研究数值的变化与各模块信号之间的联系,选择合适的触发条件,通过查询资料,找到合适的具有相应功能的芯片,设计条件电路或者状态电路,具体电路如下:
图1  原理图总览

电路工作原理分析

里程计数及显示

里程是十进制的,用十进制进位计数器,可以用十进制进位加法计数器74ls160或者二进制进位加法计数器74ls161(我采用的是74ls160,这样比较方便)。我用二位十进制数显示里程,所以还要一个异步十进制计数器,要实现异步进位,74ls90可以实现异步十进制计数功能。两个四位二进制数连到数码管上,显示里程数。起步价三公里内7元,大于三公里才开始加价,需要比较功能并输出高电平,数值比较器74ls85可以实现这个功能,里程个位大于3和十位有数字两种情况作或运算,再连到一个三态门上,这样就能判断里程是否满足加价条件。图2  里程设置

起步价和加价设置

三公里内价格是7元,所以刚开始的价格应该在7元的基础上加价,通过查资料,74ls83或者74ls283可以实现四位二进制全加器的功能(我采用了74ls283),将起步价7元和加价相加(另外还需要在超过10块钱后刷新个位,这样7元这个基数就不能保留了,取而代之的是0或者1,具体要根据未进位前的数值来判断,具体在“价格修正”部分分析)

加价是每公里1.4元,小数部分每次+4,一共是4、8、2、6、0五种情况,我想到尾灯控制电路里用的环形状态机,通过4个74ls74循环五种状态控制小数部分变化。个位每次+1,但是考虑到小数部分为6或者8的时候+1.4,个位+2,整数部分仍可以使用74ls160计数,每次都+1,小数进位部分当状态机循环到8或者6的位置,下一状态小数向整数进位(考虑到小数部分初始状态是0,如果用0、2判断,则初始状态也会+1,会导致计数错误,衡量了两个电路的复杂程度,选择采用74ls74延时再给74ls160计数器+1信号)。然后将整数+1部分和小数进位部分相加,同样使用74ls183。
图3  起步价和加价设置

价格修正

考虑到一开始是在起步价7元的基础上加价的,而且进位之后还要清零。个位在“逢十进一”后有0、1两种情况(例如68.6+1.4=70和9.8+1.4=11.2)。这个电路有点复杂,我尝试了几次过后还是选择使用状态机,首先分析,起步价在超过10元之后可以清零,个位的基准价格变为0或者1,那么0111B(7的8421码)第二位和第三位就可以清零并保持下去,所以我仍然采用74ls74D触发器,将输入端口D置高电平,Q ̅在未加触发信号的情况下是高电平,根据D触发器方程Q=D,在第一次进位后,Q ̅变为0,之后就一直是0(复位除外,74ls74有预置端和清零端,都都置1时不影响工作,R清零端置0时,输出Q为低电平,即初始状态)。
图4  价格修正
①进位信号,0101B(10D)触发(同时可用于清零);
②情况一:进位前是8,如8.6、8.8,置高电平等待进位信号;
③情况二:进位前是9,小数位进位之后是.4、.6、.8,置高电平等待进位信号;
④以上两种情况涵盖了需要将个位修正为0的情况,和进位信号相与即可;
⑤状态机:个位修正为0,R端接清零信号,clk接进位信号,如果无需修正,那么进位信号触发会将D端高电平传到Q端,这样就是1;
⑥状态机:在第一次进位之后就把8421码 中间两位清零,之后不干扰计数,R端接复位信号;
⑦或门:最低位要求两个状态机可以同时操控;

数码管显示

因为元件库里有四位二进制的数码管,所以我为了电路的简洁没有加上数码管译码器,但由于缺少小数点,故又使用了共阴极7段数码管加上74ls48译码器,将小数点位置1点亮。按要求一共用到三处数码管显示:图5  里程显示
图6  价格显示(中间的是七段共阴极数码管)
图7  单价显示

总结

本文电路较为复杂,肯定有更好的解决方法。该方案仅供参考,电路还有很多可以优化的方法,不要被一种方法限死。

如果有疏漏或者错误的地方还请指正,如果能够帮助到你,请给我点个赞。
祝各位学业有成。

最后

以上就是成就自行车为你收集整理的超详细!基于Proteus的出租车计价器实现(数字电路课程设计)设计要求设计方法电路工作原理分析的全部内容,希望文章能够帮你解决超详细!基于Proteus的出租车计价器实现(数字电路课程设计)设计要求设计方法电路工作原理分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部