简易出租车计价系统设计与制作


    

    简易出租车计价系统设计制作







    简易出租车计价系统设计制作

    社会高速发展伴着日常生活便捷水需求断升高日常生产活动程中舒适性越越重视社会基公设施建设提高方面求新时期关注衣食住行问题旅行中方便性舒适性越发注重诞生出租车行业价格低廉服务优质旅行中感方便舒适国世纪80年代开始出现出租车时国民济水科研力相限原计费系统国外进口仅准确性便捷性高价格非常昂贵导致出租车公司成升出租车行业发展早期收费方式发生许消费者出租车公司间强烈纠纷导致出租车发展社会发展程中需断完善计价方式收费模式够利解决消费者公司间计价发生矛盾提出出租车配置出租车计价器便定价功利展开够缓解矛盾提供优质舒服搭服务消费者着年租车服务需求越越伴出租车计价系统优化断蓬勃发展早期出现计价矛盾计价系统断完善情况缓解解决直现租车行业国城市相应发展规模普促出租车计价系统高需求中更完善发展出租车计价系统会越越发展
    年系列单片机始终出租车计价器运行处理核心处理元件出租车计价系统采单片机技术支持整系统利完成工作核心出租车计价系统软件程序设计相关电路硬件配置组合成运作程中实现出租车里程准确计费根实际情况进行相关调价计价金额显示等等功具较强灵活性较高精度良性说值探讨出租车计价系统

    关键词:单片机计费系统霍尔传感器





    Design and manufacture of simple taxi pricing system
    Abstract
    With the continuous and rapid development of our society nowadays people's living standards are also improved by the science and people would like to pay more and more attention to how to comfort all aspects of our life The construction of social basic public facilities also improves people's requirements in this respect as much as possible so in the new era people mainly focus on the problem of food clothing housing and transportation The more convenient and comfortable it is in travel the more people pay attention to it As a result the taxi industry was born Because of the low price and the high quality of service people feel convenient and comfortable in travel Taxis began to appear in China in 1980s but the level of national economy and scientific research ability were relatively limited at that time The original billing system is mostly imported from abroad not only the accuracy and convenience is not high but also the price is very expensive which leads to the increase of the cost of taxi companies However in the early stage of our taxi developing industry to a really large extent the most essential development of the taxi industry itself is limited by the dispute of how to charge the final price In order to solve this problem the best way that people put forward is to increase the pricing function of taxis and provide more highquality and comfortable services to passengers With the rise of taxi pricing system the contradiction between passengers and drivers has disappeared Nowadays the taxi industry has already developed popular in every city of our country With this popularization we can see today the taxi pricing system had already used widely Therefore the taxi pricing system will get better and better developmentIn recent years single chip microcomputer is the core of taximeter The singlechip microcomputer technology makes it the core of taxi pricing system which is composed of the corresponding software program and the corresponding hardware circuit to realize the functions of mileage billing price adjustment amount display etc with strong flexibility high accuracy and good reliability Therefore it is worth discussing the taxi pricing system
    Key words single chip microcomputersystem of billinghall sensor

    目录

    1 引言 1
    2 出租车计算价格系统设计求方案 2
    21出租车计价系统设计求 2
    22出租车计价系统功模块简述 3
    23研究容拟解决关键问题 3
    3 出租车计价系统硬件设计制作 4
    31感应电路中霍尔传感器 4
    32 AT89S51系列单片机部振荡电路 5
    33 计价系统设计核心AT89S51系列单片机 6
    34 计价程语音播报电路 8
    35 单片机复位电路配置 9
    36 电路配置中独立键电路 9
    37计价系统显示电路 10
    4 出租车计价系统软件编程设计 10
    41 计价系统程序函数语句设计 10
    42 语音播放函数设计 11
    43 计时函数设计 11
    44 计费理函数设计 11
    45显示单元电路设计 12
    5 仿真测试 12
    51 仿真软件 12
    52 硬件组装调试 13
    6 总结反思 14
    参考文献 15
    谢 辞 16
    附录1:实物图 17
    附录2:元件清单18
    附录3:电路图19
    附录4:程序完整代码20


    1 引言
    常见出租车计价器实际配置出租车智根路程进行计价仪器出租车计价器作种精确计量较价工具实际工作通准确测量出租车持续行时间长度根出租车滚轮配置里程传感器传送里程信号完成计价工作根时长测行驶距离计算搭出租车客需司机支付应车费金额
    着电子技术发展生活水稳步提高舒适度需求升仅仅衣食住行基础生活需求稳定出行基础更加重视出行程舒适度便捷程度特搭公租车程中否够满足身出行需求租车计价器技术断提高慢慢发展国世纪80年代出现出租车服务时国民济水然较低时电子仪器科研力相较薄弱时数电子计价系统设备国外进口安装出租车国外消费惯道路里程惯国差异较造成类计价仪器准确性通性特观价格非常昂贵导致出租车公司成升现出租车行业国城市发展出租车计价系统融合城市特点针性设计出十分广泛利满足普适性出租车计价系统工作核心技术发展稳步升带更舒适体验时出租车计价系统出租车行业重补充部分仅规范客司机间交易规性表现出租车司机客说必时交易变更加方便说具重价值重意义出租车计价系统思考相信出租车计价系统会着科技进步发展变更加优秀
    现滴滴出租车现流行街头行车享享济中新热点享汽车定价方法基础电表研究必少根结设计功中增加时间显示语音广播功计价系统具更机交互更显示功单片机优秀功出租车计价器实现
    司机客间交易工具出租车计价器出租车行业发展越越体现计价器出现说够实现运行程稳定良计价器计价系统客出租车司机非常需青睐租车服务根租车时长进行收费想类型常见交通方式说出租车服务收费会方式更昂贵点出租车运行早期行驶费收取方式根司机行驶路程估算报价消费者说会时时引起较争议出租车计费系统国家区保证出租车服务够利提供保障具体收费标准准国家区着样标准细求具统性国家区收费标准相区出租车种类收费标准相区种出租车收费标准会社会环境做适调整然国家区出租车收费标准差距总体说收费标准里程数作标准额外费差异找出租车计费点利出租车计费系统设计研究
    通出租车计算价格系统独立设计获该项目总体设计力目前系列单片机工艺发展类电子元件断更新程度推动出租车计价系统实现精确化准确化发展出租车计价系统发展会社会发展潮流遭摒弃着功化型化高精度化时间长方发展出租车计算价格系统会更进步发展出租车行业发展提供更力量

    2 出租车计算价格系统设计求方案
    21出租车计价系统设计求
    年出租车计价系统采单片机技术制造功越越般包括单价总距离总金额实时时间昼夜模式切换停车等收费语音广播印电子发票等动显示
    说次毕业设计单片机系统作整研发程控制器通系统实际运行程模式进行实践性分析文中根功设置明确指出阐述出租车计价器功模块实现程原理出租车计价系统运行程实际模式搭建准确行设计框架
    出租车计价系统功模块包含系统工作程复位电路时间里程检测信息存储电路单片机部晶振电路系统配置运行独立键电路单片机电源电路计价程金额显示电路单片机部时钟电路计价系统工作程指示灯时长里程信息感应霍尔传感器电路
    22出租车计价系统功模块简述
    次毕业设计单片机系统作整系统处理核心利STC89C52系列单片机具功IO功端口作系统部外部信号控制传输STC89C52系列单片机够实现计价功控制程灵活性够满足出租车计价控设计求时系统设计研发程中选择霍尔传感器作传感器电路核心元器件霍尔传感器出租车计价系统中计算实际行驶里程时系统配置相关独立控制钮电路显示电路指示灯电路完成硬件设计独立键键电路设置参数工作显示电路显示需数工作通存储电路存储信息完成整系统操作达设计求
    23研究容拟解决关键问题
    (1)显示:显示总里程数总金额行驶时间等
    (2)计费功起步公里数a公里价格b元实际运行a公里价格c元公里
    (3)次毕业设计选择STC89C52系列单片机作计价系统控制芯片选择程选择控制单片机工艺配置芯片引脚实现功
    (4)计价系统设计研发程中计价识功模块设计研究程具体功实现方式原理
    (5)控制芯片部逻辑语言编写仿真测试
    (6)整体组装调试出现障先找问题然针问题找解决方法积累验避免次犯样错误
    3 出租车计价系统硬件设计制作
    31感应电路中霍尔传感器
    次计程车计价系统设计感应电路设计中霍尔传感器种够检测识磁场细微变化功基础研发实现类磁感应传感器霍尔传感器工作程霍尔效应带电粒子够磁场中收洛伦兹力发生定程度偏转进行续原子分析作相关感应检测功工作原理类磁感应传感器体积较重量轻时灵敏度高精度高输出电压变化外部环境低完成次设计里程测量目工艺系统配置程中常霍尔传感器两种类型:种线性霍尔传感器种开关式霍尔传感器霍尔传感器次毕业设计事物搭建中作检测车轮转动圈数旋转圈数转化单片机够识相关电信号转换成电信号输入单片机进行处理完成里程测量功电路原理图图1示


    图1 霍尔传感器部电路原理图

    部磁钢运行程中霍尔传感器时候霍尔传感器会输出高电信号部磁钢原理霍尔传感器运作时候霍尔传感器会输出低电信号整运作程正弦信号运作波动分析时电路配置中加入LM393电压较器进行相关工作时霍尔元件进行输入时时电压信号输出结果高LM393电压较器设置逆变输入电压时候整模块输出结果高电低LM393逆变输入电压电时输出电低样正弦信号形成单片机方波信号识信号
    32 STC89C52系列单片机部振荡电路
    次出租车计价系统部搭建程中STC89C52系列单片机部设置具高增益反放器引脚配置中芯片引脚xtal1设置输入引脚引脚xtal2设置工艺中输出引脚通设置输出引脚输入引脚配置石英晶体振荡器两电容器连接芯片外部组成振荡电路中电容般设置33pf单位样元器件配置形成工作稳定激振荡器部结构信号两次分频操作利激振荡电路输出脉作整系统工作运行程时钟信号两次分频三次分频产生相应ale信号时够利机器需周期信号单片机部振荡单路相关接线图图2示



    图2 振荡电路

    33 计价系统设计核心STC89C52系列单片机
    STC89C52系列单片机美国ATMEL公司根电子工业发展实际需求研发类具备低耗高性CMOS8位微控制处理器STC89C52系列芯片部配置具备4KB善存flash读程序功存储器够进行系统功实现语句编程类单片机时配备ATMEL公司独高密度非易失性存储技术8051系列指令系统相关功关键实现完美兼容STC89C52系列单片机够闪存flash程序存储器部ISP传统程序语句设计通型8位微处理器功集成片芯片中电子工艺配置具极高性价
    次出租车计价系统STC89C52单片机工艺配置40功引脚铸造中数采塑料双列直插式封装40功引脚配置功图图3示外44引脚作PLCC疯转模式设定TQFP作封装方式配置芯片中40功性引脚够根功致分三类:第类4电源时钟功应引脚分VCC引脚VSS引脚XTAL1引脚XTAL2引脚第二类4控制功引脚第三类功信号输出输入引脚32P0口P1口P2口P3口组成48位输入输出端口

    图3 单片机

    次计程车计价系统STC89C52系列芯片40功引脚具体功阐述文述:
    (1)VCC引脚:连接运行程电源电压般会配置接+5V电源
    (2)GND引脚:进行运行工作中接处理 
    (3)RST引脚:作运行系统复位信号复位输入RST引脚变高电高电持续时间两机械周期时候会触发单片机部复位功启动单片机正常运作程中该复位引脚处低电般处等05V数值时WDT溢出导致脚程中输出高电通设置SFR AUXRDISRTO位(址8EH)够实现开者关闭该复位电路功DISRTO位默认RESET输出高电开状态
    (4)XTAL1引脚XTAL2引脚:XTAL1作单片机部时钟发生器相关输入端单片机部反振荡放器信号输入端XTAL2作反震荡放器输出端口系统需单片机部振荡器时配置电容外部石英晶体振荡器分连接XTAL1XTAL2间
    (5)P0端口功:P0端口8位引脚配置漏极开路双IO端口时作址数总线功调路复器P0端口作输出端口工作时端口实现8TTL逻辑门实时驱动信号1写入端口作高阻抗信号输入单片机需访问外部数存储器者部程序存储器时候组接口转换址低8位数总线配置路进行复运行访问期间激活芯片部拉电阻器flash编程程中该端口作接收程序指令字节程序验证工作中会输出指令字节验证程序程中需外配置拉电阻
    (6)P1端口功:P1端口作8位准双IO端口部配置拉电阻P1端口输出缓级够通吸收者输出电流实现4TTL逻辑门实时驱动信号1写入P1端口时通芯片部拉电阻器作够端口拉高电作输入端口P1端口作输入端口时中引脚芯片部拉电阻外部信号处理发生拉低状态电流IIL实时输出时Flash语句编程系统程序校验期间该端口持续接收较低8位址信息
    (7)P2端口功:P2端口八位准双配置IO端口带部配置拉电阻器P2端口输出脉级通吸收输出电流实现驱动4LS型TTL负载运作信号1写入P2端口时通芯片部拉电阻器运作端口输出处理高电作输入输出口P2端口作输入端口时中引脚芯片部拉电阻外部信号处理发生拉低状态电流IIL实时输出STC89C52系列单片机扩展外部储存器输入输出端口时通16位址访问外部程序相关存储器者外部数相关存储器时通P2端口发送高8位址数进行运行访问8位址位外部数存储器时P2端口整址访问程中容会发生改变时Flash语句编程系统程序校验期间该端口持续接收较低8位址信息
    (8)P3端口功:P3端口八位准双配置IO端口带部配置拉电阻器P3端口输出脉级通吸收输出电流实现驱动4LS型TTL负载运作信号1写入P3端口时通芯片部拉电阻器运作端口拉高功率作输入端口P3端口作输入端口时中引脚芯片部拉电阻外部信号处理发生拉低状态电流IIL实时输出
    (9)PSEN引脚:程序存储器调中允许输出外部程序存储器进行读操作第通信信号STC89C52单片机外部程序存储器调指令信号数时PSEN引脚机器周期实现两次效作成功输出两脉信号芯片需调访问外部数存储器时会两效PSEN输出信号低电效时片外程序存储器读选通信信号
    (10)EAVPP引脚:允许外部访问信号处理确保运作程中CPU外部程序存储器进行语句调访问EA引脚终端必须始终保持低电状态需特注意果加密位Lb1语句进行编程系统复位程期间EA端状态会部程序始终锁定进行闪存flash编程时该引脚增加+12V编程电压VPP
    34 计价程语音播报电路
    次出租车计价系统语音播报模块设计选Sc8065作语音模块核心芯片Sc8065语音芯片工作电压18V~65V间单片机工作电压5V相高次设计中语音芯片提供实际配置适工作电压芯片工作采脉宽调制方式控制音频具体输出方式该芯片具种控制方式控制方式键单片机串行控制方式
    第次开始停止键时出租车开始启动系统播放欢迎出租车谢谢广播计费设备开始收费通加速键出租车实现加速(高时速100公里时)减速键实现出租车减速操作(低时速0公里时)运行状态果开始停止键说明出租车减速达停止0公里时系统会测算计价结果进行播报您里程A公里需支付B元检查东西欢迎次见提示音复位键进入空状态
    35 单片机复位电路配置
    单片机部系统复位操作具体划分具两种效形式:种通电完成复位种钥匙复位两种电复位功外果需运作程进行复位操作需图中复位键通电源VCC电阻R1R2配置复位端产生复位高电施加操作电复位电路利接电源单片机够通外部电路中电容进行充电实现动复位复位引脚通电瞬间达高电着电容器连接充电重频脚承载高电逐步降低需重新复位引脚添加两机器周期高电MCU形成复位复位电路图4示
    36 电路配置中独立键电路
    独立键盘配置中键需配置IO端口线时键电路相位独立运作IO端口通钥匙进行接处理时配置拉电阻没键时端口高电哨位高键哨位较低果IO端口部接拉电阻外部需接拉电阻
    37计价系统显示电路
    实际设计配置程中实际电路选数码显示屏者液晶显示屏作显示电路成果展示液晶显示屏分字符型点阵型两种次计价系统LCD种带字符库功字符型LCD液晶显示板需查找代码需英文字符实现显示功液晶显示电路时果液晶屏幕发亮调整液晶相连点夹改变液晶亮度
    4 出租车计价系统软件编程设计
    41 计价系统程序函数语句设计
    程序模块配置程中需完成接口芯片功初始化出租车起步价单价金额初始化中断量实际设计功开断循环等等等程操作工作外需部启动清楚标志功寄存器计程车里程计算寄存器价格计算寄存器程序模块中进行实践配置启初始化操作根寄存器标记具体容利程序进行启动功清数里程时长计算终定价等等相关操作定价程需根里程登记表设置容进行计算进步判断车辆行驶程中否超标定起始里程果已超起始里程根里程规定公里单价预先设定起始价格计算出前车辆行驶该点累计价格实时价格保存系统部寄存器中便续累加计价累计结果发送显示电路投放显示屏中供司机客查阅达目时霍尔开关发送脉信号部计价模块停止计价价格寄存器中终结果显示前支付金额中次重新计价定价时候系统会部数进行重启清楚便整计价系统重新
    计价系统部功开始运行时功模块会语句求完成必初始化操作设备功模块分配变量完成述工作安排初始化进入计价系统工作循环模式里程实践进行反复循环检测完成功计价程程度通调整相关模块功实现整系统操作调功号优势分细化部分功号代码容易修改
    42 语音播放函数设计
    次计价系统设计搭建ISD1420系列单片机语音播报时间约8~20秒发生音色良ISD1420芯片采CMOS工艺进行配置中包括振荡器麦克风功前置放器麦克风动增益控制模块抗混叠滤波器模块滑滤波器模块扬声器驱动器模块EEPROM阵列模块功实现程中录播系统需麦克风扬声器钮电源电阻电容器够实现录播功实现完毕语音函数芯片会进入低耗模式进行机时功耗仅仅05ua
    ISD1420系列芯片工艺具十分独特录音控制功边电触发功两种回放控制方式分段情况外围电路简单根分段长度进行意分段操作时系列芯片实际情况提供种录播工作模式进提高芯片控制灵活性行性ISD1420芯片工艺采级直接模拟存储专利技术音频样直接存储该芯片单EEPROM单元中等调够播放时播出然现声音音调真实音频避免芯片播报程中记录电路量化者压缩程中产生聒噪金属音音频采样频率5364~80kHz间播放音频音质影响芯片信息保存非常长时间时EEPROM单片机数进行重复记录达10万次
    43 计时函数设计
    计时中断服务部编译程序中隔160s会产生中断累计产生60中断时会相相应显示缓单元发送时数调部子程序整操作程显示1秒
    44 计费理函数设计
    该函数设计核心根霍尔传感器单片机ATC8S51INT1口输入连续脉信号进行计数根程序转换成公里数根起步价单价昼夜模式设置计算行车成
    计价理程序函数里程计量程序函数该设计组成部分两部分分工完成设计核心计费功
    里程计算程基安装出租车车轮霍尔传感器a44e进行里程信号效监测该检测系统采两种脉发生器进行真实程仿真模拟分送入单片机部进行数处理计算继计算结果送入系统结果显示单元计价系统单片机会接收传感器脉信号进行计数脉数换算出租车实际运行里程数输入脉具体数量够通计算外部中断程序运作中中断数量计算里程计数模块采霍尔传感器实现功单片机转动车轮会脉信号变量值车轮周长相应里程数
    费计算包括三部分:起步费行费燃油附加费
    45显示单元电路设计
    次出租车计价系统分析设计中需里程数等时间形式速度计价显示单元进行效输出采8位LED数码进行相关结果分屏显示中种显示电路会8位数锁存器74hc573相关数解码器74LS1388位LED数码组成详细电路配置图6示74hc573数锁存器51系列单片机LED数码间连接STC89C52单片机P0端口八引脚LED数码AGDP引脚进行序应连接位P00设置1时相应LED数码A端开类推引脚饮LED数码分段进51单片机p20~p2274LS138ABC输入端口相连8输出端口分8数码相连进行38解码控制8数码显示
    5 仿真测试
    51 仿真软件
    次出租车计价系统设计程中Proteus软件英国Labcenter电子公司力研发EDA工具软件Proteus软件效结合目前设计程基准原理图布局混合模式SPIEC仿真程PCB版图设计元件动布线通模块仿真结合实现完整电子设备部设计分布系统Proteus产品研发发展天已囊括许功软件户够够单片机研究基础周边电子设备进行统功性仿真模拟软件户甚LEDLCD设备电子键盘RS232配置终端等等动态状态模型进行实际情况模拟设计
    Proteus系统够进行电路效设计模拟电路数字电路功运行外功特点够程序导入进行单片机功模拟仿真时够单片机外部链接设备测试仪器实现真实情况结果输出观察程序部分美国开发模拟软件KEIL进行模拟开发环境简单易懂程序编译操作方便通两仿真软件联合调试完成仿真测试
    Proteus软件功模块纳:简单易操作功非常强Isis原理图布局工具SPIEC混合模型模块SPIES仿真库ARES电路板设计功工具外够动态键盘运行系统开关钮LED甚LCD单片机部程序结合呈现出仿真模拟效果够效支持通型微控制器工作说pic控制器AVR控制器HC11控制器8051完整实现运作程中交互设备模型囊括LED显示部分LCD显示部分RS232终端处理通键盘模拟I2CSPI等等设备功运作系统配置强调调试工具包括寄存器模式存模式断点单步模式调操作开发工具源代码层层调试够通应特殊应模型选择器D11接口提供相关目录中配置元件文件
    次计价系统功元件配置系列仿真验证该设计方法够满足设计求显示单价里程总量昼夜模式实时运行时间单价起价昼夜模式通矩阵键电路手动调整模拟计算总量没误差键更改设置时没响应问题
    52 硬件组装调试
    工具螺丝刀钳子电烙铁万表测电笔钢丝钳起子
    基单片机出租车收费系统电路较复杂焊接方面应轻视焊接电路程中出现错误会功实现带便电路许交叉线焊接时必须进行焊接检查否电路断路跳线果应时进行否会续电路焊接带困难焊接芯片时优先采底座焊接然芯片安装底座进行调试样避免焊接程中芯片损坏便电路更换设计设计调试中存许问题问题:
    (1) 单价总价里程昼夜模式显示时液晶屏显示
    种解决方法:首先检查否漏焊错焊部件损坏发现没类问题然通测试发现电路驱动力足接通拉电阻解决液晶屏亮现象
    (2) 蜂鸣器响种解决方案:检查发现三极焊接存断路通焊接校正解决
    (3)选霍尔传感器实际里程计数存问题提出种解决方案:希够根实际运转情况设计车辆滚轮直径难达正常滑行情况通重写程序实现车轮转圈里程认公里问题通改变程序解决哈次修改设计象调试通设计求性测试价格数测试车轮转圈蜂鸣器响次程序中通定价公式设定起步距离然通关键电路设定余参数总量未计算错误出现错误错误实物正常显示单价总价等系列参数

    6 总结反思
    通次毕业设计完成出租车计价系统功设计语音播报功没实现该出租车计价系统够根设计初期定出预期效果实现模拟汽车效运作启动运作停止暂停工作够通液晶屏显示告诉司机客时车费金额出租车计价系统配置够配置单价输出里程单价调整根前时间系统做出计价反馈等等功时具备功出租车性构成电路线路简单造价成低时实性十分符合实际情况特点通部力程序优化处理够实现较高水智化工作然设计程中已实现设计求方出租车实际功存偏差法广泛应例硬件法连接印机印发票法等计费准确度真正出租车准确软件方面键摇动位置设计优果延迟程序写会占单片机资源影响单片机运行时间单片机空白空间运行实际工程中种问题会出现求加强程序编写力
    段时间努力基完成务书指派设计求设计容计价系统设计搭建程中整系统行性分析方案细节模拟做出量实际分析模拟结果工作时够发现通次毕业设计学理知识掌握实践动手力提升进步空间否定通次出租车计价系统设计学获益良次毕业设计学四年理研究动手实验力做出全面性融合深刻意识理实际操作存着定差距断努力学实践理知识运实践中断实践理解理知识
    通设计查阅批量文献资料书籍拓展仿真模拟电子器件领域知识面提升知识水通功单元模块设计系统功完善巩固学专业知识时刻鞭策着理知识联系实际分割重性接学工作留许宝贵验更重学会工程思想解决问题前学程中学种设计中存着许实际问题问题日常理研究中没想实际设计中发现前觉书学理知识全面面实际问题时候问题进行深入理探讨需理实践问题质解决方式进行校验次计价系统硬件设计电路相言较简单达功求逃避编程编程件非常灵活事情做改变功性会差
    部分时间放程序编辑软件设计程中许子程序课中找参考雏形启发连接子程序软件设计需攻克关键问题需熟悉单片机部工艺结构单片机外部电路设计部程序设计整系统软硬结合两者密分出租车计价系统学设计程中发现单片机学错误
    设计意识研发程具备研究完整思路严谨实际情况进行科学分析寻求行解决问题程理念重精准秉承科学研究态度基生产活动研发出产品更加鞭策理知识应需学中进步提高











    参考文献
    [1]李全利单片机原理口技术 高等教育出版社2010
    [2]郭天祥51单片机C语言教程 电子工业出版2011
    [3]陈景初单片机应系统设计实践[M] 北京航空航天学出版社2006
    [4]王法单片机原理应 科学出版社2004
    [5]李广弟朱月秀王秀山单片机基础[M] 北京航空航天学出版社2004
    [6]陈正振电子电路设计制作 广西交通职业技术学院信息工程系2007
    [7]杨子文单片机原理应 西安电子科技学出版社2006
    [8]余永权 ATMEL 89系列单片机应技术[M] 北京:北京航空航天出版社2003
    [9]赵晓安MCS51 单片机原理应[M]天津天津学出版社2001
































    附录1:实物图












    附录2:元件清单
    名称
    规格
    数量
    备注
    电阻
    10K电位器
    1

    10K
    5

    电容
    22pF
    2

    10μF
    2
    极性电容
    红外

    1



    7

    电机驱动

    1

    直流电机

    1

    晶振
    110592MHz
    1





    芯片
    STC89C52
    1块




    1602液晶

    1块
    带字符库













    附录3:电路原理图























    附录4:程序完整代码
    #include 1602h
    #include controlh
    #include motorh

    #define PERIMETER 1 轮子周长米
    #define PRICE 1 价格
    #define ROUND_PULSE 12 圈脉数
    #define START_PRICE 10 起步价

    sbit KEY_MOTOR_SELECT P3^4 电机转动停止选择键
    sbit KEY_ISBOARD_SELECT P3^5 车选择键


    bit flag_isboard 0车标志位默认车
    unsigned char flag_get_on 0 已车标志位

    unsigned long mileage 0 例程数
    unsigned long total_price 0 总价格
    unsigned char start_time_sec 0stop_time_sec 0start_time_min 0stop_time_min 0

    键处理
    void key_handle(void)
    {
    if(KEY_ISBOARD_SELECT 0)
    {
    delay_10ms(1) 延时10ms左右抖动
    if(KEY_ISBOARD_SELECT 0)
    {
    flag_isboard ~flag_isboard
    if(flag_isboard)
    {
    flag_get_on 1
    pulse_count 0 脉数清零
    mileage 0 车清前里程数价格
    total_price 0
    start_time_sec 0
    start_time_min 0
    stop_time_sec 0
    stop_time_min 0
    enable(0x01)
    }
    }
    while(KEY_ISBOARD_SELECT) 等键松手
    }
    }

    LCD1602显示处理
    void lcd1602_handle(void)
    {
    if(flag_isboard)
    {
    L1602_string(213 up )
    }
    else
    {
    L1602_string(213down)
    }
    L1602_string(21M)
    L1602_int(2 3mileage)
    L1602_string(2 7P)
    L1602_int(2 9total_price)

    if(flag_get_on 1 ) 车显示时间
    {

    L1602_int(1 5start_time_sec) 次时间1分钟显示秒
    L1602_string(1 8S)
    if(start_time_min > 0)
    {
    L1602_int1(1 1start_time_min)次时间1分钟显示分钟
    L1602_string(1 4M)
    }

    L1602_int(1 13stop_time_sec)
    L1602_string(1 16S)
    if(stop_time_min > 0)
    {
    L1602_int1(1 10stop_time_min)
    L1602_string(1 13M)
    }
    }
    }

    void taximeter_handle(void)
    {
    if(flag_get_on 1 ) 车电机启动
    {
    if(KEY_MOTOR_SELECT 0)
    {
    motor_handle(FWD) 车电机转动
    if(flag_1s 1)
    {
    flag_1s 0
    start_time_sec++
    if(start_time_sec 60)
    {
    start_time_sec 0
    start_time_min++
    }
    }
    }
    else
    {
    if(flag_1s 1)
    {
    flag_1s 0
    stop_time_sec++
    if(stop_time_sec 60)
    {
    stop_time_sec 0
    stop_time_min++
    }
    }
    motor_handle(STOP) 车电机停止
    }
    }
    if(flag_get_on 1 ) 已车开始计算里程数
    {
    mileage (pulse_countROUND_PULSE)*PERIMETER 里程数
    }

    if(flag_get_on 1 && flag_isboard 0) 已车车
    {
    flag_get_on 0
    total_price START_PRICE+(mileage*PRICE)+(stop_time_min10) 总价格
    }
    else
    {
    }
    }
    ********************************************************************
    * 名称 Main()
    * 功 函数
    ***********************************************************************
    void main()
    {
    int0_init()
    timer0_init()
    lcd1602_init()

    ET0 1
    EA 1

    while(1)
    {
    key_handle() 键处理
    lcd1602_handle() 显示处理
    taximeter_handle() 出租车计价器处理
    }
    }

    ********************************************************************
    * 名称 delay()
    * 功 延时延时时间概140US
    * 输入
    * 输出
    ***********************************************************************

    void delay()
    {
    int ij
    for(i0 i<10 i++)
    for(j0 j<2 j++)

    }

    ********************************************************************
    * 名称 Convert(uchar In_Date)
    * 功 电路设计时P00P07接法刚资料中相反设计该函数
    * 输入 1602资料值
    * 输出 送1602值
    ***********************************************************************
    uchar Convert(uchar In_Date)
    {

    uchar i Out_Date 0 temp 0
    for(i0 i<8 i++)
    {
    temp (In_Date >> i) & 0x01
    Out_Date | (temp << (7 i))
    }

    return Out_Date

    return In_Date

    }
    ********************************************************************
    * 名称 enable(uchar del)
    * 功 1602命令函数
    * 输入 输入命令值
    * 输出
    ***********************************************************************

    void enable(uchar del)
    {
    RS 0
    RW 0
    LCD_DATA Convert(del)
    E 1
    delay()
    E 0
    delay()
    }

    ********************************************************************
    * 名称 write(uchar del)
    * 功 1602写数函数
    * 输入 需写入1602数
    * 输出
    ***********************************************************************

    void write(uchar del)
    {
    RS 1
    RW 0
    LCD_DATA Convert(del)
    E 1
    delay()
    E 0
    delay()
    }

    ********************************************************************
    * 名称 L1602_init()
    * 功 1602初始化请参考1602资料
    * 输入
    * 输出
    ***********************************************************************
    void lcd1602_init(void)
    {
    enable(0x38)
    enable(0x0c)
    enable(0x06)
    enable(0x01)
    enable(0xd0)
    }

    ********************************************************************
    * 名称 L1602_char(uchar hanguchar liechar sign)
    * 功 改变液晶中某位值果第行第五字符显示b 调该函数
    L1602_char(15'b')
    * 输入 行列需输入1602数
    * 输出
    ***********************************************************************
    void L1602_char(uchar hanguchar liechar sign)
    {
    uchar a
    if(hang 1) a 0x80
    if(hang 2) a 0xc0
    a a + lie 1
    enable(a)
    write(sign)
    }

    ********************************************************************
    * 名称 L1602_string(uchar hanguchar lieuchar *p)
    * 功 改变液晶中某位值果第行第五字符开始显示ab cd ef 调该函数
    L1602_string(15ab cd ef)
    * 输入 行列需输入1602数
    * 输出
    ***********************************************************************
    void L1602_string(uchar hanguchar lieuchar *p)
    {
    uchar a
    if(hang 1) a 0x80
    if(hang 2) a 0xc0
    a a + lie 1
    enable(a)
    while(1)
    {
    if(*p '\0') break
    write(*p)
    p++
    }
    }

    显示整型温湿度数占4位中位符号位
    void L1602_int(uchar hang uchar lie int num)
    {
    uint temp
    uint geweishiweibaiweisign
    if (num > 0)
    {
    sign 0
    }
    else
    {
    sign 1
    }
    temp abs(num)
    baiwei temp 100
    temp temp baiwei*100
    shiwei temp 10
    gewei temp shiwei*10
    num abs(num)
    if (num>100)
    {
    if (sign 1) 负数
    {
    L1602_char(hang lie '')
    }
    L1602_char(hang lie baiwei+48)
    L1602_char(hang lie+1 shiwei+48)
    L1602_char(hang lie+2 gewei+48)
    }
    else if (num>10)
    {
    if (sign 1)
    {
    L1602_char(hang lie+1 '')
    }
    L1602_char(hang lie ' ')
    L1602_char(hang lie+1 shiwei+48)
    L1602_char(hang lie+2 gewei+48)

    }
    else
    {
    if (sign 1)
    {
    L1602_char(hang lie+2 '')
    }
    L1602_char(hang lie ' ')
    L1602_char(hang lie+1 ' ')
    L1602_char(hang lie+2 gewei+48)

    }
    }

    显示整型温湿度数占4位中位符号位
    void L1602_int1(uchar hang uchar lie int num)
    {
    uint temp
    uint geweishiweibaiweisign
    if (num > 0)
    {
    sign 0
    }
    else
    {
    sign 1
    }
    temp abs(num)
    baiwei temp 100
    temp temp baiwei*100
    shiwei temp 10
    gewei temp shiwei*10
    num abs(num)
    if (num>100)
    {
    if (sign 1) 负数
    {
    L1602_char(hang lie '')
    }
    L1602_char(hang lie baiwei+48)
    L1602_char(hang lie+1 shiwei+48)
    L1602_char(hang lie+2 gewei+48)
    }
    else if (num>10)
    {
    if (sign 1)
    {
    L1602_char(hang lie+1 '')
    }
    L1602_char(hang lie ' ')
    L1602_char(hang lie+1 shiwei+48)
    L1602_char(hang lie+2 gewei+48)

    }
    else
    {
    if (sign 1)
    {
    L1602_char(hang lie+2 '')
    }
    L1602_char(hang lie ' ')
    L1602_char(hang lie+1 ' ')
    L1602_char(hang lie+2 gewei+48)

    }
    }
    unsigned long pulse_count 0 脉数
    bit flag_1s 0

    *************************延时程序*********************
    void delay_10ms(unsigned int T1)
    {
    unsigned int t1t2

    for(t10t1 for(t20t2<1250t2++)10ms
    }

    *******************定时器0初始化程序******************
    void timer0_init(void) 中没ET0控制暂停
    {
    TMOD | 0X01 定时方式1
    TH0 0X3C 50ms
    TL0 0XB0
    TR0 1 开启定时器0
    }

    *******************定时器0中断程序********************
    void Timer0(void) interrupt 1
    {
    static unsigned int count_50ms 0count_1s 0
    TH0 0X3C 重装定时器值
    TL0 0XB0

    count_50ms++

    if(count_50ms 20) 1s
    {
    count_50ms 0
    count_1s++
    flag_1s 1
    }
    }

    ********************中断初始化程序********************
    void int0_init(void)
    {
    IT0 1 1:触发 0:低电触发
    EX0 1 允许外部中断0中断

    }
    **************外部中断0程序运行者暂停*************
    void int0(void) interrupt 0
    {
    pulse_count++
    }

    void motor_handle(unsigned char state)
    {
    switch(state)
    {
    case FWDPIN_MOTOR_A 1PIN_MOTOR_B 0break
    case REVPIN_MOTOR_A 0PIN_MOTOR_B 1break
    case STOP PIN_MOTOR_A 0PIN_MOTOR_B 0break
    defaultbreak
    }
    }



    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 62 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    出租车计价器的设计与实现毕业设计

         本科生毕业设计 题 目: 出租车计价器的设计...

    5年前   
    1006    0

    出租车计价器毕业设计论文

     编号 XX职业技术学院 毕业论文 题 目 多功能出租车计价器 学生姓名 学...

    5年前   
    1074    0

    eda课程设计vhdl语言的简易出租车计费器设计

    XX 学 院《EDA技术》课 程 设 计 题 目 简易出租车计费器设计 系 (部) 信息工程系 班 级 电本班 ...

    3年前   
    541    0

    基于单片机的出租车计价器设计(附源程序)

    基于单片机的出租车计价器设计(附源程序)摘 要本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。复位电路是单片机的初始化操作,除了正常的初始化外...

    2年前   
    281    0

    上海市出租车计价器管理规定

    上海市出租车计价器管理规定第一条(目的和依据)为了加强对本市出租汽车计价器(以下简称计价器)的管理,保障经营者、从业人员和乘客的合法权益,根据《中华人民共和国计量法》、《上海市计量监督管理条例...

    2年前   
    533    0

    简易沙盘制作讲稿

    各位首长、战友们。大家好,上课之前首先向大家汇报本课程的教学设计。课目:简易沙盘堆置。目的:通过学习,使同志们了解简易沙盘的基础理论,掌握制作简易沙盘的一般程序以及堆制简易沙盘的相关技巧。

    6年前   
    3311    0

    出租车自动计费系统课程设计

    课 程 设 计课 程 EDA技术课程设计 题 目 出租车自动计费系统 院 系 电子科学学院 ...

    3年前   
    416    0

    ARM课程设计报告简易计算器设计

    评阅教师评语:课程设计成绩考勤成绩实做成绩报告成绩总评成绩指导教师签名:《嵌入式系统》课 程 设 计 报 告论文题目: 简易计算器设计 学院(系): 电子信...

    1年前   
    404    0

    1-教学设计价值的创造与实现

    ?价值的创造与实现?教学设计山东省北镇中学 李炳慧【设计理念】新课程教学改革倡导的理念是生活性、开展性、生命性。针对高二学生思想活动的独立性、选择性、多变性、可塑性等特点,在尊重学生个性差异和...

    2年前   
    667    0

    基于STM32F103ZE的出租车计价器毕业论文

    基于STM32F103ZE的出租车计价器毕业论文 摘 要 本设计以STM32F103ZE为控制核心处理器,实现了矩阵键盘输入、五方向控制手柄信息输入、中文LCD显示、8位数码管显示屏显...

    5年前   
    1406    0

    基于QuartusII的出租车计费系统

    基于QuartusII的出租车计费系统目 录目 录 I1引言 12 Quartus II介绍 13出租车计价器设计 2出租车计价器的设计原理 3各模块功能模块设计 33.2.1分频模块 3...

    3年前   
    696    0

    设计制作合同

    依据《中华人民共和国合同法》和有关法规的规定,乙方接受甲方的委托,就委托设计 事项,双方经协商一致,签订本合同,信守执行:

    5年前   
    1654    0

    基于单片机的汽车倒车防撞系统的设计与制作

    题 目:基于单片机的汽车倒车防撞系统的设计与制作毕业设计说明书(论文)中文摘要 随着社会经济的发展和交通运输业的不断兴旺,汽车的数量在不断的增加。交通拥挤状况也日益严重,撞车事件也...

    3年前   
    558    0

    JSP开发技术实验3简易选课系统

    课程实验报告课程名称JSP开发技术班级软件实验日期2016姓名 学号实验成绩实验名称实验3 简易选课系统实验目的及要求学习使用Myeclipse开发Web项目,综合使用JavaBean、...

    3年前   
    751    0

    应用系统制作合同

    应用系统制作合同  甲方:_____________  乙方:_____________  甲方委托乙方制作_____________购物网站_____________一案,乙方已完成事项之委...

    10年前   
    585    0

    定额计价与清单计价既有区别

    定额计价与清单计价既有区别又有共性,下面就详细介绍一下两者之间的联系和区别。

    5年前   
    1354    0

    活动一 设计制作请柬教学设计

    活动一 设计制作请柬 教学设计 (一) 设计思路 义务教育课程标准实验教科书《美术》七年级下册第四单元“校园艺术节”中“设计制作请柬”属于“综合·探索”学习领域。请柬,俗称请贴,是邀请客...

    5年前   
    1331    0

    网页设计与制作(毕业设计论文)

    随着计算机技术和通信技术的飞速发展,信息化的浪潮席卷全球,互联网成为人们快速获取、发布和传递信息的重要渠道。作为占有全社会大约80%信息的政府,如何将海量的信息提供给有需求者,并且能够保证24小...

    5年前   
    1662    0

    设计制作印刷品设计合同

    依据《中华人民共和国合同法》和有关法规的规定,乙方接受甲方的委托,就委托设计事项,双方经协商一致,签订本合同,信守执行:

    8个月前   
    300    0

    网页设计制作合同

    网页设计制作合同  根据国家知识产权及网络管理的有关规定,_________________ (以下简称甲方)委托_____________________(以下简称乙方)为甲方筹建inter...

    10年前   
    738    0

    文档贡献者

    平***苏

    贡献于2023-06-24

    下载需要 62 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档