基于单片机的出租车计价器设计_第1页
基于单片机的出租车计价器设计_第2页
基于单片机的出租车计价器设计_第3页
基于单片机的出租车计价器设计_第4页
基于单片机的出租车计价器设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章绪论1.1设计背景在国民经济的快速发展下,城市的交通治安逐渐变得整齐有序,出租车计价器在城市的交通中扮演了重要的角色。虽然私家车拥有的数量在随着经济的发展在慢慢的增长,但是出租车依然是城市交通运输乘客的不可或缺的东西。出租车计价器是出租车上用来记录行驶里程数及时间和通过收费标准计算消费金额的仪表仪器,是出租车上很重要的一部分,它是负责计算出租车运营收费的一种仪器。不论是乘客还是司机都会要求计价器在性能方面能够稳定、计价准确而且在它的功能方面也要求越来越高。首先,出租车行业是城市公共交通的重要组成部分,而计价器作为出租车运营管理的重要工具,对于行业的发展具有重要的作用。随着城市化进程的加速和人民生活水平的提高,出租车需求量逐年增长,因此出租车计价器的研究和发展也越来越受到关注。其次,数字电子技术的发展与应用推动了出租车计价器的数字化设计和更新换代。传统的出租车计价器主要采用机械式设计,容易出现误差,而基于51单片机的计价器采用数字化设计,计算准确,可以有效地提高计价准确性,保证出租车计价的公正性和合理性。因此,基于51单片机的出租车计价器在数字电子技术的推动下具有较高的研究和应用价值。第三,基于51单片机的计价器还具有节约人力成本的优势。基于51单片机的计价器具有自动计价和打印功能,可以减少人工记录和打印的时间和成本,提高出租车运营效率,降低管理成本。因此,基于51单片机的出租车计价器的应用能够有效地节约人力成本,提高管理效率。1.2国内外研究现状由于国外的半导体工艺、微机技术的发展在早期受到了严重的限制,用户极度需求电子化的出租车计价器控制系统的出现,因此在不断的探索,自从进入了上世纪的80年代,出租车计价器控制系统的智能化才出现了质的飞跃,这跟出租车计价器控制系统的智能芯片的大量生产有着直接的关系,使得出租车计价器控制系统,一时间在全世界流转,很多优质的半导体公司都在争相模仿先进的生产产品,主要以北美系的生产的为主,智能的出租车计价器控制系统的生产技术核心也不断的向全世界涌来。而到了上个世纪的90年代,中国在实现改革开放的同时,同时也大量的引进先进的过,另外不少技术企业瞄准了中国的出租车计价器控制系统的市场,纷纷通过合格国外先进厂家进行技术联营,引进先进技术,在此背景下,为我国的出租车计价器控制系统产品打下基础,也得到了发展进步的机会,不断的趋于成熟化。随着改革开放的发展,智能的出租车计价器控制系统已在中国的市场崭露头角并得到了一定的发展。在90年代中国的高校已经在开始研究出租车计价器控制系统,由于当时所能涉及到的硬件技术有限,生产的产品质量存在很大的问题,可用性较低,以及硬软件所出现的功能性的缺失也经常存在。而相对的国外的产品技术含量较高,因此逐渐的占领了我国的市场。随着企业和高校的不断联合,我国通过不断的学习国外的出租车计价器控制的技术,同时在国内不断做自己的研发,不断的和外国的先进技术公司进行了解,抓住了发展的机会,大量的生产制造,最终形成了自己的出租车计价器控制领域,从而在全世界的市场格局中找到了自己的地位,也取得了良好的效果。通过学术创新和技术创新,我们已经能够自己根据实际情况,生产自己的智能化出租车计价器控制系统。通过各方的努力和细心的研究,我们在出租车计价器控制系统上创造了很多技术标准,以符合国际的技术标准,同时也在进军海外的市场,期待着和全世界进行学术性的交流。出租车计价器控制系统已经可以成功的走出国门,迈向世界。1.3设计目的和意义大力提高城市安全文明的建设是现代化社会智能城市建设的主要方向之一,对比几十年前,我国人民的生活、经济水平在不断的提高,很多生活中常见工具的功能已经不能够满足人民的需求。就出租车收费器而言,人们对它的功能要求也是逐渐的增加,虽然它的功能在趋于完善,但仍然有很多可以改进的地方。本次的设计选用的主要元件是单片机,不仅是为了完成设计的要求和各功能的实现,更是为了检验我们对所学知识的应用能力以及我们解决问题的能力。首先,出租车行业是城市公共交通的重要组成部分,而计价器作为出租车运营管理的重要工具,对于行业的发展具有重要的作用。随着城市化进程的加速和人民生活水平的提高,出租车需求量逐年增长,因此出租车计价器的研究和发展也越来越受到关注。其次,数字电子技术的发展与应用推动了出租车计价器的数字化设计和更新换代。传统的出租车计价器主要采用机械式设计,容易出现误差,而基于51单片机的计价器采用数字化设计,计算准确,可以有效地提高计价准确性,保证出租车计价的公正性和合理性。因此,基于51单片机的出租车计价器在数字电子技术的推动下具有较高的研究和应用价值。第三,基于51单片机的计价器还具有节约人力成本的优势。基于51单片机的计价器具有自动计价和打印功能,可以减少人工记录和打印的时间和成本,提高出租车运营效率,降低管理成本。因此,基于51单片机的出租车计价器的应用能够有效地节约人力成本,提高管理效率。综上所述,基于51单片机的出租车计价器的研究背景和意义十分重要。其应用不仅可以提高计价准确性,节约人力成本,还可以促进出租车行业的发展,推动数字电子技术在汽车领域的应用,具有重要的现实意义和研究价值。在未来,随着数字电子技术的不断进步,基于51单片机的出租车计价器还有很大的研究和应用空间。1.4设计要求(1)不同情况具有不同的收费标准。白天,晚上,途中等待(>10min开始收费)(2)能进行手动修改单价(3)具有数据的复位功能(4)具有启动计时开关、白天/晚上收费标准的转换开关、数据的清零开关、单价的调整(最好使用+和-按键)(5)数据输出:单价输出2位(要能输入小数),路程输出2位,总金额输出3位(有1位小数)。1.5计价器设计主要内容当我们打到出租车进入车内,出租车师傅就会开启电源开关从而启动计价器,在汽车发动油门启动之后,行驶里程是不断在增加的,当小于某一个值的时候<如3km>时,这时候出租车里面的计价器上面显示的计价数字就是我们的起步价,当出租车行驶到某一路程时<比如3km)计价器的数字开始从初始值<比如8元)增加。很多时候出租车需要在某一个地方停下等待,这时司机通常需要手动按下“等待键”,等待超过了一段时间之后<比如10分钟),计价器现实就会增加刚刚等待时间的费用<比如每5分钟收取1.5元)。等待完成后出租车继续上路,这时候等人的计费系统就会关闭,转而继续开启正常的里程计费。到达乘客的目的地之后,直接按照计价器显示的数字收费即可。收费之后下一步关闭计费器,这时候计费器就清零了,为下次载客做好准备。由AT89C51作为主控制芯片,并连接按键系统和LCD1602显示系统,用电机来模拟车轮的转动,通过霍尔传感器对单片机输入一个脉冲,一个脉冲待变车轮转动一周,假设转动一周的距离为0.01km,由此来判断出租车行驶的距离,从而计算出乘客应付的价钱。在司机等待时按下等待按键,则计时器开始工作,等待10分钟则开始加价,停止等待时,页面会自动返回到初始计价页面,等待价钱和时间不清零,结束计价时则把等待价钱和显示价钱一起计算。此次毕业设计主要是使用单片机技术从而实现一台出租车计价器的功能,有很多特点:比如性能强劲可靠、电路设计简单易懂、设计成本不高、等。此次毕业设计中的出租车计价器的主要功能有:数据的准确复位、切换白天和晚上收费、准确把数据输出显示、计时计价、单价输出及调整、路程输出、等功能。输出显示使用的是LCD1602液晶。这次电路设计的计价器不仅仅是基础的计价显示,还兼具晚上载客、白天载客、以及在路上等待的不同场景来调节行驶单价。总体方案论证与设计2.1设计目的和功能要求出租车计价器是一个广泛应用于出租车行业的设备,其主要作用是计算车费,并显示在计价器上。本文设计的出租车计价器需要满足以下功能要求:(1)计算车费:根据起始里程和终止里程计算车费,并显示在计价器上。(2)计时功能:计价器需要具有计时功能,以便计算车费时可以考虑时间因素。(3)功能选择:计价器需要具有选择不同功能的功能键,包括计价、计时、清零、取消等。(4)数据存储:计价器需要具有数据存储功能,以便在断电后可以恢复之前的数据。2.2设计方案51单片机是本次设计中的主控器,并且使用1602字符液晶当作出租车计价器的显示电路,用的是内部的时钟脉冲,传统的按键功能很方便进行调节,操作性低方便控制,设计花费的成本不高,设计电路简单,大家都可以操作,以下是系统流程图。如图2-1所示。AT89C51AT89C51按键电路按键电路LCDLCD1602液晶脉冲输入脉冲输入图2-1总体设计方案流程图2.3硬件设计硬件设计方案包括主板设计、显示屏、按键、计价器传感器等硬件组件的选型和接口设计,以及电源管理和接口保护等技术措施。其中,主板选用了AT89C51单片机作为控制核心,并配合液晶显示屏、按键、红外传感器和GPS模块等硬件组件,实现了计价器的各种功能。为了保证计价器的安全性和稳定性,采取了电源管理和接口保护措施,如过流保护、过压保护、反向电压保护等。2.4软件设计软件设计方案包括功能设计、程序结构设计、代码实现和调试等方面,例如计价器启动、重置、运行状态、价格计算、计费记录等功能。本文采用了KeilC51嵌入式开发工具进行程序设计和调试,并使用C语言进行编程。软件程序主要包括计价器控制程序、传感器控制程序、界面控制程序等模块,这些模块紧密结合,实现了计价器各项功能的完整性和高效性。2.5技术实现技术实现方案包括硬件电路的设计和软件代码的编译和下载,以及设备驱动和接口程序的编写和测试等过程。在硬件电路的实现过程中,采用了双面PCB板设计,并严格按照电路原理图进行布局和焊接,确保了电路的稳定性和可靠性。在软件代码的实现过程中,采用了逐步调试和测试的方法,不断优化和完善代码,以保证程序的正确性和稳定性。第三章硬件设计3.151单片机的基本概念和架构基本概念:51单片机是一种微处理器,它包含了CPU、存储器、输入输出接口等部件,可以用于设计各种嵌入式系统、电子设备和自动化系统等。它通常使用C语言或汇编语言进行编程,可以实现复杂的计算和控制任务。架构:51单片机采用Harvard结构,具有8位数据总线和16位地址总线。其架构包括CPU、存储器、输入输出接口、定时器计数器、中断系统和串行通信等部件。CPU:51单片机的CPU包括算术逻辑单元(ALU)、寄存器、程序计数器(PC)、指令译码器等部件。它可以执行基本指令、位操作指令、算术逻辑指令、跳转指令等。存储器:51单片机包括ROM、RAM、EEPROM等存储器。ROM用于存储程序代码,RAM用于存储数据,EEPROM用于存储常量和非易失性数据。输入输出接口:51单片机包括多种输入输出方式,如并行口、串行口、定时器、中断等。它可以接收外部信号,并对外部设备进行控制。定时器计数器:51单片机包括多个定时器和计数器,用于计时、延时和频率计算等任务。它可以对外部时钟进行计数和控制。中断系统:51单片机包括多种中断方式,如硬件中断、软件中断、定时器中断等。它可以响应外部信号,并进行中断处理。串行通信:51单片机支持多种串行通信方式,如UART、SPI、I2C等。它可以与其他设备进行通信和数据交换。总之,51单片机是一种基于Harvard结构的微处理器,也是一种常用的嵌入式系统芯片,具有强大的计算和控制能力,支持多种输入输出和通信方式,适用于各种应用领域。如智能家居、工业自动化、电子游戏、车载系统、医疗设备等。具有强大的计算和控制能力,支持多种输入输出和通信方式,适用于各种嵌入式系统、电子设备和自动化系统等。但是,它的编程和调试比较复杂,需要具有一定的技术功底和经验。3.2按键电路采用独立式键盘,每个按键占用一个I/O口,每个按键相对独立,I/O口通过按键与地相连,无键按下时,引脚端为高电平,有键按下时,引脚端为低电平。所以可以通过判断每个引脚端是否为低电平,就可以知道是否有键按下。图3-1为按键电路。图3-1按键电路S1:接P1.0口,开始计费和结束计费按键,按单次为开始计费,按双次为结束计费。S2:接P1.1口,是暂停按键,按下后,开启定时器0,LCD1602会开始显示等待时间并且在等待开始十分钟后开始增加等待价钱,在按下结束键之前,等待时间和金钱不会清零。S3:接P1.2口,是设置按键,在结束计价的时候,按一次,对起步价可以进行调整;按两次,对等待10分钟的等待价钱可以进行调整;按三次,对晚上可以单价进行调整;按四次,可以对白天单价进行调整;按第五次时,回到初始界面,然后循环。S4:接P1.3口,是用来调整单价增加的键。S5:接P1.4口,是用来调整单价减少的键。S6:接P1.5口,复位键,按下之后所有的数据恢复到刚开始的状态。3.3直流电机电路该直流电机主要是通过驱动芯片L298来驱动,这款芯片可以同时驱动2个直流电机,可以用直流电或PWM脉冲波驱动第5,7脚为控制电机的正反转,一个接负电压,一个接正电压,第6脚ENA控制电机的转速,通过PWM可以控制转速,这里我们给它-一个高电平就可以了。直流电机电路如图3-2所示。图3-2直流电机电路3.4显示电路3.4.1LCD1602的基本参数及引脚功能引脚功能说明: LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示。表1LCD1602引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源的时候对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W

为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,

当RS为高电平R/W为低电平时可以写入数据。

第6脚:E端为使能端,当B端由高电平跳变成低电平时,液晶模块执行命令。第7-14脚:D0-D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.4.2显示电路连接如图3-3所示为显示电路连接。图3-3显示电路3.5脉冲输入电路利用霍尔传感器来对单片机输入一个脉冲,从而计算出租车行驶的路程,将霍尔传感器接到单片机外部中断0上,触发中断,计算公里数。由于A44E属于开关型的霍尔器件,其工作电压范围比较宽<4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的I0端口上,而且其最高检测频率可达到1MHz。A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片>B、差分放大器C、施密特触发器D和0CI门输出E五个基本部分组成。如图3-4所示为霍尔传感器连接电路。图3-4霍尔传感器连接电路3.6AT89C51的引脚连接和说明P2口连接LCD1602D0-D7口;P0.0连接LCD1602RS口,P0.1连接LCD1602的R/W口,P0.2连接LCD1602的EN口;P1.0-P1.5为按键连接口;P3.2为外部中断0连接口,连接霍尔传感器输入端,向单片机输入脉冲来计算行车途中的行驶里程;P3.0和P3.1口连接驱动芯片L298N的输入端IN1和IN2,用来控制电机转动和停止,用来模仿出租车的行驶和停止。如图3-5为AT89C51的引脚连接图:图3-5AT89C51的引脚连接图第四章软件设计4.151单片机资源利用在本次设计中电路键盘用到了P1口,其中P1.0口到P1.5口作为键盘的输入,显示电路用到了P0口和P2口,P2口为液晶的数据口,P3.2口作为脉冲的输入端。4.251单片机的编程语言和开发工具汇编语言:汇编语言是最常用的51单片机编程语言之一,它可以直接操作寄存器和硬件,可以实现最高的运行速度和最小的程序尺寸。常用的汇编语言开发工具包括Keil、IAR等。C语言:C语言是一种高级语言,可以提高程序的可读性和可维护性,也可以加快程序的开发和测试速度。常用的C语言开发工具包括Keil、IAR、SDCC等。开发工具:常用的51单片机开发工具包括Keil、IAR、SDCC等。这些工具可以提供代码编辑、编译、调试、仿真等功能,可以大大提高开发效率和质量。调试工具:常用的51单片机调试工具包括Simulator、ICE等。这些工具可以对单片机进行在线仿真和调试,可以实时监控程序运行状态和寄存器变化。总之,51单片机可以使用汇编语言和C语言进行编程,常用的开发工具包括Keil、IAR、SDCC等,常用的调试工具包括Simulator、ICE等。选择合适的编程语言和开发工具,可以大大提高程序的质量和效率,也可以方便程序的维护和更新。4.3单片机软件模块设计4.3.1系统主程序设计在主程序模块中,需要完成对各接口芯片的初始化、启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格通过显示电路显示出来。如图4-1所示开始T0T0初始化LCD1602LCD1602初始化按键函数价钱计算价钱计算显示函数显示函数图4-1总体软件设计流程图4.3.2里程中断等待计数服务程序当休息键按下,每当计时到达10分钟后,就对当前金额加上中途等待的单价。如图4-2所示开启中断开启中断0mil2++mil2++mil2=10mil2=10?shissgshiShifou否是mil2=0,mil++结束中断结束中断0图4-2中断等待计算路程流程图4.3.3按键子函数流程图图4-3按键子函数流程图4.3.4定时器T0计时收费在软件设计中,用T0来计时,当汽车停下来等待时,出租车司机则按下等待键,开启定时器T0,定时器每次定50ms,定20次就是1s,此时miao就加一,当miao=59时,执行miao=0,fen++;当fen=59时,执行fen=0,shi++;接下来判断fen是否>=10?若>=10,计价器就按收费标准开始计算价钱。如图4-4为定时器T0计时收费流程图。图4-4定时器T0计时收费流程图第五章功能测试和性能评估5.1硬件仿真硬件仿真可以使用Proteus软件来实现,Proteus是一种电子电路仿真软件,可以模拟电路的工作过程,包括单片机的外设模拟、仿真调试等功能。在Proteus中,可以将51单片机的模型拖入画布中,然后将计价器的其他外设,如1602液晶显示屏、4*4矩阵键盘、定时器等连接到单片机上。然后,可以编写单片机程序,在仿真环境中进行调试,验证计价器的各项功能是否正常工作。5.2软件仿真软件仿真可以使用KeilC51软件来实现,KeilC51是一种常用的51单片机编程软件,支持多种单片机模型的编程和调试。在KeilC51中,可以新建一个工程,将计价器的源码文件导入到工程中。然后可以编译源码,生成HEX文件,将HEX文件下载到仿真环境中进行调试。在调试过程中,可以使用KeilC51提供的仿真器,实时查看程序的运行情况,验证计价器的各项功能是否正常工作。5.3功能测试首先需要对系统的各项功能进行测试,包括输入输出处理、计价计算、显示等。可以通过手动模拟或实际测试方式进行测试,逐一检查各个功能是否正常工作。测试过程中需要注意输入输出数据的准确性、计价计算的准确性、显示效果的清晰度等问题。5.4精度测试在功能测试通过后,需要进行精度测试,测试系统的计价精度是否达到预期目标。可以采用多组测试数据进行测试,比较实际值和计算值的差异,并分析误差的原因。测试过程中需要注意测试数据的准确性、测试环境的稳定性、测试结果的可靠性等问题。5.5性能测试在精度测试通过后,需要进行性能测试,测试系统的运行速度、响应时间、稳定性等方面。可以采用多组测试数据进行测试,分析系统的瓶颈和优化方向。测试过程中需要注意测试数据的充分性、测试环境的一致性、测试结果的准确性等问题。5.6对比评估在完成系统测试和性能评估后,需要对系统的性能和功能与其他同类产品进行对比评估,以评估系统的优势和不足之处。可以根据实际情况选择合适的评估标准和方法,进行全面的对比评估。5.7问题和不足基于51单片机的出租车计价器虽然在实现出租车计价功能方面具有一定优势,但是也存在一些问题和不足:计价精度不高:由于51单片机计数器的限制,计价精度可能不够高,可能存在误差。特别是对于长时间的计价,误差可能会逐渐累积,导致计价不准确。显示效果有限:由于51单片机的屏幕和显示控制能力有限,显示效果可能不够清晰和美观。特别是对于复杂的图形和动画显示,效果可能不理想。操作方式单一:由于51单片机的输入输出接口有限,操作方式可能相对单一。用户可能只能通过按键进行操作,不能实现语音输入、触摸屏操作等更便捷的操作方式。扩展性有限:由于51单片机的硬件和软件扩展性有限,系统的功能和性能也有一定限制。如果需要增加更多的功能和扩展接口,可能需要更换更强大的处理器和更多的硬件资源。第六章总结6.1小结本款出租车计价器有不少功能,其中包括单价输出、单价调整、路程输出、显示途中等待时间和相应的价钱、显示总价等功能。另外,这个出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点。通过本次设计,使我学到了许多以前从未接触到的知识,也深刻体会到单片机技术应用领域的广泛,使我对学过的单片机知识有了很多的巩固。在本次设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:LCD1602液晶引脚说明、L298引脚图及其引脚功能等,为本次设计提供了一定的资料。半年来,经过自己努力,基本上完成了设计要求的内容,在系统可行性分析、原理图设计等方面都作了许多实际工作,遇到了一些问题,并存在一些不足,但是却从中学习到了很多的知识,也对用单片机设计一些东西的流程有了大概的了解,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。6.2未来工作展望和研究方向基于51单片机的出租车计价器是一种传统的嵌入式系统设计方案,未来的工作展望和研究方向包括以下几个方面:计价精度提高:目前基于51单片机的出租车计价器计价精度有限,未来可以通过优化算法、提高计数器精度、增加传感器等方式提高计价精度,使计价更加准确。操作方式丰富:目前基于51单片机的出租车计价器操作方式比较单一,未来可以通过增加语音识别、触摸屏操作等方式丰富操作方式,提高用户体验。显示效果优化:目前基于51单片机的出租车计价器显示效果有限,未来可以通过增加更高清晰度的显示屏、优化显示控制算法等方式提高显示效果,使用户界面更加清晰美观。系统功能扩展:目前基于51单片机的出租车计价器系统功能较为单一,未来可以通过增加功能模块、扩展接口等方式扩展系统功能,提供更加全面的服务。硬件和软件升级:基于51单片机的出租车计价器已经有一定的市场应用,未来可以通过升级硬件和软件,提高系统性能和可靠性,延长系统的使用寿命。总之,未来的工作展望和研究方向可以通过优化算法、增加硬件资源、扩展接口、提高计数器精度、增加传感器等方式提高基于51单片机的出租车计价器的计价精度、功能扩展性、操作方式、显示效果等方面,从而更好地满足用户需求,提供更加高效、便捷、可靠的计价服务。参考文献[1]吴波.基于单片机的出租车计价器设计[J].信息技术与信息化2018(09):33-35.[2]段旭阳,韩延义,王晓丹,宋闻萱.基于FPGA的LCD1602液晶显示屏系统控制设计[J].工业和信息化教育,2018(03):56-60.[3]杨坤漓.出租车计费器电路设计与分析[J].电子测试,2019(20):14-15.DOI:10.16520/ki.1000-8519.2019.20.005.[4]石浩志,杨阳蕊.基于STC89C52单片机时钟的设计与实现[J].电子制作,2020(Z1):96-98.DOI:10.16589/11-3571/tn.2020.z1.036.[5]严敏.基于单片机的DS1302日历时钟的设计和实现[J].石家庄职业技术学院学报,2019,31(06):32-36.[6]彭泉,翟娟,王世豪,孙艳,张乐.基于单片机的出租车计价器[J].新型工业化,2020,10(08):26-30.DOI:10.19335/ki.2095-6649.2020.08.011.[7]金国华,滕君华.基于单片机的出租车计价器实验教学案例设计[J].信息技术与信息化,2019(03):93-95.[8]徐燕,冯慧,岳战威,徐晓坤.基于单片机的出租车合乘计价器设计[J].河南科学,2019,37(08):1205-1212.[9]杨正祥.基于单片机和霍尔传感器的出租车计价器设计[J].信息系统工程,2018(07):99-100.[10]沈戴南.基于单片机的出租车计价器设计[C]//.中国职协2017年度优秀科研成果获奖论文集(一二等奖).[出版者不详],2018:1080-1103.[11]于洋,尹晶.共享单车计价器设计[J].信息与电脑(理论版),2022,34(16):98-101.[12]徐燕,冯慧,岳战威,徐晓坤.基于单片机的出租车合乘计价器设计[J].河南科学,2019,37(08):1205-1212.[13]苏杰仁.字符型LCD1602显示分析与实现[J].科技资讯,2022,20(22):9-12+160.DOI:10.16661/ki.1672-3791.2205-5042-3080.[14]赵华峰.LCD1602模块的汉字显示研究[J].现代信息科技,2020,4(17):35-37.DOI:10.19850/ki.2096-4706.2020.17.010.[15]杨洁,叶晶晶.基于51单片机的多功能电子时钟设计[J].电子测试,2021(07):20-21+31.DOI:10.16520/ki.1000-8519.2021.07.006.[16]孙凤乾,郑太恒,刘海英,刘大鹏.基于STC89C51单片机的数字时钟设计[J].齐鲁工业大学学报,2021,35(03):47-51.DOI:10.16442/ki.qlgydxxb.2021.03.008.[17]郑相哲,乔从宽.基于彩色液晶屏的出租车计价器设计[J].中国计量,2019(07):97-98+102.DOI:10.16569/11-3720/t.2019.07.028.附录1原理图附录2仿真图附录3源程序#include<reg51.h>#include<LCD1602.h>#defineucharunsignedchar#defineuintunsignedintsbitkey_start=P1^0; sbitkey_wait=P1^1; sbitkey_set=P1^2; sbitkey_jia=P1^3; sbitkey_jian=P1^4; sbitkey_dn=P1^5;sbitkey_fuwei=P1^6;sbitmod=P1^7;uintstart_price=77; uintwhite_price=66;uintblack_price=88;uintWait_price=100; bitdnc=0;bitqiting;uintprice1,price2; uintmil;uintmil2;ucharshi,fen,miao;ucharmoshi,moshi2,ms,set_f; voiddelay(ucharms){ucharj; while(ms--) { for(j=0;j<130;j++); }}voidkey(){ if(key_dn==0) {delay(5); if(key_dn==0) {while(!key_dn); dnc=~dnc; }}if(key_start==0) {delay(5); if(key_start==0) {while(!key_start); qiting=~qiting; if(qiting==0) {moshi=0;}mod=~qiting; TR0=qiting;set_f=0; }} if(key_fuwei==0) {delay(5); if(key_fuwei==0) {while(!key_fuwei); miao=0;fen=0;shi=0; price1=0;price2=0; mil=0;moshi=0;}} if(key_wait==0) { delay(5); if(key_wait==0) { while(!key_wait); miao=0;fen=0;shi=0; moshi=2; } } if(qiting==0) { if(key_set==0) {delay(5); if(key_set==0) {while(!key_set); set_f++; moshi=1;if(set_f==5){moshi=0;set_f=0;} }}if(set_f!=0) {if(key_jia==0) {delay(5); if(key_jia==0) {while(!key_jia); if(set_f==1){if(start_price<999)start_price++;} if(set_f==2){if(Wait_price<999)Wait_price++;} if(set_f==3){if(black_price<999)black_price++;} if(set_f==4){if(white_price<999)white_price++;}}} if(key_jian==0) {delay(5); if(key_jian==0) {while(!key_jian); if(set_f==1){if(start_price>0)start_price--;} if(set_f==2){if(Wait_price>0)Wait_price--;} if(set_f==3){if(black_price>0)black_price--;} if(set_f==4){if(white_price>0)white_price--;}}}} }}voidxianshi(){ if(moshi!=moshi2) {lcd_wcmd(0x01); moshi2=moshi;} if(moshi==0) { lcd_wcmd(0x80); lcd_data('N');lcd_data('J'); lcd_data(':'); lcd_data(ASCII[black_price%1000/100]); lcd_data(ASCII[black_price%100/10]); lcd_data('.'); lcd_data(ASCII[black_price%10])lcd_wcmd(0x80); lcd_data('D');lcd_data('J'); lcd_data(':'); lcd_data(ASCII[white_price%1000/100]); lcd_data(ASCII[white_price%100/10]); lcd_data('.'); lcd_data(ASCII[white_price%10]); lcd_data('Y'); lcd_data('G'); lcd_data(':'); lcd_data(ASCII[mil%1000/100]); lcd_data(ASCII[mil%100/10]); lcd_data('.'); lcd_data(ASCII[mil%10]); lcd_data('K'); lcd_data('M'); lcd_wcmd(0x80+0x40); lcd_data('N');lcd_data('J'); lcd_data(':'); lcd_data(ASCII[black_price%1000/100]); lcd_data(ASCII[black_price%100/10]); lcd_data('.'); lcd_data(ASCII[black_price%10]); lcd_data('Y');lcd_data('Q'); lcd_data(':'); lcd_data(ASCII[price1%1000/100]); lcd_data(ASCII[price1%100/10]); lcd_data('.'); lcd_data(ASCII[price1%10]); lcd_data('O'); lcd_data('Y'); } if(moshi==1) { lcd_wcmd(0x80); lcd_data('S');lcd_data('J'); lcd_data(ASCII[start_price%1000/100]); lcd_data(ASCII[start_price%100/10]); lcd_data('.'); lcd_data(ASCII[start_price%10]); lcd_data('Y'); lcd_data(''); lcd_data('P'); lcd_data('T'); lcd_data(ASCII[Wait_price%1000/100]); lcd_data(ASCII[Wait_price%100/10]); lcd_data('.'); lcd_data(ASCII[Wait_price%10]); lcd_data('Y'); lcd_wcmd(0x80+0x40); lcd_data('N');lcd_data('J'); lcd_data(ASCII[black_price%1000/100]); lcd_data(ASCII[black_price%100/10]); lcd_data('.'); lcd_data(ASCII[black_price%10]); lcd_data('Y');lcd_data(''); lcd_data('D');lcd_data('J'); lcd_data(ASCII[white_price%1000/100]); lcd_data(ASCII[white_price%100/10]); lcd_data('.'); lcd_data(ASCII[white_price%10]); lcd_data('Y'); } if(moshi==2) { lcd_wcmd(0x80); lcd_data('W');lcd_data('a'); lcd_data('i'); lcd_data('t'); lcd_data(':'); lcd_data(''); lcd_data(''); lcd_data(ASCII[shi%100/10]); lcd_data(ASCII[shi%10]); lcd_data(':'); lcd_data(ASCII[fen%100/10]); lcd_data(ASCII[fen%10]); lcd_data(':'); lcd_data(ASCII[miao%100/10]); lcd_data(ASCII[miao%10]); lcd_wcmd(0x80+0x40); lcd_data('D');lcd_data('D'); lcd_data('M'); lcd_data(':'); lcd_data(ASCII[(white_price/2)%1000/100]); lcd_data(ASCII[(white_price/2)%100/10]); lcd_data(ASCII[price2%1000/100]); lcd_data(ASCII[price2%100/10]); lcd_data('.'); lcd_data(ASCII[price2%10]); lcd_data(ASCII[(white_price/2)%10]); lcd_data(''); lcd_data('Y');}} voidjiaqianjisuan(){ if(dnc==0) { if(mil>30) { price1=(white_price*((mil-30)/10)); price1=price1+start_price+price2; } else price1=start_price+price2; } else {if(mil>30) { price1=(black_price*((mil-30)/10)); price1=price1+start_price+price2; } else price1=start_price+price2; } } voidT0_init() { EA=1; ET0=1; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=0; EX0=1; IT0=1;} voidmain(){ lcd_init(); T0_init();while(1) { jiaqianjisuan(); key(); xianshi(); }}voidtimer0()interrupt1{TH0=(65536-50000)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论