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


    


     

     


    科生毕业设计


    题 目:
    出租车计价器设计实现
    作 者:

    学 号:

    属学院:
    信息科学工程学院
    专业年级:
    电子信息工程
    指导教师:

    职 称:
    讲师
    完成时间:
    20XX年 X月X日


    XX学教务处制
    目 录
    摘 I
    Abstract II
    第1章 绪 1
    11 课题研究背景 2
    12 出租车计价器发展意义 3
    13 项目设计目标求 4
    14 文组织结构 4
    第2章 系统工作原理 5
    21 功求 5
    22 基原理 5
    第3章 硬件设计 7
    31 振荡电路 7
    32 复位电路设计 7
    33 键盘接口电路 8
    34 显示电路 8
    35 单片机引脚功说明 10
    第4章 软件设计 13
    41 单片机资源 13
    42 单片机软件模块设计 13
    43 总程序流程框图 16
    第5章 系统调试 17
    51 软件测试 17
    52 系统仿真原理图PCB板 18
    53 硬件电路 18
    结 21
    参考文献 22
    附 录A 系统原理图 23
    附 录B 系统仿真图PCB板 23
    附 录C 系统源程序 25



    出租车计价器设计实现

    着城市交通建设日益加快出租车行业正加速发展动计价器起着忽略作
    系统基单片机STC89C52出租车动计价器复位电路时钟电路键盘电路组成复位电路完成单片机初始化操作时钟电路采12MHz晶振作系统时钟源键盘电路调节单片机项数
    通电时字符型液晶显示屏1602显示初起步价里程计费等时间计费等键调节项收费价格通键模拟出租车运行暂停停止显示屏显示运行时间运行时暂停时间出总费总路程
    关键词:STC89C521602计价器
    Design and Implementation of Taxi Meter
    Abstract
    With the urban transport construction is accelerating the taxi industry is accelerating development Automatic meter plays a role that can not be ignored
    The system is a taxi based on the STC89C52 taxi automatic meter by the reset circuit the clock circuit the keyboard circuit Reset circuit to complete the initial operation of the microcontroller Clock circuit using 12MHz crystal as the system clock source Keyboard circuit can adjust the microcontroller data
    In the power when the character LCD 1602 shows the initial starting price mileage billing waiting time billing press the button to adjust the starting price daytime price the price at night Through the button to simulate the taxi operation pause stop On the display you can display the time of the run the time when the operation is paused resulting in total cost and total distance
    KEY WORDS STC89C521602Meter





    第1章 绪
    11 课题研究背景
    出租车行业座陌生城市认识座城市第扇窗已逐步成衡量城市否具备国际化市现代标准心理标准标志出租车行业迅速发展中会产生问题[1]出租司机服务规范营理少漏洞出租司机客漫天价现象频繁显现通安装出租车计价器出租公司硬性规定出租司机必须计价器收费样仅维护客合法利益提高出租车服务质量进步规范出租车服务起表率作
    出租车刚发展初世纪七十年代时候出租车计费系统部分国外进口计费系统非价格昂贵计价准确产生国产计价器时候出租车计价器显示路程需出租车司机定价计算结果四舍五入方法显示出种计价器误差容易引起客出租车司机矛盾发展成够计费出租车计价器现方城市化步步加快出租车作城市面貌象征肯定会着城市化推进发展现出租车已普计价器优良合理出租车计价器未计价器市场非常潜力
    现计算机系统已明显超巨型化单片化网络化三方发展[2]巨型化发展目断提高计算机运算速度处理力解决复杂系统计算高速数处理系统仿真模拟实时运算处理单片化计算机系统集成块半导体芯片目计算机微型化提高系统性种单片计算简称单片机单片机部硬件结构指令系统针动控制应设计单片机称微控制器MCU(Micro Controller Unit)容易计算机嵌入种仪器现场控制设备中单片机做嵌入式微控制器(Embedded MCU)单片机20世纪70年代问世鲜明特点迅猛发展已广泛应家电器智玩具智仪器仪表工业控制航空航天等领域40年左右发展性断提高品种断丰富已形成动控制支中坚力量
    现单片机运非常广泛计算机外部设备智化仪表仪器家中电器产品工业控制领域尤机电体化产品中着非常重途方面[3]
    ● 显示:单片机LED数码显示屏者LCD液晶显示屏连接单片机控制显示屏显示字符图形
    ● 机电控制:单片机机电产品连接控制做定动作者定时动作
    ● 监测:单片机传感器连接通两器件相互工作检测工况产品
    ● 通信:通单片机IO口传输信号数
    ● 科学计算:单片机程序中设计程序进行简单计算
    根单片机种种特点途设计基单片机出租车计价器基单片机系统设计出租车计价器单片机作核心控制元件采灵敏霍尔开关型相前集成电路式计价器具功强性电路简单成低等特点加优化程序具高智化水
    12 出租车计价器发展意义
    步入21世纪出租车已广泛出现周围着生活水断提高出租车频率越越高出租车行业优质服务带享受旅行行业特殊性出租车行业总存买卖争议困扰着行业发展解决出租车行业矛盾方法改良计价器客提供更加便捷高效服务[4]
    30年前国出现出租车时济水出租车没普遍生活中出现着改革开放深入出租车行业发展势头已十分突出出租车国交通运输中承担着重角色出租车计价器出租车必少重仪器负责出租车营运收费专智化仪表着城市旅游业发展出租车行业已成城市窗口象征着城市文明程度
    知道出租车开动着行驶里程增加会汽车前面计价器里程数字显示读数零逐渐增行驶某值时(5KM)计费数字显示开始起步价(8元)增加出租车达某需里等候时司机计时键等候定时间计费显示增加该收等候费汽车继续行驶时停止计算等候费继续增加里程计费达目便显示数字收费
    采模拟电路数字电路[5]设计计价器整体电路规模较器件造成障率高难调试模式转变需机械开关机械开关时间久会造成接触良功难实现采单片机进行设计相说功强较少硬件适软件相互配合容易实现设计求灵活性非常强软件编程完成较附加功


    13 项目设计目标求
    利AT89C52单片机设计简单出租车计价器中外围功电路[6]:驱动电路键控制电路时钟部分数码显示电路等通功设计制作出出租车计价器应具功:电时显示全零通启动键开始计价显示屏开始显示起步价里程数显示屏开始显示走里程应付金额逐渐增加档位键里程数加速提高时金额金额加速增长停止键停止计价数码显示走总里程户需付总金额清零键显示屏全显示零备次计价
    14 文组织结构
    文分目录中英文摘绪系统工作原理硬件设计软件设计系统调试结语参考文献附录部分
    文分5章组织结构
    1) 第1章介绍课题背景意义介绍出租车计价器发展现状文设计目标求
    2) 第 2 章介绍系统工作原理中包括功求基原理
    3) 第3章讲述出租车计价器硬件设计中包括振荡电路复位电路设计键盘接口电路显示电路单片机引脚功说明
    4) 第4章介绍出租车计价器软件设计详细说明次设计种程序模块
    5) 第 5 章项目调试中包括软件测试系统仿真原理图硬件电路
    部分文总结参考文献附录部分设计心项目足处











    第2章 系统工作原理
    21 功求
    出租车计价器根客坐汽车行驶距离等候时间少计价行驶程中步[7]显示次消费运行里程运行单价等时间等信息起步开始起果汽车行驶里程没满3公里时切起步价计算超3公里实现1公里单价收费遇中间暂停时计程数量增加开始计时收取费计程收费计时收费构成位客车费时白天夜晚价格进行切换白天单价夜晚单价等单价起步价格通独立键盘进行调节(默认起步价5元3公里里程单价白天18元公里夜晚22元公里等计时三分钟收费白天等计时单价05元1分钟晚等计时单价1元1分钟)
    提高计时计价精度确保客消费知情权出租车计价器应做里程数精确01公里时减少司机朋友回调整单价停车需重设单价麻烦计价器应具掉电保持功[8]重启维持原数值(包括总金额等时间行驶里程单价)变直强制清零键计价器显示起步价(刚起步时应总金额)运行单价次计价做准备
    22 基原理
    计价器系统五部分组成:分基谐振荡发生器里程检测单元STC89C52单片机外扩串行EEPROMAT24C02独立键盘LED显示
    振荡发生器[9]检测汽车行里程数出租车车轮旋转周谐振荡发生器便产生相应脉输出该脉交单片机进行处理单片机根程序设定通计算脉数换算出已行驶里程(里程脉数*出租车车轮周长)然根EEPROMAT24C02中读取单价等相关数进行总消费金额计算:里程3公里时总金额起步价+等时间*等单价里程3公里时总金额起步价+(里程3)*运行单价+等时间*等单价计算金额等时间里程单价等数信息实时显示数码中等时间根谐振荡发生器否脉输出加判断[10]设定等时基5s假键5s脉输出便认进入等时间单片STC89C52部计时器进行计时
    独立键盘调整单价等相关数某键会单片机相应端口低电信号单片机会通循环扫描检测信号根预先设置程序做出相应处理调整数存储EEPROM中掉电该数丢失次电直接EEPROMAT24C02中读单片机通显示屏实时显示[11]系统结构图图1示

    图1 系统结构图










    第3章 硬件设计
    31 振荡电路
    单片机部高增益反相放器输入端芯片引脚XTAL1输出端引脚XTAL2通两引脚芯片外接石英晶体振荡器两电容(电容般取20PF)样构成稳定激振荡器振荡电路脉二分频作系统时钟信号二分频基础三分频产生ALE信号时信号时机器周期信号振荡电路图2示


    图2 振荡电路

    32 复位电路设计
    复位电路操作两种基形式:种电复位外种键复位键复位具电复位功外复位住图中RESET键电源VCC通电阻R1R2进行分压RESET端够产生复位高电电源接通电复位电路通外部电容充电实现单片机动复位操作接电源瞬间RESET引脚获高电伴着电容充电RERST引脚高电逐渐降RERST引脚高电果保持足够时间(2机器周期)单片机便进行复位操作键复位电路图图3示

    图3 复位电路
    33 键盘接口电路
    独立式键盘:独立式键盘中键占根IO口线键电路相独立IO口通键相连IO口拉电阻键时引脚端高电键时引脚电拉低IO口部拉电阻时外部接拉电阻键盘接口电路图4示

    图4 键盘接口电路


    34 显示电路
    1602LCD显示分带背光带背光两类基控制器绝部分HD44780带背光带背光相带背光带背光厚两者应中什差两者尺寸差图5示

    图5 LM016L结构图
    LCD1602技术参数: 
    容量16×2字符
    芯片工作电压45—55V
    工作电流20mA(50V)
    模块佳工作电压50V
    字符尺寸295×435(W×H)mm
    引脚功说明:
    1602LCD采标准14脚(背光)16脚(带背光)接口引脚接口说明表1示
    表1引脚接口说明表
    编号
    符号
    引脚说明
    编号
    符号
    引脚说明
    1
    VSS
    电源
    9
    D2

    2
    VDD
    电源正极
    10
    D3

    3
    VL
    液晶显示偏压
    11
    D4

    4
    RS
    数命令选择
    12
    D5

    5
    RW
    读写选择
    13
    D6

    6
    E
    信号
    14
    D7

    7
    D0

    15
    BLA
    背光源正极
    8
    D1

    16
    BLK
    背光源负极
    第1脚:VSS电源
    第2脚:VDD接5V正电源
    第3脚:VL液晶显示器度调整端度弱时接正电源度高时接度果高会模糊清通10K电位器调整度
    第4脚:RS寄存器选择高电时选择数寄存器低电时会选择指令寄存器
    第5脚:RW读写信号线读操作时高电写操作时低电RSRW低电时写入指令者显示址RS低电RW高电读入信号RS高电RW低电写入数
    第6脚:E端端E端高电跳变低电时液晶模块会执行命令
    第7~14脚:D0~D78位双数线
    第15脚:背光源正极
    第16脚:背光源负极
    显示模块采1602液晶显示电路图6示

    图6 1602液晶显示电路

    35 单片机引脚功说明
    面STC89C52引脚功进行较详细介绍:
    (1)电源引脚VccVss
    Vcc(40脚):电源端+5V Vss(20脚):接端
    (2)时钟电路引脚XTAL1XTAL2
    XTAL2(18脚):接微调电容外部晶体端单片机部成振荡电路反放器输出端振荡电路频率变成晶体固频率果需外部时针电路时该引脚够输入外时钟脉检查STC89C52振荡电路否正常工作示波器观察查XTAL2端否会具脉信号输出
    XTAL1(19脚):改引脚接外部晶体微调电容端片振荡电路反放器输入端该引脚接时必须外部时钟
    (3) 控制信号脚 RST ALE PSEN EA
    RST(9脚):RST复位信号输入端高电时效输入两机器周期(24时钟振荡周期)保持高电时完成复位操作
    ALEPROG(30引脚):址锁存允许信号端[9]STC89C52正常电工作ALE引脚外断输出正脉信号频率振荡器频率fosc16CPU开始访问片外存储器时锁存低8位址控制信号变ALE输出信号CPU访问片外数存储时取值次(机器周期)会丢失脉通常存取片外存储器ALE端16振荡频率固定输出正脉ALE信号作外部输出时钟定时信号果STC89C52芯片坏示波器ALE端子脉信号否输出果脉信号输出STC89C52基ALE负载驱动力8LS型TTL(低功耗高速TTL)
    PSEN(29脚)程序存储允许输出信号引脚访问片外程序存储器时输出负脉作读存储器选通信号引脚接ERROMOE端PSEN端效允许读出ERROMROM中指令码外部ERROM ROM进行指令取出期间CPU周期处活动状态 然访问片外RAM时会产生较少PSEN负脉信号两次检查STC89C52型系统电源CPU正常读取脚ERROM ROM示波器PSEN端子脉输出果说明基工作正常
    EAVPP(31脚):外部程序存储器址允许输入端固化编程电压输入端EA引脚接高电时CPU会访问片ERROMROM会执行部程序存储器中指令PC(程序计数器)值超OFFFH(875180514k)时动转执行片外存储器程序出入信号EA引脚接低电(接)时CPU访问外部ERROMROM执行外部程序存储器中指令否片程序存储器芯片ROM80318032须外扩ERROM时必须EA引脚接果片ROMSTC89C52外扩ERROMEA接
    (4)IO(输入输出端口P0P1P2P3)
    P0口:P0口漏极开路8位准双IO端口
    P1口:8位准双IO端口
    P2口:做址总线输出址高8位做普通IO(时准双口)
    P3口:双功口做普通IO口(时准口位定义实现第二功操作)见表2

    表2 P3口第二功表
    引脚
    第二功
    P30
    RXD (串行输入口)
    P31
    TXD (串行输出口)
    P32
    INT0(外部中断0)
    P33
    INT1(外部中断1)
    P34
    T0(定时器0外部中断)
    P35
    T1(定时器1外部中断)
    P36
    WR(外部存储器写选通)
    P37
    RD(外部存储器读写通)










    第4章 软件设计
    41 单片机资源
    次设计中电路键盘P2口中P20P25口作键盘输
    入显示电路P1P3口P1口液晶数口

    42 单片机软件模块设计
    421 中断子函数
    单片机中断程序定时器计数满产生50ms中断次总20次秒钟加1秒钟计满会分钟加分钟变成99时候会全部清零中断子函数流程图图7示

    图7 中断子程序流程图
    422 判断子函数
    独立式键盘判键中首先否键键话会延时会判断否真会键果真会键判键释放会执行键功程序判键子函数流程框图图8示


    图8 判键子程序流程图


    423 显示子程序
    1602液晶字符型液晶部带字符库写两行字符时行写40字符写显示程序时候先写命令设定字符显示写数写次命令数需判断液晶否忙液晶显示程序流程图图9示


    图9 显示子程序流程图

    43 总程序流程框图
    整体程序流程框图图10示

    图10 整体程序流程框图
    第5章 系统调试
    51 软件测试
    511 protues简介
    ProtuesISIS款Labcenter出产电路仿真系统仿真IC种电路[12]支持单片机仿真元件库齐全方便学生说非常实单片机软件仿真系统
    该软件特点:
    (1)符合单片机软件仿真系统标准[13]类产品中具明显优势
    (2)仅进行键盘LCD系统仿真SPI调试器IC调试器RS232动态仿真单片机系统仿真数字模拟电路等等仿真信号发生器示波器逻辑分析仪等种虚拟仪器
    (3)前支持单品机类型:68000系列8051系列AVR系列PIC12系列PIC16系列PIC18系列Z80系列HC11系列种外围芯片
    (4)支持外围芯片存储器时仿真
    总Protues软件款功强集SPICE分析单片机体单片机仿真软件仿真51AVRPIC

    512 Keil C51简介
    Keil C51编译程序软件单片机C语言编译工具
    Keil C51集成开发环境功点:
    RTX51实时操作系统:实时应软件项目设计变简化
    C5交叉编译器:C源代码中产生目标模块目标模块重定位
    LIB51库理器:目标模块中生成库文件库文件连接器
    BL51链接器定位器:通组合目标模块生成绝目标模块
    A51宏汇编器:89C51汇编源代码中产生重定位目标模块
    HEX格式转换器:输出Hex文件
    µVision4 for Windows:集成开发环境项目理程序调试源代码编辑等组合功强环境中
    µVision4支持Keil 89C51工具软件中包括C51宏汇编器编译器链接器定位器目标文件HEX格式转换器µVision4动完成编译汇编链接程序等基操作编译进行模拟仿真调试清楚显示出变量变化
    52 系统仿真原理图
    设计软件 Keil μVision4进行编写编译调试运行操作  
    单片机仿真软件线调试—PROTEUS:
    1开Proteus软件 
    2选择file菜单 open design选项找需元器件元器件单击右键选中单击左键进行命名赋值接着编辑器左边栏中找出绘制设计种元器件电路图连接保存  
    3keil编译产生hex文件载单片机中:双击51单片机话框中保存hex文件开单击确定
    4单击左角运行钮进行软件仿真调试直出现正确结果 
    图11示通Keil C中编译通生成Hex文件PROTEUS中仿真通系统原理图


    图11 系统仿真原理图

    53 硬件电路
    531 电路元件检测
    焊接电路前首先进行元器件检测检测测出元器件型号数码检测显示电路中已介绍识电阻时根环数量级色码表判断电阻阻值排阻电阻集中封装起组合制成排阻具装配方便安装密度高等优点常排阻A型B型A型排阻引脚总奇数左端公端(白色圆点表示)常见排阻478电阻引脚589B型排阻引脚总偶数没公端常见排阻4电阻引脚8排阻阻值读法103表示10kΩ510表示51Ω类推集成芯片检测根脚图识引脚方便焊接

    532 PCB印刷电路板
    电路板焊接方便次电路板采印刷电路板完成务首先protel99完成PCB原理图原理图12


    图12 PCB原理图



    533 PCB印刷电路板
    设计程中硬件检测软件测试忽略系统仿真程中元件理想设计实际电路时需方面考虑先元件进行检测然进行调试例果设计中加驱动仿真软件中然正常计价具体硬件焊接时需考虑电路驱动力
    已焊接电路板元器件进行检查般情况集成电路会出现障驱动部分检查三极数码单片机接触引脚否焊接良
    显示部分检测目数码否够正常显示果该亮字段点亮检测否短路情况果数码显示说明位选端没焊果显示够亮应该检查驱动电路
    晶振部分示波器查波形果出现12MHZ正弦波形现象说明部分电路正常
    时钟部分通北京时间完成检测
    计价部分通采直流电机附带磁珠模拟计费实现检测




















    出租车计价器系统设计已全部完成够预期设计效果完成模拟汽车启动停止暂停等功够LCD显示出车费数目款出租车表包括单价调整单价输出够显示前系统时间等功外功出租车计价器具成较低电路较简单性实性非常强等优点加通优化程序具较高智化水
    月努力基完成设计求容系统行性分析原理图设计等方面作许实际工作取成绩时遇问题存足月学工作觉理知识方面动手力方面进步中受益匪浅次设计前学理知识应实践认识理知识实践间定差距通断努力学实践理知识应实践中通断实践理知识理解
    通次设计仅学会查找相关资料更重通查找资料翻阅书籍学少知识扩知识面提高知识水单元设计系统设计巩固前学专业知识真正认识理联系实际重性学工作提供价值验通次设计仅增强动脑力动手力提高思考问题分析问题解决问题力更重学会工程化思想解决问题前学程中学短短三月时间完成设计容程度益老师帮助
    次设计认真认识完整严谨科学分析问题解决问题思想重拥科学态度设计出产品外通次设计认识理知识应力欠缺需学中进步提高









    参考文献
    [1] 张友德赵志英涂时亮单片微型机原理应实验[M]海:复旦学出版社2005
    [2] 李青 单片机原理接口技术(第三版) 北京 北京航空航天学出版社 2008
    [3] 李华MCS51系列单片机实接口技术[M]北京航空航天学出版社1996
    [4] 杨素行模拟电子技术基础简明教程(第三版)北京高等教育出版社 2005
    [5] 阎石数字电子技术(第五版)北京:高等教育出版社 2006
    [6] 马淑华 王凤文 张美金 单片机原理接口技术(第二版) 北京北京邮电学出版社 2007
    [7] 贺敬凯单片机系统设计仿真应:基KeilProtues仿真台[M]西安:西安电子科技学出版社2010
    [8] 希传感器应电路[M]北京:电子工业出版社2001
    [9] 丁明亮唐前辉51单片机应设计仿真:基Keil CProtues[M]北京:北京航空航天学出版社2009
    [10] 彭伟单片机C语言程序设计实例100例:基PIC+Protues[M]北京:电子工业出版社2011
    [11] 周 苑惠娟传感器原理应[M]北京:清华学出版社2011
    [12] 陈国钢Protues原理图设计电路仿真简单[M]北京:电子工业出版社2014
    [13] 孙余凯传感器应电路300例[M] 北京 电子工业出版社2008

    附 录A 系统原理图

    附 录B 系统仿真图PCB板


















    附 录C 系统源程序

    #include 调单片机头文件
    #define uchar unsigned char 符号字符型 宏定义 变量范围0~255
    #define uint unsigned int 符号整型 宏定义 变量范围0~65535

    uchar miaofen 0shi
    uchar flag_bai_hei 白天晚标志位
    uchar value
    uint bai_3l_price 60 白天3千米单价 6元
    uint bai_3w_price 18 白天3千米外单价千米 18元
    uint bai_wait_price 5 白天等时单价分钟 05元

    uint wan_3l_price 70 晚3千米单价千米 7元
    uint wan_3w_price 22 晚3千米外单价千米 22元
    uint wan_wait_price 10 晚等时单价分钟 1元

    uint distance 0 行距离
    uint zong_jia 总价
    bit flag_300ms 0
    bit flag_1s
    bit flag_time_en 0

    #include lcd1602h

    ***********************1ms延时函数*****************************
    void delay_1ms(uint q)
    {
    uint ij
    for(i0i for(j0j<120j++)
    }

    #include iich

    void write_iic_data()
    {
    write_24c02(0flag_bai_hei)
    write_24c02(1bai_3l_price 256) 保存数
    write_24c02(2bai_3l_price 256) 保存数
    write_24c02(3bai_3w_price 256) 保存数
    write_24c02(4bai_3w_price 256) 保存数
    write_24c02(5bai_wait_price 256) 保存数
    write_24c02(6bai_wait_price 256) 保存数
    write_24c02(7wan_3l_price 256) 保存数
    write_24c02(8wan_3l_price 256) 保存数
    write_24c02(9wan_3w_price 256) 保存数
    write_24c02(10wan_3w_price 256) 保存数
    write_24c02(11wan_wait_price 256) 保存数
    write_24c02(12wan_wait_price 256) 保存数
    }

    ****************动初始化保存数*******************
    void zidong_chushifa_iic()
    {
    value read_24c02(200)
    value read_24c02(200)
    if(value 0x91) 新单片机初始单片机问EEPOM
    {
    value 0x91
    write_iic_data()
    write_24c02(200value) 保存数
    }
    delay_1ms(300)
    }

    ****************读出保存数**********************
    void read_iic_data()
    {
    flag_bai_hei read_24c02(0)
    bai_3l_price read_24c02(2)
    bai_3l_price bai_3l_price * 256 + read_24c02(1)
    bai_3w_price read_24c02(4)
    bai_3w_price bai_3w_price * 256 + read_24c02(3)
    bai_wait_price read_24c02(6)
    bai_wait_price bai_wait_price * 256 + read_24c02(5)

    wan_3l_price read_24c02(8)
    wan_3l_price wan_3l_price * 256 + read_24c02(7)
    wan_3w_price read_24c02(10)
    wan_3w_price wan_3w_price * 256 + read_24c02(9)
    wan_wait_price read_24c02(12)
    wan_wait_price wan_wait_price * 256 + read_24c02(11)

    }

    ****************独立键处理函数************************

    #define key_io P2
    uchar key_can

    void key()
    {
    static uchar key_new 0key_old 0key_value 0
    key_io | 0x3f
    if(key_new 0) 键松开
    {
    if((key_io & 0x3f) 0x3f)
    key_value ++
    else
    key_value 0
    if(key_value > 5) 键松开松手检测
    {
    key_value 0
    key_new 1 键松开进入等键状态
    }
    }
    else
    {
    if((key_io & 0x3f) 0x3f) 键
    key_value ++
    else
    key_value 0
    if(key_value > 5) 键消抖
    {
    key_value 0
    key_new 0 键松开进入等松开键状态
    }
    }
    key_can 20
    if((key_new 0) && (key_old 1))
    {
    switch(key_io & 0x3f)
    {
    case 0x3e key_can 1 break 键值
    case 0x3d key_can 2 break 键值
    case 0x3b key_can 3 break 键值
    case 0x37 key_can 4 break 键值
    case 0x1f key_can 5 break 键值
    case 0x2f key_can 6 break 键值
    }
    write_sfm2(20key_can) 键显示键值
    }
    key_old key_new
    }

    #include menuh


    *********************应菜单处理函数******************
    void menu_dis()
    {
    if(menu_1 0)
    {
    if(key_can 6)
    {
    distance ++
    write_sfm4(10distance)
    }
    if(key_can 5) 清零 新计价
    {
    flag_time_en 0
    shi 0
    fen 0
    miao 0
    zong_jia 0
    distance 0
    }
    if(key_can 2)
    {
    flag_time_en ~flag_time_en
    }
    if(flag_300ms 1)
    {
    flag_300ms 0
    if(distance < 30)3公里价格
    {
    if(flag_bai_hei 0)
    {
    if(fen < 3)
    zong_jia bai_3l_price
    else
    zong_jia bai_3l_price + (shi * 60 + fen 3) * bai_wait_price
    }
    else
    {
    if(fen < 3)
    zong_jia wan_3l_price
    else
    zong_jia wan_3l_price + (shi * 60 + fen 3) * bai_wait_price
    }

    }else 3公里外价格
    {
    if(flag_bai_hei 0)
    {
    if(fen < 3)
    zong_jia bai_3l_price + bai_3w_price * (distance 30) 10
    else
    zong_jia bai_3l_price + bai_3w_price * (distance 30) 10 + (shi * 60 + fen 3) * bai_wait_price
    }
    else
    {
    if(fen < 3)
    zong_jia wan_3l_price + wan_3w_price * (distance 30) 10
    else
    zong_jia wan_3l_price + wan_3w_price * (distance 30) 10 + (shi * 60 + fen 3) * wan_wait_price
    }
    }
    if(flag_bai_hei 0)
    write_sfm2_dian(29bai_3w_price)
    else
    write_sfm2_dian(29wan_3w_price)
    write_sfm2(20shi)
    write_sfm2(23fen)
    write_sfm2(26miao)
    write_sfm4(110zong_jia)
    write_sfm4(10distance)
    write_zifu(1150x5c)
    write_zifu(2120x5c)
    }
    }
    }

    *********************显示函数******************
    void jishu_chashu()
    {
    if((flag_1s 1) && (flag_time_en 1))
    {
    flag_1s 0
    miao++
    if(miao > 60)
    {
    miao 0
    fen ++
    if(fen > 60)
    {
    fen 0
    shi++
    if(shi > 24)
    {
    shi 0
    }
    }
    }

    }
    }


    *************定时器0初始化程序***************
    void time_init()
    {
    EA 1 开总中断
    TMOD 0X01 定时器0工作方式1
    ET0 1 开定时器0中断
    TR0 1 允许定时器0定时
    }


    void main()
    {
    init_1602()
    init_1602_dis_csf()
    zidong_chushifa_iic()
    read_iic_data()
    time_init()
    init_menu()
    while(1)
    {
    key()
    if(key_can < 20)
    key_with()
    menu_dis()
    jishu_chashu()
    }
    }

    *************定时器0中断服务程序***************
    void time0_int() interrupt 1
    {
    static uchar value
    TH0 0x3c
    TL0 0xb0 50ms
    value ++
    if(value 6 0)
    flag_300ms 1
    if(value > 20)
    {
    flag_1s 1
    value 0
    }

    }
























    文档香网(httpswwwxiangdangnet)户传

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

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

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

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

    下载文档

    相关文档

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

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

    5年前   
    1070    0

    毕业设计管理系统的设计与实现

    毕业设计管理系统的设计与实现 摘 要 随着Internet的飞速发展及互联网的普及,计算机已广泛用于政府、军事、科研、商业等部门,连接到千家万户,利用计算机实现毕业设计管...

    5年前   
    2626    0

    JAVA学习网站的设计与实现毕业设计

     毕业论文(设计)题 目  JAVA学习网站的设计与实现      院 系 专 业 计算机科学与技术学生姓名 ...

    3年前   
    767    0

    商务网站的设计与实现毕业设计

    商务网站的设计与实现 摘要要求字数400字以上。 新华商城商务网站是以电子商务类网站为基础进设计行开发的前面再加一小段,说明当前商务网站的情况。 ,并充分利用计算机网络资源,以...

    5年前   
    2139    0

    网上书店系统的设计与实现毕业设计

     密级: (2013 — 2017年) 题 目 网上书店系统的设计与实现 ...

    4年前   
    1222    0

    个人网站的设计与实现专科毕业设计

    毕 业 设 计(说 明 书)题 目:________________________________姓 名:________________________________编 ...

    3年前   
    1120    0

    精品课程网站的设计与实现毕业设计

    此篇论文主要研究了精品课程网站的开发过程,目标是向大学所学习相关课程的学生提供一个知识交流平台,并为任课教师建设一个教学资源管理信息系统。系统以Html、Asp语言为依托,使用Access作为系...

    4年前   
    3018    0

    毕业设计资料管控平台设计与实现

     毕业设计资料管控平台设计与实现Design and Implementation of Graduation Design Information Management and Contro...

    3年前   
    541    0

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

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

    2年前   
    274    0

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

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

    2年前   
    529    0

    基于单片机的智能鱼缸的设计与实现毕业设计

    近年来嵌入式发展迅速,智能家居也进入了人们的生活。智能鱼缸却没有快速发展。我根据市场上相关设备现状的分析和研究,从系统集成角度进行设计和开发,提出了一套多功能的智能观赏鱼缸控制系统的设计方案。

    5年前   
    4251    0

    ASPNET小区物业管理系统的设计与实现毕业设计

     小区物业管理系统的设计与实现 小区物业管理系统的设计与实现 摘要:随着我国经济发展和城市开发,住宅小区越来越...

    5年前   
    1055    0

    影院订票系统设计与实现毕业设计论文

     编号 毕业设计(论文) 影院订票系统设计与实现 Design and Reali...

    5年前   
    4577    0

    家乡旅游管理系统的设计与实现毕业设计

     本科生毕业论文(设计) 家乡旅游管理系统的设计与实现 姓  名 学  号 专  业 计算机科学与技术 指导教师 20XX年X月X日 摘 要 目前,旅游业已成为全...

    5年前   
    1281    0

    2017年书籍装帧册的设计与实现毕业设计开题报告

    书籍装帧册的设计与实现毕业设计开题报告  刘涵  选题依据  一、选题来源、目的和意义  本课题运用书籍装帧设计的理论为指导,结合书籍装帧设计和版式设计的原理,运用photoshop软件设计出...

    7年前   
    508    0

    基于WEB的停车场管理系统设计和实现毕业设计

    20XX 届 毕 业 论 文(设计)论文(设计)题目基于WEB的停车场管理系统的设计和实现院系名称计算机科学与技术系专业(班级)计算机科学与技术2005级本科班姓名(学号) 指导教师 ...

    3年前   
    697    0

    基于Web技术的驾校考试系统的设计与实现毕业设计

    基于Web技术的驾校考试系统的设计与实现毕业设计 摘 要 在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网上考试则是网络技术一个很重要的发展方向。网上考试一...

    5年前   
    1578    0

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

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

    5年前   
    1396    0

    IC卡读写系统的单片机实现毕业设计

     XX 大 学 网 络 教 育 学 院 专科毕业论文 题目:IC卡读写系统的单片机实现 完成期限:20XX年1月8日 至 20XX年4月20日 ...

    5年前   
    1065    0

    基于Android的天气预报查询系统的实现毕业设计

     基于Android的天气预报查询系统的实现 摘要:随着智能手机一步步走进人们的生活,它将成为人们获取信息的主要设备,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,...

    5年前   
    1948    0

    文档贡献者

    文***品

    贡献于2019-06-08

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

    该用户的其他文档