车速的仿真是使用电阻可调的脉冲发生器,将脉冲发生器输出端与单片机的定时/计数中断0端口相连接,将定时/计数中断0的工作方式修改为计数方式,通过修改单片机使其能够即接收脉冲发生器的脉冲又计数。为了在数码显示管上展示明显的路程数值变化,我将一个脉冲看作车子行驶100m,那么每10个脉冲就是行驶1km。本设计使用两位数码管显示里程数,当计数器计满10个数时数码管显示加1。表示1公里距离。规定行驶里程在3km以内时起步价白天为14元,夜晚为18元。当超过3km时车价白天按2。5元/公里来计算,夜晚为3。1元/公里。在显示车价时,3km以内都显示为起步价,当超过3km时每行驶一公里增加相应的金额。
本次设计将等待时间加费和慢速行驶功能也包含其中,使用单片机定时器1进行定时,每定时1秒就会使等待时间加1。系统会在车速为零时自动切换到等待时间收费功能,等待时间按秒数计算,每当等待时间到达60秒,车费自动增加0。5元,等待时间清零并重新开始计时。当车速达到正常行驶时,使用正常计费标准计费。
为了使设计更灵活,设计的系统中还包含了人工设置起步价的功能,通过按键可修改系统的起步价。并且有白天黑夜转换按键,更加真实的模拟了出租车计价器。
2。3PROTEUS软件和KEIL软件概述
2。3。1KEIL C51软件介绍
Keil C51软件是Keil 公司推出单片机编程软件,是一款可用于多种8051 MCU和ARM系列控制器的集成开发环境(IDE),该集成环境为编写单片机程序提供便利,包含丰富的头文件。该软件可用于51单片机的C语言或者汇编语言编程,用它编写需要的程序,并且编译、链接生成最终的HEX文件(16进制文件),这个十六进制文件就是烧入到单片机中的文件,也可由仿真器使用直接对目标板进行调试,会存储到单片机中的EPROM中。
注意晶振的频率,默认的是11。0592MHz,这样可以得到标准的通信速率(波特率),当然也可以有适合需求的不同晶振。为了在调试时避免报错,PC机与仿真电路的通信畅通尤为重要。使用Keil C51时,打开程序出现主界面,这还不是编写代码的界面,为了顺利进行程序编写,我们还需要建立一个新工程和相关文件,其步骤如下:
运行Keil软件,在最上面的“Project(工程)”中选择“New uVision Project…”新建文件,并命名为相应名称,例如“温湿度检测”即可,之后及时选择自己设计所需的单片机型号,如果STC89C52是本次设计需要用到的单片机,但是选择的是Atmel AT89S52,在栏目里找出该单片机并点击选取。之后选择“YES”进行确认操作,然后对建立的project命名,例如“温湿度。c”。
“Target1”该选项位于界面左侧窗口,当然它还有一个子标题,右击“Source Group1”,选择“Add Files。”。然后选择添加保存好的“温度湿度。c”文件,并在点击下拉单的打开键,编译随之开始。接下来就是编译,编译过程是顺序执行的,如果出现C语言语法错误,则会报出提示,双击错误提示,会跳转到错误的地方,根据提示对程序进行修改,需要有C语言基础,之后点击保存,再编译至无错,显示compile sucess,否则无法生成“HEX”格式。
编译完成之后,这个十六进制文件就是单片机需要的文件,导入即可。
2。3。2Proteus仿真软件介绍
在仿真系统还未被推出之前,许多新事物的设计与开发是一件非常繁琐且消耗极大的尝试,可能在投入了那么多资本后还面临巨大的失败与亏损。单片机系统的研发在没有Proteus仿真系统之前也是需要购买许多的电子设备,如示波器、编译器等。此外,一旦在调试过程中发现硬件问题,还必须重新设计电路并焊接元器件。其中的成本,周期和风险可想而知,更别说与后来的仿真软件比效率了。