yabo88登陆 出租车计价器控制系统的电路设计_电子/电路_工程技术_专业信息

日期:2021-01-21 21:07:44 浏览量: 112

嵌入式系统设计主题:出租车计程器控制系统电路设计学生人数:姓名:深蓝色学生人数:姓名:わ-深蓝色专业:新型出租车计价器控制电路的电气工程和自动化设计第1简介1.1背景和意义在21世纪的今天,科学技术正在迅速发展。同样,出租车行业也在发展。出租车已经是城市交通的重要组成部分。从加强行业管理和减少驾驶员与乘客之间的纠纷开始,具有良好性能的出租车计程表对于出租车驾驶员和乘客都非常有用。必要。我们知道,只要出租车开始行驶,随着里程的增加,驾驶员旁边仪表上的里程数字显示的读数将逐渐从零开始增加,并在达到一定值(例如2KM)时逐渐增加。费用编号显示从开始的价格(例如人民币6元)开始增加。当乘客到达车站时,按停止按钮,计费数字将显示总里程和总金额,可以直观地反映用户的使用情况。由于出租车是城市交通的重要组成部分,因此行业的健康和发展也受到越来越多的关注。计价器是乘客和驾驶员之间的交易标准。它是出租车行业发展的重要标志,也是出租车中最重要的工具。它关系到交易双方的利益。对于大多数出租车司机和乘客来说,具有良好性能的出租车计价器是必要的。因此,汽车出租车计价器的研究也非常有价值。通过该设计,可以增强对单片机的感知理解,加深其理论理解,掌握单片机内部功能模块的应用,并了解其软硬件设计过程,方法和实现。单片机。

1.2设计所需的主要外围功能电路是:驱动电路,按键控制电路,掉电保护电路出租车计价器电路图,时钟部分,数字管显示电路等。通过上述功能的设计,所生产的出租车计价器应具有以下功能:1)打开电源后,显示器全为零,按开始按钮开始定价,数字管开始显示开始价格和开始数量;2)按下模拟开关按钮以生成模拟里程的脉冲信号;3)数字管开始显示里程和应付金额,并逐渐增加;4)按下停止按钮停止定价,数字管显示已行驶的总里程和用户需要支付的总金额。按下重置按钮,数码管将显示全零,以进行下一次定价。 -1-学生ID:姓名:Deep- Deep Blue专业:电气工程与自动化第2章系统硬件设计2.1设计方案和硬件说明由单片机设计,功能相对强大,硬件较少,并与适当的软件配合使用可以轻松实现设计要求,并且具有很强的灵活性,并且可以通过软件编程来完成更多的附加功能。该设计采用AT89S51单片机作为主控制器,采用A44E霍尔传感器测距(钥匙更换)来实现出租车的基本定价设计,而AT24C02则在系统关闭时保存单价和其他信息,并且输出采用8段数码管。利用微控制器丰富的I / O端口及其控制灵活性来实现基本的定价功能。

系统结构图如下:按钮控制复位电路停电保护时钟电路89S51单片机显示总里程和总量显示模块1.1系统结构图本电路设计的价格表可以实现基本定价功能,并由单片机计算总价。价格公式为:总价=起始价+单价*(总行驶里程-起始行驶里程)+1。AT89S51是具有高度灵活性的单片机系统。其强大的控制处理功能和可扩展的功能设计电路提供了不错的选择。硬件设计表明,单片机是单片机的简称。由于其优异的性能,单片机被广泛使用并已渗透到各个领域。在本设计中,我们使用P0端口和P2端口,P0端口是8位三态I / O端口,此端口是地址总线和数据总线的时分复用; P2端口是8位双向端口,地址总线的高8位被多路复用;端口P0和P2具有一定的驱动能力,而端口P0具有很强的驱动能力。在设计中,为了使数码管更好地正常显示,我们使用驱动电路来驱动它。在此硬件设计中,我们考虑使用芯片74LS245来驱动数字电子管显示器。在设计电路时,考虑到里程(霍尔)传感器昂贵且测试和测试不便,请参阅Design-2-学生编号:名称:わ-Deep Blue专业:电气工程和自动化使用模拟开关代替。模拟开关的一端连接到端口P3.4,另一端接地。通过前后更改高低级别,每按两次,相应的里程就会增加一。

出租车计价器电路图_电路仿真测试电压跟随器电路_北京出租等待计价

通过程序中设置的里程和数量信息以及驱动电路的设计,可以分别在数字电子管上显示总量和总里程。在显示方面,可以使用液晶显示器,或者可以使用数字管进行显示。由于在此设计中仅需要显示里程和金额信息,因此我们使用数字管进行显示。这样不仅节省成本,而且达到了显示的目的。同时,为了降低硬件的复杂性银河体育 ,我们采用了动态显示方法和共阴极数码管。为了方便焊接,我们选择了集成数字管。我们还设计了控制按钮,可以控制出租车计价器,例如启动/停止按钮,重置按钮等。 AT89S51 MCU简介AT89S51具有以下功能:40引脚抢庄牛牛 ,4k字节闪存片上程序存储器,128字节随机存取数据存储器(RAM),32个外部双向输入/输出(I / O)端口,5个中断优先级2中断嵌套级别,2个16位可编程定时器计数器,2个全双工串行通信端口,看门狗(WDT)电路,片上时钟振荡器。端口P0具有两个功能:1、扩展外部存储器时,它用作数据/地址总线。2、如果不进行扩展,则可以将其用作常规I / O,但没有内部上拉电阻。当用作输入或输出时重庆快三 ,应在外部连接上拉电阻。端口P1仅用作I / O端口:内部有一个上拉电阻。

端口P2具有两个功能:1、扩展外部存储器时,它用作地址总线。2、用作通用I / O端口,内部有一个上拉电阻。端口3具有两个功能:除了用作I / O(带有内部上拉电阻)外,还有一些特殊功能由特殊寄存器设置。图2.1 AT89S51的引脚图设计为该设计中使用的MCU引脚(图2.1)功能介绍如下:VCC:连接+ 5V电源。-3-学生编号:名称:わ-deep蓝色专业人员:电气工程和自动化VSS:接地时钟引脚:XTAL1和XTAL2连接到晶体振荡器和30PF电容器形成时钟电路,可以使单片机稳定可靠地运行RST:复位信号输入端子,高电平有效。当该引脚增加两个机器周期的高电平时,可以完成复位操作P 1.0:连接开始/停止按钮以控制定价P 1.1 :连接功能键P 1.3:连接复位按钮端口P0连接至数码管段选择端子,端口P2连接至驱动芯片P3.4(T0):连接至P3.1、 P3.0端口连接到掉电保护电路电竞赛事竞猜 ,而不是滑行计中的霍尔传感器t。 2.2硬件系统设计按下定价按钮时,将显示在程序中设置的起始价格和起始里程范围。当等于或大于2公里时,计算总价的公式为:总价=起始价+单价*(总行驶里程-起始行驶里程)+1定价。

出租车计价器电路图_北京出租等待计价_电路仿真测试电压跟随器电路

在本设计中,起步价为4元,起步里程为2公里。当然,这些数据可以在程序中重写,以满足不同时期的价格调整需求。 2.3硬件电路组成硬件结构主要包括:驱动电路,显示电路,复位电路,掉电保护电路,时钟电路和按钮电路。 2.3.1驱动器电路74LS245是我们常用的芯片,用于驱动led或其他设备。总线驱动器74LS244和74LS245通常用作三态数据缓冲器,74LS244是单向三态数据缓冲器,而74LS245是双向三态数据缓冲器。本设计使用74LS245作为驱动器芯片,双向总线发送器/接收器(3S)。 -4-学生ID:名称:わ-Deep Blueprint 2.4 Driver Chip Pin图74LS245主要电气特性的典型值如下:引线端子符号:AA总线端子BB总线端子/ G三态使能端子(低电平有效)DIR方向控制端子功能表:表2.5功能表专业:电气工程和自动化使用74LS245驱动数字管显示,并且P 2.0至P 2.5单片机分别连接到A0至A5。引脚,用于数据传输,其中AB / BA连接到高电平,控制数据从A传输到B,B0到B5分别连接到数字管的位选择端子,并驱动数字管显示转。

P 2.0到P 2.5的数据通过从A到B发送的数据发送到数字管,以达到显示数据信息的目的。 2.3.2大多数显示电路的应用系统必须配备输入和输出外围设备,LED显示器和LCD显示器。虽然液晶显示效果更好,但已成为发展趋势,但为了节省成本,我们选择了LED显示屏(图2.6)。在显示方面,我们选择了动态显示。显示器具有高亮度且易于接口编程,每个段代码线连接到一个8位锁存器,连接输出,占用的I / O线更多,如果显示位数较多,通常为动态显示模式使用动态显示方法时,由于LED显示屏的余辉和人眼的持久性,只要每个显示屏的时间间隔足够短,您仍然可以感觉到所有数码管都已显示。为了简化硬件,通常将所有段代码线的相应段并行连接,并由一个8位I / O端口控制,同时,只允许一个选通,这个循环将使每个人都显示字符待显示-5-S学员ID:名称:わ-深蓝色专业:电气工程和自动化图2.6 LED数字管图2.7集成数字管LED数字具有两种类型:共阳极和共阴极。将这些LED发光二极管的阳极连接到一块(通常为8的数字加一个小数点),然后将其用作引脚。它被称为普通阳。相反,它被称为普通阴。然后在应用过程中应将此引脚分别连接到VCC和GND。

北京出租等待计价_出租车计价器电路图_电路仿真测试电压跟随器电路

如果将8的多个数字放在一起,它将变成一个多位数的数码管。在此设计仿真中,使用了一组6个共阴极8段数字管(图2.7)。查找公共共阴极和共阳极的方法:首先,找到电源(3 To 5伏)和一个1K(几百个欧姆)的电阻,VCC串联连接到一个电阻,然后通过GND连接到任意2个引脚。有很多组合,但是总有一个LED会发光。足够,然后使用GND保持它,VCC(串电阻)一个接一个地触摸其余的引脚,如果有多个LED(通常是8个),则它是一个公共阴极。公共阴极数字管,阴极接地,当2.3.3复位电路单片机的复位通过外部复位电路实现,2.3.3复位电路通常采用上电方式,有自动复位和按钮复位两种方式。上电自动复位是通过对外部复位电路的电容器充电来实现的。除了上电复位外,还需要通过按按钮进行手动复位(图2.8)。按钮手动复位具有电平脉冲模式有两种模式,其中,电平复位通过电阻将RST端子连接到电源VCC来实现,微控制器的复位速度比外围I / O接口电路快,以确保系统可靠地复位在初始化程序中,一定的复位延迟时间图2.8复位电路2.3.4掉电保护电路掉电保护电路使用存储芯片AT24C02。

AT24C02是CMOS标准EEPROM存储器。它是AT24CXX系列(AT24C01 / 02/04/08/1 6)的成员。这些EEPROM存储器具有低功耗,低成本,宽电源范围和静态的特点。电源电流约为30uA〜 110uA,具有标准的I2C总线接口,这是广泛使用的小容量存储器之一。-6学生编号:名称:わ-深蓝色专业:电气工程和自动化图2.9 AT24C02引脚图上图是引脚该芯片是具有256字节内部存储器的8引脚芯片,其引脚功能介绍如下:A0(引脚1):设备地址的A0位,是设备地址的最低位) ,设备地址安排为A6 A5 A4 A3A2 A1 A0 R / W。A1(引脚2):设备地址的A1位。A2(引脚3):设备地址的A2位。GND(引脚4):接地。SDA(引脚5):数据总线引脚。SCL(引脚6):时钟总线引脚。TEST(引脚7):测试引脚。Vcc(引脚8):电源线引脚。这种设计用宝断电存储电路图如下:图2.10断电存储电路2.3.5时钟电路MCS-51单片机的每个功能部件都是基于时钟控制信号的,内部受控制对于时钟信号,电路严格按照时间顺序执行指令。单片机本身就像一个复杂的同步时序电路。为了确保其各个部分的同步操作,必须在唯一的时钟信号的控制下严格按照时序控制电路。工作。

出租车计价器电路图_北京出租等待计价_电路仿真测试电压跟随器电路

实际上,只需将外围时序控制组件连接到时钟引脚即可形成一个稳定的自激振荡器。为了更好地确保振荡器的稳定可靠运行,应将谐振器和电容器安装在尽可能靠近微控制器芯片的位置。本设计中使用的振荡电路由一个12MHZ晶体振荡器和两个约30PF的电容器组成。 XTAL1和XTAL2之间连接了一个晶振。电容器的尺寸不会影响振荡频率。在整个系统中,对于系统的每个-7个学生编号:名称:わ-深蓝色专业级:为电气工程及其自动化部件提供参考频率,以防止由于不稳定的工作频率,晶体振荡器而导致相关设备的不稳定的工作频率可以在电路中产生振荡电流并发出时钟信号。如图2.11所示。图2.11时钟电路2.3.6按钮电路在按钮控制电路中,当单片机将P 1.0引脚通过软件编程连接到开始/停止按钮时。按下按钮,计数器开始工作并开始计算;当按钮弹出时,计数器停止工作并停止计数,并且开始/停止按钮具有自锁功能。按下开始按钮,开关处于打开状态。此时,P 1.0发送低电平信号。此时,TR0 = 1,计数器开始工作,并调用定价子例程开始定价。清除按钮连接到单片机的P 1.3引脚,按清除按钮,P 1.3为低电平,调用清除子程序,用于清除显示数据AG真人 ,分配中的每个位程序0代码(0x3f),以达到清算的目的,方便下次定价。

另一个是功能键,用于控制价格调整。该键在未按下开始/停止按钮时有效,在定价过程中无效。图2.12按钮电路第3章系统软件设计3.1软件总体设计51单片机有两种主要的编程语言:一种是汇编程序;另一种是汇编程序。另一种是C语言编程。两种编程语言都有自己的优势。与高级语言(C语言)相比,以汇编语言编写可节省空间。对于只有4Kb存储空间的芯片,这是非常有利的。 51台单片机可以以更高的速度运行。用C语言编写的程序没有汇编的速度快,但是该程序简单易行,并且需要较少的存储空间。作为一种已编译的编程语言,C语言考虑了多种高级语言的特性并具有汇编语言的功能。此外,C语言程序还具有完整的模块化程序结构,这为在软件开发中采用模块化编程方法提供了有力的保证。因此,使用C语言进行编程已成为软件开发的主流。 -8学生ID:名称:わ-Deep Blue专业:电气工程和自动化此设计是用C语言编写的。由于采用模块化操作,因此该程序既方便又易于修改和执行。3.2系统程序设计在此设计中,软件设计采用模块化操作,使用各个模块之间的互连,并使用在主程序中调用每个子程序的方法来使程序易于理解。我们设计了总体计划流程图。

开始编写主要功能时,必须执行初始化,包括系统初始化和内存初始化,并且必须初始化硬件设备,并且硬件必须处于就绪状态。可以通过判断是否要充电,调整价格和重置等来调用不同的子例程,以便在设计程序之前就具有很强的逻辑关系。通过按下每个控制开关执行不同的操作,这些与硬件相对应。最后出租车计价器电路图,数字管根据输入的信息显示不同的数据信息,达到了软件控制硬件的目的,并通过输入信息来控制输出信息。 。整个程序的流程图如下:-9-学生号:姓名:わ-深蓝色初始化,打开显示器确定是否进入调价模式Y进入调价模式N确定是否开始计费Y调用计费子例程NN以确定是否停止按键Y结果显示专业:电气工程和自动化N清除显示单价重置图4.1系统程序流程图-10-学生编号:名称:わ-深蓝色专业:电气工程与自动化第4章系统调试系统调试包括软件调试和硬件调试。硬件调试的任务是对焊接电路进行故障排除。软件调试是使用开发工具进行在线仿真调试。常规调试过程如图4.1所示:图4.1系统调试流程图系统调试的一般过程是观察加电并运行后的运行状态,以及数字电子管是否打开。软件调试首先,分别调试每个模块和每个子例程,最后进行在线系统调试。

4.1软件调试4.1.1编程工具-C51语言8051单片机应用设计。尽管C51语言的编程效率比汇编语言代码低,但可以轻松实现。程序设计是模块化的,代码结构清晰,可读性强,并且易于维护,更新和移植。它适合于大规模微控制器程序的设计。近年来,随着C51语言编译器性能的不断提高,在大多数应用程序环境中,C51程序的执行效率已经非常接近汇编语言。因此,使用C51进行微控制器编程已成为微控制器编程的主流选择。一。 4.1.2程序调试工具-KEIL本设计中设计的软件是在KeilμVision7.5上编写,编译,调试和运行的。 -11-学生ID:名称:わ-Deep Blue 4.1.3单片机仿真软件的在线调试-PROTEUS专业:电气工程和自动化1.打开Proteus软件。2.在文件菜单下选择打开设计选项,找到所需的组件,右键单击该组件以将其选中,然后单击左按钮进行命名和分配,然后在编辑器的左列中,找到绘制并绘制设计所需的各种组件,并根据电路图进行连接和保存。3.将keil生成的十六进制文件下载到MCU:双击51 MCU,在对话框中打开已保存的十六进制文件,然后单击“确定”。

4.单击左下角的运行按钮以执行软件仿真调试,直到出现正确的结果。下图显示了该软件的仿真窗口:-12-学生ID:名称:わ-Deep Blue 4.2系统仿真专业:电气工程与自动化下图在Keil C中编译并传递,还有一个Hex文件生成。通过PROTEUS中的仿真传递的整体硬件示意图:-13-学生ID:名称:わ-Deep Blue Summary专业:电气工程与自动化在本设计中,我们使用AT89S51芯片作为核心设备来设计简单的出租车计程器可以显示总金额和总里程,重置按钮以控制零,并调整价格。选择主题后,我开始复习微控制器的知识,并查阅和搜索了许多相关材料,进行了总体设计和具体设计,还学习了仿真软件Protues和编程软件KeiC。由于以前使用汇编语言来实现编程,所以我不习惯使用C语言来实现单片机编程。花了一些时间来熟悉C语言编程。在设计之初,应形成流程图,以使设计具有一定的逻辑性和严谨性,并使设计思想清晰明了。采用模块化设计概念非常重要。编写,修改和调试以及添加必要的注释以方便沟通和理解非常方便。完成这个毕业项目后,我有很多经验。在学习和做事的过程中,我学习了彼此的长处,不断学习新知识,新经验,并达到了进步的目标。

通过我自己的努力以及相关书籍和材料的帮助,我逐渐熟悉KEIL,PROTEUS和C语言软件的使用以及硬件检测过程中的一些技巧。在此设计中,我学到了很多MCU知识,但是由于我的理论知识有限,实践知识和设计经验不足,设计过程中不可避免地会出现一些问题。我真诚地要求所有老师批评和纠正我,以便我在以后的学习和实践中不断进步。 -14-学生ID:姓名:わ-Deep Blue专业:电气工程及其自动化程序源代码#include //#include #include #define uchar unsigned char#define uint unsigned intint xscode [6] = {0x3f,0x06, 0x5b,0x4f,0x66,0x6d); //显示存储区域int zxscode [6] = {0x1f,0x2f,0x37,0x3b,0x3d,0x3e}; //总阴极显示芯片选择代码int codetab [] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f); //公共阴极数字int i,j,flag; uchar sec; int kk = 0; //距离标志int jkk = 0; // Cost int jflag = 0; // cost flag int kflag = 0; //距离标志int zdflag = 0; //中断标志int kg = 0; // distance int dj = 1; //距离单价int djflag = 0; //距离的单位价格biaozhiweisbit key1 = P1 ^ 0; sbit key2 = P1 ^ 1; sbit key3 = P1 ^ 2; sbit key4 = P1 ^ 3; sbit key5 = P3 ^ 4; sbit SDA = P3 ^ 0; // IIC引脚位SCL = P3 ^ 1; void delay(){;;} void delay1(xms)// Delay程序子程序{uint i,j; for(i = xms; i> 0; i--) (j = 110; j> 0; j-);} void start()// IIC起始位{SDA = 1; SCL = 1; delay(); SDA = 0; delay();} void stop() // IICֹͣλ{-15-学生ID:名称:わ-Deep Blue专业:电气工程与自动化SDA = 0; delay(); SCL = 1; delay(); SDA = 1;} void respons()// IIC响应位{uchar i; SCL = 1; delay(); while(((SDA == 1) &&(i2 && kk35 && kk100) sec = 0; TL0 =(65536-2)%256; // count值是设置,并且在记住TH0 =(65536-2) / 256; TMOD = 0x06; EA = 1; E T0 = 1; TR0 = 0; //关机定时器kg = 0;-18-学生ID后生成两次中断:名称:わ-深蓝色专业:电气工程与自动化qingling(); aa:if(key1 ==0) / /按下键时,计费开始{TR0 = 1; //打开计数器0kk =公斤; jijia();} if(key1 == 1) //释放钥匙后,记帐将停止{TR0 = 0; //停止计数器1if(key2 ==0) //功能调整键{delay1(10); //延迟确定是否释放键if(key2 == 1) {xscode [2] = codetab [djflag ++];} //当按下端口p 1.2的按钮时,功能标志位加1} if(key3 == 0 && djflag ==2) //当功能键标志位等于1时,更改每公里的价格Price {delay1(10); if(key3 == 1) {dj ++;} xscode [1] = codetab [dj / 10]]; //将价格的十位数发送到显示屏区域,单价不能超过100xscode [0] = codetab [dj];} if(key4 ==0) //按键以清除显示,单价将是初始值,并且单价标志将被清除{qingling(); dj = 1; djflag = 0;}} xianshi(); //调整显示子例程goto aa;}无效Timer0_Int()使用2中断1 //计数器0中断服务{zdflag = zdflag +1; //中断标志位加一个if(zdflag ==2) //产生两次中断时,距离增加一公里,并清除中断标志{zdflag = 0; k ilo = kilo + 1;}-19-