为8.00元。要求行车时,计费值每公里刷新一次;等候时每10分钟刷新一次;行车不到1km或等候不足10分钟则忽略计费。
3.在启动和停车时给出声音提示。
二、设计方案
方案1 采用计数器电路为主实现自动计费。
分别将行车里程、等候时间都按相同的比价转换成脉冲信号,然后对这些脉冲进行计数,而起价可以通过预置送入计数器作为初值,如图1的原理框图所示。行车里程计数电路每行车1km输出一个脉冲信号,启动行车单价计数器输出与单价对应的脉冲数,例如单价是1.80元/km,则设计一个一百八十进制计数器,每公里输出180个脉冲到总费计数器,即每个脉冲为0.01元。等候时间计数器将来自时钟电路的秒脉冲作六百进制计数,得到10分钟信号,用10分钟信号控制一个一百五十进制计数器(等候10分钟单价计数器)向总费计数器输入150个脉冲。这样,总费计数器根据起步价所置的初值,加上里程脉冲、等候时间脉冲即可得到总的用车费用。
P2求P1和行车里程计数器里程单价计数器等候时间计数器起步价10分钟单价计数器P0总费计数数据锁存译码显示打印机图1 出租车计费器原理框图一
上述方案中,如果将里程单价计数器和10分钟等候单价计数器用比例乘法器完成,则可以得到较简练的电路。它将里程脉冲乘以单价比例系数得到代表里程费用的脉冲信号,等候时间脉冲乘以单位时间的比例系数得到代表等候时间的时间费用脉冲,然后将这两部分脉冲求和。
如果总费计数器采用BCD码加法器,即利用每计满1km的里程信号、每等候10分钟的时间信号控制加法器加上相应的单价值,就能计算出用车费用。
里程脉冲89C51单片机显示电路打印机音响电路
图2 出租车计费器原理框图二
复位电路看门狗电路方案2 采用单片机为主实现自动计费。
单片机具有较强的计算功能,以8位MCS51系列的单片机89C51加上外围电路同样能方便地实现设计要求。电路框图如图2所示
方案3 采用VHDL编程,用FPGA/CPLD制作成“自动计费器”的专用集成电路芯片ASIC,加上少数外围电子元件,即能实现设计要求。
将各种方案进行比较,根据设计任务的要求,各方案的优缺点、设计制作所具备的条件,任选其中的一种方案作具体设计。本例作为传统电子设计方法的实例,采用方案1实现。
三、各单元电路设计
1. 里程计费电路设计
1/Q1≥1Q1≥1&P2RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1CP1RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1&+VCC1R11MΩNS74LS00&&&1RDABCDETRCOEP74HC161(3)LDCPCP1QBQCQDQA0RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1&图3 里程计费电路
里程计费电路如图3所示。安装在与汽车轮相接的涡轮变速器上的磁铁使干簧
继电器在汽车每前进10m闭合一次,即输出一个脉冲信号。汽车每前进1km则输出100个脉冲。此时,计费器应累加1km的计费单价,本电路设为1.80元。在图3中,干簧继电器产生的脉冲信号经施密特触发器整形得到CP0。CP0送入由两片74HC161构成的一百进制计数器,当计数器计满100个脉冲时,一方面使计数器清0,另一方面将基本RS触发器的Q1置为1,使74HC161(3)和(4)组成的一百八十进制计数器开始对标准脉冲CP1计数,计满180个脉冲后,使计数器清0。RS触发器复位为0,计数器停止计数。在一百八十进制计数器计数期间,由于Q1=1,则P2=/CP1,使P2端输出180个脉冲信号,代表每公里行车的里程计费,即每个脉冲的计费是0.01元,称为脉冲当量。
2.等候时间计费电路
1/Q2≥1Q2≥1&P1RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1CP1RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1&1+5VS1560ΩCP2RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1RDABCDETRCOEP74HC161(3)LDCPQAQBQCQD1&图4 等候时间计费电路
等候时间计费电路如图4所示,由74HC161(1)、(2)、(3)构成的六百进制计数器对秒脉冲CP2作计数,当计满一个循环时也就是等候时间满10分钟。一方面对六百进制计数器清0,另一方面将基本RS触发器置为1,启动74HC161(4)和(5)构成的一百五十进制计数器(10分钟等候单价)开始计数,计数期间同时将脉冲从P1输出。在计数器计满10分钟等候单价时将RS触发器复位为0,停止计数。从P1输出的脉冲数就是每等候10分钟输出150个脉冲,表示单价为1.50元,即脉冲当量为0.01元,等候计时的起始信号由接在74HC161(1)的手动开关给定。
3.计数、锁存、显示电路
如图5所示,其中计数器由4位BCD码计数器74LS160构成,对来自里程计
费电路的脉冲P2和来自等候时间的计费脉冲P1进行十进制计数。计数器所得到的状态值送入由2片8位锁存器74LS273构成的锁存电路锁存,然后由七段译码器74LS48译码后送到共阴数码管显示。
显示器BS202×474LS48(4)8Q7Q6Q5QCP8D7D6D5DQ3Q2Q1Q074LS160ETEPLDCRDCBA74LS48(3)4Q3Q2Q1Q4D3D2D1DQ3Q2Q1Q0ETQCC74LS160EPLDCRDCBA74LS48(4)8Q7Q6Q5QCP8D7D6D5DQ3Q2Q1Q074LS160ETQCCEPLDCRDCBA74LS48(3)4Q3Q2Q1Q译码器74LS273(2)74LS273(2)4D3D2D1D锁存器+5VS2Q3Q2Q1Q0计数器ET1QCC74LS160EPLDCRDCBA000010000000000010KΩ+4.7μF+5V+5V&3.3KΩ10KΩ+4.7μF10KΩ4.7μF+S32/Q逻辑控制电路+5VRextVcc1Q1/Q74LS123(1)Cext1A1B1/RDRextVcc74LS123(1)Cext2A2B2/RDQ1Q2≥1+5V图5 计数、锁存、显示电路 计数、译码、显示电路为使显示数码不闪烁,需要保证计数、锁存和计数器清零信号之间正确的时序关系,如图6所示。由图6的时序结合图5的电路可见,在Q2或Q1为高电平1期间,计数器对里程脉冲P2或等候时间脉冲P1进行计数,当计数完1km脉冲(或等候10分钟脉冲)则计数结束。现在应将计数器的数据锁存
到74LS273中以便进行译码显示,锁存信号由74LS123(1)构成的单稳态电路实现,当Q1或Q2由1变0时启动单稳电路延时而产生一个正脉冲,这个正脉冲的持续时间保证数据锁存可靠。锁存到74LS273中的数据由74LS48译码后,在显示器中显示出来。只有在数据可靠锁存后才能清除计数器中的数据。因此,电路中用74LS123(2)设置了第二级单稳电路,该单稳电路用第一级单稳输出脉冲的下跳沿启动,经延时后第二级单稳的输出产生计数器的清零信号。这样就保证了“计数—锁存—清零”的先后顺序,保证计数和显示的稳定可靠。
P1(或P2)Q1(或Q2)计数锁存单稳电路1Q单稳电路2Q清零图6 计数、锁存清零信号的时序图
图中的S2为上电开关,能实现上电时自动置入起步价目,S3可实现手动清零,使计费显示为00.00。其中,小数点为固定位置。
4. 时钟电路
时钟电路提供等候时间计费的计时基准信号,同时作为里程计费和等候时间计费的单价脉冲源,电路如图7所示。
Vcc500Hz2K10K5.1K10HzQ0Q374LS90(2)/CPA/CPBR0(1)R9(1)1HzQ0Q374LS90(3)/CPA/CPBR0(1)R9(1)845551KHz7623Q0Q374LS90(1)/CPA/CPBR0(1)R9(1)0.1μF150.01μF图7 时钟电路 在图7中,555定时器产生1kHZ的矩形波信号,经74LS90组成的3级十分频后,得到1Hz的脉冲信号,可作为计时的基准信号。同时,可选择经分频得到的500Hz