论文部分内容阅读
摘 要:出租车计价器的科学设计有利于促进行业稳定健康地发展,对城市交通建设也起着至关重要的作用。文章从嵌入式系统设计的角度讨论了对单片机的感性认识,并介绍了单片机内部模块功能的应用,以及软硬件设计过程、方法及实现。
关键词:出租车;计价器;电路;设计
在交通较为发达的今天,大家对出租车计价器都不会陌生,只要汽车一开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5km),计费数字显示开始从起步价(如5元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用,汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。文章就结合这一常见的生活经历深度剖析其背后的科学系统设计方法。
一、新型出租车计价器的系统硬件设计
针对目前市场上最新款出租车的计价器,我们重点要关注的就是该计价器如何实现人性化计费的,即相应的起步、等候、里程计费等功能的实现。对计价器系统硬件的设计是实现这些功能的基础,也是计价器产品质量的重要保证。
系统硬件设计分为硬件系统设计和硬件电路设计两步。硬件系统设计方面,采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。
硬件电路设计方面,主要包括驱动电路、显示电路、复位电路、掉电保护电路、时钟电路和按键电路。驱动电路上,74LS245是我們常用的芯片,用来驱动led或者其他的设备。总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。同时,多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器,作为显示电路。复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源VCC接通而实现的。最后的掉电保护电路、时钟电路和按键电路相对简单,都是通过单片机实现的,再次就不一一赘述了。
二、新型出租车计价器的系统软件设计
在硬件基础过关的情况下,软件设计的作用就是对各种情况做出程序指令,来确保硬件设施的运作。对此,我们主要通过计算机汇编程序设计和C语言编程设计实现的。两种程序设计语言都有各自的优点。用汇编语言编写和高级语言(C语言)比较起来节省空间,这样对于存储空间仅4Kb的芯片来说是极之有利的,51单片机能更高速的运行。C语言编写的程序,虽然不象汇编那样速度快、但程序简单易行、并且需要较小的存储空间。C语言作为一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。此外,C语言程序还具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的主流。
在具体的软件设计上,我们采用的是程序模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。在main函数编写开始,要进行初始化,包括对系统初始化和对存储器初始化,要对硬件设备进行初始化,并使硬件处于就绪状态。通过判断是否计费,调价,清零等状态,来分别调用不同的子程序,使程序在设计之前,就有了很强的逻辑关系。这些对应于硬件就是通过按下各个控制开关,来分别进行不同的动作,最后数码管根据输入的信息,来显示不同的数据信息,这就达到了软件控制硬件,同时输入信息控制输出信息的目的。
三、新型出租车计价器的仿真调试阶段简析
调试阶段是产品设计的收官阶段,同样也是逆向分析查漏补缺的阶段。对于新型出租车计价器的调试,我们主要从三个方面着手,分别是编程工具调试、软件模块连接调试和市场功能体现调试。
在编程工具上,使用C51语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计。近年来,随着C51语言的编译器性能的不断提高,在绝大多数应用环境下,C51程序的执行效率已经非常接近汇编语言,因此,使用C51进行单片机程序设计已经成为单片机程序设计的主流选择之一。
软件模块连接的调试主要是通过在线软件进行调试,调试的内容就是指令传输的精准度和各模块运作的敏捷性等。具体操作流程是首先打开Proteus软件,然后选择file菜单下的open design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存,接着将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定,最后单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。
市场功能调试就是结合具体成型的新型出租车价格器的产品进行相关具体车辆的试运行,包括对客户反馈信息的整理和归纳,从中调整改造出最接近客户和车主心里预期的新型计价器产品。
四、结语
通过对新型出租车计价器的设计摸索,一方面可以深入了解系统电路设计在日常生活中的广泛运用,另一方面对加深各种科学设计理论的理解大有裨益,也是教学改革背景下探索性学习的倡导方式,对于广大在校专业学习的学生来说,是个值得推广的学习模式。
参考文献:
[1]杨许. 基于单片机控制的新型数显计价器电路设计[J]. 价值工程,2012,32:224-225.
[2]冯书恒. 具有智能诊断反作弊功能的出租车计价器研究[D].济南大学,2013.
[3]夏国强. 车用计价器使用误差整车检验系统研究[D].吉林大学,2007.
[4]肖卫初,陈伟宏,杨明. 基于单片机的多功能出租车计价器的设计[J]. 现代电子技术,2008,16:180-185+188.
关键词:出租车;计价器;电路;设计
在交通较为发达的今天,大家对出租车计价器都不会陌生,只要汽车一开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5km),计费数字显示开始从起步价(如5元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用,汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。文章就结合这一常见的生活经历深度剖析其背后的科学系统设计方法。
一、新型出租车计价器的系统硬件设计
针对目前市场上最新款出租车的计价器,我们重点要关注的就是该计价器如何实现人性化计费的,即相应的起步、等候、里程计费等功能的实现。对计价器系统硬件的设计是实现这些功能的基础,也是计价器产品质量的重要保证。
系统硬件设计分为硬件系统设计和硬件电路设计两步。硬件系统设计方面,采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。
硬件电路设计方面,主要包括驱动电路、显示电路、复位电路、掉电保护电路、时钟电路和按键电路。驱动电路上,74LS245是我們常用的芯片,用来驱动led或者其他的设备。总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。同时,多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器,作为显示电路。复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源VCC接通而实现的。最后的掉电保护电路、时钟电路和按键电路相对简单,都是通过单片机实现的,再次就不一一赘述了。
二、新型出租车计价器的系统软件设计
在硬件基础过关的情况下,软件设计的作用就是对各种情况做出程序指令,来确保硬件设施的运作。对此,我们主要通过计算机汇编程序设计和C语言编程设计实现的。两种程序设计语言都有各自的优点。用汇编语言编写和高级语言(C语言)比较起来节省空间,这样对于存储空间仅4Kb的芯片来说是极之有利的,51单片机能更高速的运行。C语言编写的程序,虽然不象汇编那样速度快、但程序简单易行、并且需要较小的存储空间。C语言作为一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。此外,C语言程序还具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的主流。
在具体的软件设计上,我们采用的是程序模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。在main函数编写开始,要进行初始化,包括对系统初始化和对存储器初始化,要对硬件设备进行初始化,并使硬件处于就绪状态。通过判断是否计费,调价,清零等状态,来分别调用不同的子程序,使程序在设计之前,就有了很强的逻辑关系。这些对应于硬件就是通过按下各个控制开关,来分别进行不同的动作,最后数码管根据输入的信息,来显示不同的数据信息,这就达到了软件控制硬件,同时输入信息控制输出信息的目的。
三、新型出租车计价器的仿真调试阶段简析
调试阶段是产品设计的收官阶段,同样也是逆向分析查漏补缺的阶段。对于新型出租车计价器的调试,我们主要从三个方面着手,分别是编程工具调试、软件模块连接调试和市场功能体现调试。
在编程工具上,使用C51语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计。近年来,随着C51语言的编译器性能的不断提高,在绝大多数应用环境下,C51程序的执行效率已经非常接近汇编语言,因此,使用C51进行单片机程序设计已经成为单片机程序设计的主流选择之一。
软件模块连接的调试主要是通过在线软件进行调试,调试的内容就是指令传输的精准度和各模块运作的敏捷性等。具体操作流程是首先打开Proteus软件,然后选择file菜单下的open design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存,接着将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定,最后单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。
市场功能调试就是结合具体成型的新型出租车价格器的产品进行相关具体车辆的试运行,包括对客户反馈信息的整理和归纳,从中调整改造出最接近客户和车主心里预期的新型计价器产品。
四、结语
通过对新型出租车计价器的设计摸索,一方面可以深入了解系统电路设计在日常生活中的广泛运用,另一方面对加深各种科学设计理论的理解大有裨益,也是教学改革背景下探索性学习的倡导方式,对于广大在校专业学习的学生来说,是个值得推广的学习模式。
参考文献:
[1]杨许. 基于单片机控制的新型数显计价器电路设计[J]. 价值工程,2012,32:224-225.
[2]冯书恒. 具有智能诊断反作弊功能的出租车计价器研究[D].济南大学,2013.
[3]夏国强. 车用计价器使用误差整车检验系统研究[D].吉林大学,2007.
[4]肖卫初,陈伟宏,杨明. 基于单片机的多功能出租车计价器的设计[J]. 现代电子技术,2008,16:180-185+188.