基于at89c52单片机的出租车计价器的设计(编辑修改稿)内容摘要:
、汉字,还可以自定义显示内容,而且 单片机 小 磁铁 霍尔传感器 XXX。 基于单片机的出租车计价器设计 12 占用的 I/O 口少,有效节约了系统的资源,使整个系统更加简洁,并且成本低廉。 LCD1602液晶显示器可以显示 16*2个字符,它的正常工作电压在 之间,额定工作电流为 , 字符尺寸为 *(W*H)mm。 LCD1602 的各个引脚功能如表 所示。 表 LCD1602引脚说明 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电 源接地 9 D2 DATAI/O 2 VDD 电源正极 10 D3 DATAI/O 3 VL 液晶显示偏压信号 11 D4 DATAI/O 4 RS 数据命令选择端 ( H/L) 12 D5 DATAI/O 5 R/W 读写数据端 ( H/L) 13 D6 DATAI/O 6 E 使能信号 14 D7 DATAI/O 7 D0 DATAI/O 15 BLA 背光源正极 8 D1 DATAI/O 16 BLK 背光源负极 显示电路的硬件设计 根据 LCD1602 液晶显示器的基本工作参数以及各个端口功能, 设计的显示电路如图 所示。 图 显示电路设计 按键电路的设计 设计一共 采用 五个按键 ,其电路如图 所示。 13 图 按键电路 按键功能: KEY1 键:出租车在处于非计价状态下,按下 KEY1 键,可以对日期,单价等信息作调整,当计价器处于计价状态时候,该键失效。 KEY2 键:当 KEY1 键按下时,通过该键,对要调整的参数进行选择。 KEY3 键:数据调整中的 +键。 KEY4 键:数据调整中的 键。 KEY5 键;计价器启动键 /退出键,同时也是设置退出键,保存设置值。 XXX。 基于单片机的出租车计价器设计 14 第四章 出租车计价器的软件设计 模块介绍 该系统主要由主程序模块,里程计数器中断服务 程序模块,中途等待中断程序模块,显示程序模块,键盘服务程序模块组成 [12]。 以下 为 对每个模块的描述。 图 主程序流程图 主程序模块 主程序模块 的任务,是协调各个模块的工作,并 对 每一个模块完成芯片初始化 工作。 当计价器 工作 的时候,主程序模块需要根据时钟模块提供的时间判断当前计费模式( 6 点到 22 点为白天计价模式, 22 点到第二天 6 点为夜间计价模式),并且判断行驶路程是否在三公里(起步价 7 元或 8 元三公里)之内,若在三公里之内,则按照起步价计算总金额,若超过三公里,则按照起步价加上超出三公里开始 初始化 读取单价起步价等 读 DS1302 键盘扫描 根据时间选择模式 夜间模式 白天模式 键盘 子程序 返回 15 Y N N Y 部分的金额再加上等待时间金额进行计算,将 时间,金额,里程,价格等信息发送到显示电路 [13]。 当 乘客 到达目的地 ,按下停止按钮,总金额,里程,等候时间等信息将显示在显示器上, 在交易完成后,出租车司机按下清零键,主程序模块对各个模块重新初始化,为下一次启动做好准备。 主程序的流程图如上图 所示。 图 里程中断计数服务流程图 里程计数中断服务程序模块 每次霍尔传感器 A44E 传来脉冲信号,在控制器允许的情况下,就会引起控制器中断,控 制器转 向 处理中断子程序,中断子程序根据设定好的车轮周长计算出里程数,并将结果送达显示电路。 如果未经控制器允许传感器就传送来脉冲,则视为作弊,不予处理 [14]。 里程计数中断流程如上图 所示。 设置状态 等待 是否中断 是否作弊 累加器 +1 计算里程、价格 显示 结束 不处理 XXX。 基于单片机的出租车计价器设计 16 N 中途等待中断服务程序模块 当控制器在计价状态下时,控制器内的定时器也随之启动并将等待时间设为1 秒。 如果霍尔传感器在 1 秒 之内没有传来脉冲信号,那么就进入等待金额计算公式(中途等待价为 元 /分钟),并且将等待时间送达显示电路显示 [15]。 当霍尔传感器又重新 有脉冲信号输入时 , 表明出租车开始行驶,控制器就转到里程计价模式 ,并且记录当前等待时间。 中途等待终端服务流程图如图 所示。 图 中途等待中断服务流程图 显示程序模块 LCD1602 液晶显示器自带字符库它可以显示 16*2 个字符 , 当控制器将信息送达显示电路显示时,首先需要判忙,确定空闲后,控制器首先写入命令,对字符的位置进行设置,在对 LCD1602 设置完毕后,再写入数据,将总金额、里程、日期等信息显示出来。 液晶显示程序流程图如图 所示。 计数初始化 等待 进入中断 计数并开启等待时间 返回 Y 17 是 否 否 是 图 显示服务程序流程图 按键服务程序模块 主程序来控制整个系统的运行,设计采用键盘查询方式,主程序模块上,不断检查按键是否按下,当按下一个键,主程序转向相应的子程序处理。 按键处理流程如图。 开始 LCD 初始化 写数据 LCD 判忙 =0 写完 设置字符位置 写数据 =0 写完 显示 LCD 判忙 是 XXX。 基于单片机的出租车计价器设计 18 是 „„ 图 键盘处理流程图 开始 初始化 有键按下否 求键值 根据按键转到对应程序 键 1处理程序 键 2处理程序 键 5处理程序 否 19 第五章 系统调试 根据系统的设计方案,系统的调试分三个部分:软件调试、硬件调、软硬件联合调试 [16]。 因为系统采用了模块设计的方法,所以在调试中就显得很方便,可以对各个模块单独调试。 软件调试 仿真调试 设计中,编程软件采用了 KEIL 软件,编程语言为 C51。 调试用的软件为Proteus 软件。 打开 Proteus 软件, 建立工程,根据要求将各个元器件进行连接并命名和赋值,连接完成确认无误后保存电路图。 程序在 KEIL 软件上运行成功后,将生成的 Hex 文件下载到 Proteus 中的仿真单片机中。 运行仿真,并根据仿真结果不断对各个程序模块进行调试,直到仿真结果正确。 下图是调试成功后的出租车计价器的硬件仿真原理图 ,如图 所示。 图 硬件仿真原理图 里程计价测试 由于实验条件所限,我们使用了一个直流电动机来代替轮子,一个 3V 直流XXX。 基于单片机的出租车计价器设计 20 电源,马达速度可以达到每分钟几千转,因此适合模拟真实情况下的车轮,假设电机每转一圈车轮转动 95 厘米,大约在 100 多转后,表示行驶过 公里,这时系统就将里程数,金额等信息送达显示电路显示。 里程计价测试准确度,测试白天模式下(起步价 )总金额与里程数的理论值与实际值。 如表 所示。 表 白天测试 公里 单价 2 4 6 10 15 25 总金额 理论 18 实际 18 路程 理论 2 4 6 10 15 25 实际 2 4 6 10 15 25 晚上模式下(起步价 8元三公里)总金额与里程数的理论值与实际值。 如表。 表 晚上测试 公里 单价 2 4 6 10 15 25 总金额 理论 实际 行驶 路程 理论 2 4 6 10 15 25 实际 2 4 6 10 15 25 中途等待价格测试。 表 的内容是 在起步价为 ,等待单价为 1 元每分钟元情况下,出租车行驶 5公里后进入等待状态的测试值。 21 表 等待时间测试 时间 当前金额 1 2 4 6 8 10 总金额 理论 0 实际 0 测试数据分析: 通过以上三个表的数据,实际值与理论值的相差并不大,在允许误差范围之内,达到设计要求。 掉电存 储模块测试 表 掉电存储模块测试 如表 所示,经测试 ,掉电存储模块能够准确还原出掉电前数据,达到设计要求。 白天起步价 晚上起步价 中途等待单价 掉电前数据 重新上电后数据 XXX。 基于单片机的出租车计价器设计 22 心得体会 23 参考文献 [1]李小瑾 .出租车计价器常见作弊手段分析及防范 [J].中国新技术新产品报 ,2020,12( 145) :36~38. [2]毛世英 .如何调教出租车计价器 [J].计量与测试技术, 2020,8( 2) :20~21. [3]陈伟宏 .基于单片机的多功能出租车计价器的设计 [J].现代电子技术, 2020( 16) :16~17. [4]徐良雄 .出租车计价器的设计与分析 [J].仪器仪表 ,2020,3( 23) :61~63. [5]李学军 .基于 PIC单片机的多功能出租车计价器设计 [J], 2020,( 2) :36~38. [6]吕晶 .出租车计价器常用的作弊手段及查处方法 .计量与测试技术, (4):34 [7]怀心东 ,纪占北 .出租车计价器功能要改进 [J].企业标准化 ,2020,25( 6) :38. [8]翟敏焕 .基于单片机的出租车计价器设计 [J].现代计算机报 ,2020,1( 1) :64~67. [9]杨继生 ,刘芬 .霍尔传感器 A44E 在车轮测速中的应用研究 [J].电子测量技术 .2020,32( 10) :100~102. [10]舒涛 ,伍远超 .基于 AT89S51 单片机的出租车计价器系统设计 .现代电子技术 .2020(22):57~59. [11]窦振中 .PIC系列单片机原理和程序设计 [M].北京:北京航空航天大 学出版社 ,1998. [12]陈小忠 .单片机接口技术实用子程序 [M].北京 :人民邮电出版社, 2020. [13]赵亮 .实时时钟芯片 DS1302的应用 [J].电子制作 ,2020( 10) :37~38. [14] 叶建针 .出租车计价器防作弊技术与预防措施 [J].科技信息 •科教前沿, 2020( 19) :79~82. [15] 徐良雄 .出租车计价器的设计与分析 [J].仪器仪表 ,2020,3( 23) :61~63. [16]乔雅 ,周思浩 .出租车计价器的设计 [J].信息通信 ,2020( 2) :62. XXX。 基于单片机的出租车计价器设计 24 致谢。基于at89c52单片机的出租车计价器的设计(编辑修改稿)
相关推荐
3 根控制线,这样给使用带来很大的方便,节约单片机 I/O口。 但是市场上一块 LCD1602 的价格要 15元左右,比数码管贵很多。 方案三:功能强大、可以显示中文文字的 LCD12864 液晶显示器,其价格贵,体积大,控制比数码管稍微复杂点,但是使用也是很方便的。 在控制使用上,需要 8根数据线和 3根控制线,其余的 PSB、 RST 和 BLA直接与 VCC相连接。
弱光信号,需要光电传感器具有很高的灵敏度。 有两种光电检测器可以选择,包括光电二极管(PIN)和雪崩二极管(APD)。 PIN响应频率高,响应速度快,工作稳定。 APD灵敏度高,响应快,具有小型、不需要高压电源等优点。 而与光电二极管相比,雪崩光电二极管具有灵敏度高、速度快等优点,特别当系统带宽比较大时,能使系统的探测性能获得大的改善[4][5]。 由于信号微弱,持续时间较短
9 读忙标志或地址 0 1 BF 计数器地址 10 写数到 CGRAM 或 DDRAM) 1 0 要写的数据内容 11 从 CGRAM 或 DDRAM 读数 1 1 读出的数据内容 表 3 字符控制命令说明: 通过指令编程来实现 1602 液晶模块的读写操作、屏幕和光标的操作。 (其中 1 为高电平、 0 为低电平) 指令 1:清显示,将指令码 01H 复位到地址 00H 位置。 指令 2
加,电感储能;而当开关管关断时,电感电流减小,电感释能。 假定电流增加量大于电流减小量,则一个开关周期内电感上磁链增量为:。 此增量将产生一个平均感应电势:。 1 此电势将减小电感 电流的上升速度并同时降低电感电流的下降速度,最终将导致一个周期内电感电流平均增量为零;一个开关周期内电感上磁链增量小于零的状况也一样。 这种在稳态状况下一个周期内电感电流平均增量(磁链平均增量)为零的现象称为
测试模块搭建 micro module: 微处理器部分可以采用 ZYE1502D 实验箱上有的 AT89C51 单片机,或者编写 Testbench 实现。 为了仿真方便,在仿真时采用 Testbench 搭建。 该micro 模型给出了微处理器与 IIC接口通讯的仿真程序。 该模型能产生相应的读写信号,地址信号,并行数据信号,并能接收从器件的应答信号,来调节发送或接收数据的速度。 在这个程序中
制的相互转化。 系统设计的方案论证 单片机 的应用领域无所不至,无论是民用部门、工业部门、事业部门和家用领域等都有它的身影 ,是因为它有如下特点 : 单片机高性能低价格,它尽可能的把应用所需要的存储器、各种功能的 I/O 端口都集中在一块芯片上内。 单片机是将 CPU、数据存储器、程序存储器、各种功能的 I/O端口集成于一块芯片上 ,内部结构简单、体积小、稳定性较高。