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


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




    设计基单片机AT89S52出租车动计费设计附复位电路时钟电路键盘电路等复位电路单片机初始化操作正常初始化外摆脱困境通复位电路重新开始时钟电路采12MHz晶振作系统时钟源具较高准确性
    电时字符型液晶1602显示初起步价里程收费等时间收费三种收费通键调整起步价里程收费等时间收费通键模拟出租车运行暂停停止1602液晶显示运行时间运行时暂停时间通计算出总费总路程里AT89S52单片机核心控制器P0口接1602液晶显示模块P1口接键通键输入

    关键字 AT89S521602液晶出租车计费器



    ABSTRACT


    The design is based on a monolithic integrated circuit AT89S52 taxi billing design with reset circuit clocking circuit keyboard circuit Reset circuit is initialized besides the normal operation of the initial dilemma as a foreigner through the reset circuit can start again 12MHz adopts the clock circuit as a system of crystal oscillator higher clock source
    The characters in the crystal that the initial 1602 charges fees mileage waiting time three buttons can be adjusted by charging fees just waiting time mileage Through the simulation of the taxi buttons stop Suspension In the liquid crystal display can run 1602 operation time when suspension can be obtained by the computation of the total costhere is mainly for the core controller AT89S52 SCM P0 mouth after 1602 LCD module P1 mouth after the keys through the keystroke

    Keyword: AT89S521602 LCDTaxi devices

    目 录

    1 课程设计书·······················································································3
    11 课程设计务············································································3
    12 功求···················································································3
    13 课程设计方案············································································3
    2 硬件电路设计····················································································5
    21 振荡电路设计············································································4
    22 复位电路设计·············································································4
    23 键盘接口电路·············································································6
    24 显示电路···················································································6
    25 直流电机电路·············································································7
    26 单片机引脚功说明································································7
    27 L2981602液晶简介·····························································9
    3 软件设计·························································································13
    31 单片机资源··············································································13
    32 单片机模块··············································································13
    33 系统程序流程框图····································································16
    4 proteus调试····················································································17
    41 proteus介绍··············································································17
    42 proteus界面介绍·······································································17
    43 proteus简单····································································18
    44 仿真结果···················································································20
    心体会······························································································21
    参考文献······························································································22
    致谢····································································································23
    附录1 元件清单···················································································24
    附录2 程序清单···················································································25
    附录3 原理图······················································································33





    1 课程设计务书


    11 课程设计务
    设计出租车动计费器计费包括起步价行车里程计费等时间计费三部分1602液晶 显示总金额运行时间暂停时间值999元起步价50元3Km起步价计费超3Km设速度100ms10s增加13元(1KM增加13元)等时间单价分钟15元液晶显示总里程时液晶显示等时间运行花费时间
    设计求:
    计费功
    费计算行驶里程收费设起步价500元
    1里程<3km时起价计算费
    2里程>3km时公里13元计费
    3等累计时间>2min时15元min计费
    二显示功
    1显示行驶里程:四位数字显示显示方式XXXX单位km计程范围099km精确1km
    2显示等候时间:两位数字显示显示方式XX单位min计时范围059min精确1min
    3显示总费:四位数字显示显示方式XXXX单位元计价范围09999元精确01元
    12 功求
    出租车动计费电显示初起步价里程计费单价等时间计费单价通键调节起步价里程计费单价等时间计费单价时具运行暂停停止等状态显示运行时间时显示暂停时间具累加功暂停运行时间暂停运行前次状态计时出租车停止够显示行驶总费
    13 课程设计方案
    方案:采数字电子技术利555定时芯片构成谐振荡器采外围晶振电路作时钟脉信号采计数芯片脉心脉计数分频通译码电路数进行译码译码数送数码显示该方案流程框图方案图11示:








    图11方案
    案二:采EDA技术根层次化设计理该设计问题顶分分频模块控制模块 计量模块译码动态扫描显示模块系统框图图12示:

    图12方案二
    方案三:采MCU技术通单片机作控器利1602字符液晶作显示电路采外部晶振作时钟脉通键方便调节方案三系统流程图方案必须数字电路较熟悉成高方案图图13示:











    图13方案三
    方案总结:通方案较次采方案三控制简单成低廉设计电路简单
    2硬件电路设计


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






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








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








    图23键盘接口电路
    24 显示电路
    现实电路采数码采液晶显示液晶分字符型点阵型液晶字符型液晶带字符库需查找代码英文字符液晶电路时果发现液晶亮调节连接液晶点位器改变液晶亮度显示电路图24示:












    图24显示电路
    25 直流电机电路
    该直流电机通驱动芯片L298驱动款芯片时驱动2直流电机直流电PWM脉波驱动第57脚控制电机正反转接负电压接正电压第6脚ENA控制电机转速通PWM控制转速里高电直流电机电路图25示:










    图25直流电机电路
    26 单片机引脚功说明
    AT89S52电路图图26示:
    VCC:供电电压GND:接P0口:P0口8位漏级开路双IO口脚吸收8TTL门流P1口脚第次写1时定义高阻输入P0够外部程序数存储器定义数址第八位FIASH编程时P0 口作原码输入口FIASH进行
    校验时P0输出原码时P0外部必须拉高
    P1口:P1口部提供拉电阻8位双IO口P1口缓器接收输出4TTL门电流 图26AT89S52
    P1口脚写入1部拉高作输入P1口外部拉低电时输出电流部拉缘FLASH编程校验时P1口作第八位址接收
    P2口:P2口部拉电阻8位双IO口P2口缓器接收输出4TTL门电流P2口写1时脚部拉电阻拉高作输入作输入时P2口脚外部拉低输出电流部拉缘P2口外部程序存储器16位址外部数存储器进行存取时P2口输出址高八位出址1时利部拉优势外部八位址数存储器进行读写时P2口输出特殊功寄存器容P2口FLASH编程校验时接收高八位址信号控制信号
    P3口:P3口脚8带部拉电阻双IO口接收输出4TTL门电流P3口写入1部拉高电作输入作输入外部拉低电P3口输出电流(ILL)拉缘P3口作AT89S52特殊功口表21示
    表21 AT89S52特殊功口

    备选功
    P30 RXD
    (串行输入口)
    P31 TXD
    (串行输出口)
    P32 INT0
    (外部中断0)
    P33 INT1
    (外部中断1)
    P34 T0
    (记时器0外部输入)
    P35 T1
    (记时器1外部输入)
    P36 WR
    (外部数存储器写选通)
    P37 RD
    (外部数存储器读选通)

    P3口时闪烁编程编程校验接收控制信号
    RST:复位输入振荡器复位器件时保持RST脚两机器周期高电时间
    ALEPROG:访问外部存储器时址锁存允许输出电锁存址位字节FLASH编程期间引脚输入编程脉时ALE端变频率周期输出正脉信号频率振荡器频率16作外部输出脉定时目然注意:作外部数存储器时跳ALE脉想禁止ALE输出SFR8EH址置0时 ALE执行MOVXMOVC指令ALE起作外该引脚略微拉高果微处理器外部执行状态ALE禁止置位效
    PSEN:外部程序存储器选通信号外部程序存储器取指期间机器周期两次PSEN效访问外部数存储器时两次效PSEN信号出现
    EAVPP:EA保持低电时期间外部程序存储器(0000HFFFFH)否部程序存储器注意加密方式1时EA部锁定RESETEA端保持高电时间部程序存储器FLASH编程期间引脚施加12V编程电源(VPP)
    XTAL1:反振荡放器输入部时钟工作电路输入
    XTAL2:反振荡器输出
    27 L2981602液晶简介
    271 字符液晶1602介绍
    字符型液晶1602技术参数表22示:
    表22 字符型液晶1602技术参数
    显示容量:
    16*2字符
    芯片工作电压:
    45—55V
    工作电流:
    20mA(50V)
    模块佳工作电压:
    50V
    字符尺寸:
    295*435(W*H)mm

    接口信号说明表23示:
    表23 1602接口信号说明
    编号
    符号
    引脚说明
    编号
    符号
    引脚说明
    1
    Vss
    电源
    9
    D2
    DataIO
    2
    VDD
    电源正极
    10
    D3
    DataIO
    3
    VL
    液晶显示偏压信号
    11
    D4
    DataIO
    4
    Rs
    数命令选择端(HL)
    12
    D5
    DataIO
    5
    RW
    读写选择端(HL)
    13
    D6
    DataIO
    6
    E
    信号
    14
    D7
    DataIO
    7
    D0
    DataIO
    15
    BLA
    背光源正极
    8
    D1
    DataIO
    16
    BLK
    背光源负极

    控制器接口说明(HD44780兼容芯片)
    1 基操作时序
    a 读状态:输入:RsL RwH EH 输出:D0—D7状态字
    b 写指令:输入:RsL RwL D0—D7指令码 输出:
    E高脉
    C 读数:输入:RsH RwL EH 输出:D0—D7数
    d 写数:输入:RsH RwL D0—D7数 输出:
    E高脉

    状态字说明表24示:
    表24状态字说明(a)
    STA7

    D7
    STA6

    D6
    STA5

    D5
    STA4

    D4
    STA3

    D3
    STA2

    D2
    STA1

    D1
    STA0

    D0

    表25 状态字说明(b)
    STA06
    前数址指针数值

    STA7
    读写操作
    1:禁止 0:允许
    注:控制器进行读写操作前必须进行读写检测确保STA70
    RAM址映射图
    控制器部带80*8位(80字节)RAM缓区应关系图26示:
    表26 RAM址映射图LCD16字*2行
    00
    01
    02
    03
    04
    05
    06
    07
    08
    09
    0A
    0B
    0C
    0D
    0E
    0F
    10

    27
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    4A
    4B
    4C
    4D
    4E
    4F
    50

    67

    指令说明
    初始化设置
    显示模式设置表27示:
    表27 显示模式设置
    指令码

    0
    0
    1
    1
    1
    0
    0
    0
    设置16*2显示5*7点阵8位数接口

    显示开关光标设置表28示:
    表28 显示开关光标设置
    指令码

    0
    0
    0
    0
    1
    D
    C
    B
    D1 开显示 D0 关显示
    C1 显示光标 C0 显示光标
    B1 光标闪烁 B0 光标显示
    0
    0
    0
    0
    0
    1
    N
    S
    N1 读写字符址指针加光标加
    N0 读写字址指针减光标减
    S1 写字符整屏显示左移(N1)右移(N0)光标移动屏幕移动效果
    S0 写字符整屏显示移动

    数控制
    控制器部没数址指针户通访问部全部80字节RAM

    数指针设置表29示
    表29 数指针设置(a)
    指令码

    80H+址码(0—27H 40—67H)
    设置数址指针

    读数:见c
    写数:见d
    设置表210示
    表210 数指针设置(b)
    指令码

    01H
    显示清屏:1数指针清零
    2显示清零
    02H
    显示回车:1数指针清零

    供电电路图27示:

    单电源 (字符型模块)

     
    双电源 (字符图形型模块)

     

    图27 供电电路
    272 L298驱动芯片简介
    L298驱动芯片脚图图28示:













    3 软件设计

    图28 L298芯片图
    1脚:电流监测端A 2脚:输出端
    3脚:输出端 4脚:功率电源电压(+12V)
    5脚:输入端 6脚:时端(通电阻接)
    7脚:输入端 8脚:GND接
    9脚:逻辑电源电压端(+5V) 10脚:输入端
    11脚:端 12脚:输入脚
    13脚:输出端 14脚:输出端
    15脚:电流监测端B
























    3软件设计


    31 单片机资源
    次设计中电路键盘P1口中P10P14口作键盘输
    入直流电机电路控制线P2口线P30P31P32分led信号控制脚显示电路P0P2口P0口液晶数口
    32 单片机软件模块设计
    321 中断子函数
    中断程序定时器计数满会产生中断50ms中断次计20次秒钟加1秒钟计满分钟加分钟加99时全部清零中断子函数流程图图31示:




















    图31中断子程序流程图
    322 判键子函数
    独立式键盘判键首先键果键延时会判断否真键果确实键判键释放执行键功程序判键子函数流程框图图32示:


    图32判键子程序流程图

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


































    33显示子程序流程图

    33 总程序流程框图
    整体程序流程框图图34示:




































    图34整体程序流程框图

    4 protues简介


    41 Protues介绍
    Proteus软件[10]英国Labcenter electronics公司EDA工具软件组合高级原理布图混合模式SPICE仿真PCB设计动布线实现完整电子设计系统系统受益15年持续开发电子世界PCB设计系统较文章中评产品—The Route to PCB CADProteus 产品系列包含革命性VSM技术户基微控制器设计连周围电子器件起仿真户甚实时采诸LEDLCD键盘RS232终端等动态外设模型设计进行交互仿真
    功模块—易功强ISIS原理布图工具PROSPICE混合模型SPICE仿真ARES PCB设计PROSPICE 仿真器扩展PROTEUS VSM便包括相关器件基微处理器设计协仿真外结合微控制器软件动态键盘开关钮LEDs甚LCD显示CPU模型支持许通微控制器PICAVRHC118051新支持ARM交互装置模型包括:LEDLCD显示RS232终端通键盘I2CSPI器件强调试工具包括寄存器存储器断点单步模式IAR CSPY Keil uVision2等开发工具源层调试应特殊模型DLL界面提供关元件库全部文件
    42 proteus界面介绍
    Proteus ISIS [11]工作界面种标准Windows界面图41示包括:标题栏菜单标准工具栏绘图工具栏状态栏象选择钮预览象方位控制钮仿真进程控制钮预览窗口象选择器窗口图形编辑窗口


    图41 Proteus 窗口界面图
    43 Protues简单
    (1) 新建原理图
    启动protues软件单击file菜单new弹出图示窗口选择纸张示意图图42示:

    图42新建原理图示意图
    (2)寻找元件
    启动Proteus软件单击挑选元件钮P元件库中选出需元器件出现图43示窗口输入器件关键词选取元件连线


    图43 选取元件库中元件示意图
    (2)系统调试
    双击单片机出现图示画面44Program File栏中选取仿真项目源程序代码点击OK



    图44 加载程序图
    单击Play钮进入仿真状态仿真钮44示中钮1开始运行钮2step钮3暂停钮4停止











    图45 仿真钮示意图
    44 Protues仿真结果
    通仿真电时液晶显示起步价里程单价等单价(分钟单位)键1选择调整起步价里程价等单价键3进入运行状态键4运行暂停停止时显示运行时间等时间总金额数键5退出重新计费30s钟液晶显示起步价30s开始计价等价1分钟收费次
    心体会


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








    参考文献


    [1] 李广弟朱月秀冷祖祁单片机基础[M]第3版北京航空航天学出版社2007年1月
    [2]李华MCS51系列单片机实接口技术[M]北京航空航天学出版社1996
    [3] 马忠梅张凯马岩单片机C语言应程序设计[M]北京:北京航空航天学出版社200311
    [4] 胡辉单片机原理应设计—21世纪高等院校规划教材[M]水利水电出版社20057
    [5] 刘守义单片机应技术[M]西安:西安电子科技学出版社19968


















    致谢


    文XX老师悉心指导完成老师渊博学识丰富验留深刻印象老师里学仅专业知识实际问题科学解决方法更重勤奋严谨治学精神学生认真负责老师谆谆教诲受益匪浅老师表示衷心感谢致崇高敬意感谢家予学业生活支持顾时感谢予帮助位老师学朋友




















    附录1 元件件清单
    表51元器件清单
    名称
    规格
    数量
    备注
    电阻
    200
    1

    1K
    1

    10K
    5

    100
    2

    电容
    33pF
    2

    22μF
    2
    极性电容
    发光二极

    3



    6

    直流电机

    1

    晶振
    12MHz
    1

    排阻
    102
    1排

    芯片
    AT89S52
    1块

    L298
    1块

    1602液晶

    1块
    带字符库














    附录2 程序清单
    *******************************************
    日期:201059
    姓名:XX
    名称:出租车动计费器
    公司XX学院
    *******************************************
    #include
    #define uchar unsigned char
    #define uint unsigned int

    sbit rwP2^1读写
    sbit rsP2^0
    sbit enP2^2读写时控制端
    sbit bP0^7液晶判断忙标志位
    void lcd_init()
    void wr_com(uchar command)液晶写命令
    void wr_data(uchar data0)写数
    void lcd_clear()液晶清屏
    void lcd_set()设置液晶起始位置
    void busy()液晶判忙函数
    void display()显示
    void printstring(uchar *s)直接写字符
    void display1()
    void key1()
    sbit KP1^0
    sbit K1P1^1
    sbit K2P1^2
    sbit K3P1^3
    sbit K4P1^4
    sbit gP2^7
    sbit aaP2^3
    sbit bbP2^4
    sbit ccP2^5

    sbit led_runP3^0
    sbit led_awaitP3^1
    sbit led_stopP3^2

    bit f_start开始标志位
    bit jump_in跳入开始标志位
    bit jump_out跳出标志位
    void key()
    uchar code table[]{0x300x310x320x330x340x350x360x370x380x390x70}字符1230
    uchar dispbuf[]{000000000000000}
    uchar dispbuf1[]{000000000000000}

    uchar vv1键次数累加变量
    uchar i

    void init()
    void chuli()
    void chuli1()
    void delay(uchar t)
    void clear()

    void set(uchar x)
    void set1(uchar y)
    uchar command

    uchar countcount1
    uchar secondminitesecond1minite1
    unsigned int tttt1
    unsigned char value150value225value315起始价运行价等价
    unsigned int money金额变量
    *******************************************
    void main()
    {
    init()
    lcd_init()
    while(1)
    {
    key1()
    chuli()
    display()
    if(jump_in1)
    {
    jump_in0
    lcd_init()
    while(1)
    {
    key()
    chuli1()
    display1()
    if(jump_out1)
    {
    lcd_init()
    jump_out0
    clear()
    break
    }
    }
    }
    }
    }
    *******************************************
    void clear()跳出次
    {
    TR00
    TR10
    money0
    second0
    second10
    minite0
    minite10
    value150
    value225
    value315
    led_run1
    led_await1
    led_stop1
    v0
    v10
    for(i0i<15i++)
    {
    dispbuf[i]0
    dispbuf1[i]0
    }
    }
    *******************************************
    void init()定时器初始化
    {
    TMOD0x11
    TH0(6553650000)256
    TL0(6553650000)256
    TH1(6553650000)256
    TL1(6553650000)256
    ET01
    ET11
    EA1
    TR00
    TR10
    }
    *******************************************
    void t0_(void) interrupt 1 using 0定时器0中断
    {
    count++
    if(count20)
    {
    count0
    second++
    if(second60)
    {
    second0
    minite++
    if(minite99)
    {
    minite0
    }
    }
    }
    TH0(6553650000)256
    TL0(6553650000)256
    dispbuf1[0]minite10
    dispbuf1[1]minite10
    dispbuf1[2]second10
    dispbuf1[3]second10
    }
    *******************************************
    void t1_(void) interrupt 3 using 3定时器1中断
    {
    count1++
    if(count120)
    {
    count10
    second1++
    if(second160)
    {
    second10
    minite1++
    if(minite199)
    {
    minite10
    }
    }
    }
    TH1(6553650000)256
    TL1(6553650000)256
    dispbuf1[4]minite110
    dispbuf1[5]minite110
    dispbuf1[6]second110
    dispbuf1[7]second110
    }
    *******************************************
    void lcd_init()液晶初始化
    {
    wr_com(0x3c)
    wr_com(0x06)
    wr_com(0x0c)
    wr_com(0x01)
    }
    *******************************************
    void wr_com(uchar command)液晶写命令
    {
    busy()
    rs0
    rw0
    P0command
    en1
    en0
    }
    *******************************************
    void wr_data(uchar data0)液晶写数
    {
    busy()
    rs1
    rw0
    P0data0
    en1
    en0
    }
    *******************************************
    void busy()液晶判忙
    {
    while(1)
    {
    en0
    rs0
    rw1
    P00xff
    en1
    if(b1)break
    }
    en0
    }
    *******************************************
    void chuli()数值处理
    {
    dispbuf[0]value110010
    dispbuf[1]value11010
    dispbuf[2]value110
    dispbuf[3]value210010
    dispbuf[4]value21010
    dispbuf[5]value210
    dispbuf[6]value310010
    dispbuf[7]value31010
    dispbuf[8]value310
    }
    *******************************************
    void display()
    {
    set(0)
    printstring(step )
    wr_data(table[dispbuf[0]])
    wr_data(table[dispbuf[1]])
    printstring()
    wr_data(table[dispbuf[2]])

    set(16)
    printstring(mileage )
    wr_data(table[dispbuf[3]])
    wr_data(table[dispbuf[4]])
    printstring()
    wr_data(table[dispbuf[5]])

    set1(0)
    printstring(await )
    wr_data(table[dispbuf[6]])
    wr_data(table[dispbuf[7]])
    printstring()
    wr_data(table[dispbuf[8]])
    *
    set1(16)
    printstring(run )
    wr_data(table[dispbuf1[0]])
    wr_data(table[dispbuf1[1]])
    printstring()
    wr_data(table[dispbuf1[2]])
    wr_data(table[dispbuf1[3]])
    *
    }

    *******************************************
    void chuli1()
    {
    if(f_start1)
    {
    ttminite*60+second总时间
    tt1minite1等时间
    moneyvalue1+value2*01*tt+value3*tt1起始价+公里价*时间*速度+等价*等时间
    }
    else if(f_start0)
    {
    money0
    }
    dispbuf1[8]money10010
    dispbuf1[9]money1010
    dispbuf1[10]money10
    }
    *******************************************
    void display1()
    {
    set(0)
    printstring(run )
    wr_data(table[dispbuf1[0]])
    wr_data(table[dispbuf1[1]])
    printstring()
    wr_data(table[dispbuf1[2]])
    wr_data(table[dispbuf1[3]])

    set(14)
    printstring(await)
    wr_data(table[dispbuf1[4]])
    wr_data(table[dispbuf1[5]])
    printstring()
    wr_data(table[dispbuf1[6]])
    wr_data(table[dispbuf1[7]])

    set1(0)
    printstring(sum is )
    wr_data(table[dispbuf1[8]])
    wr_data(table[dispbuf1[9]])
    printstring()
    wr_data(table[dispbuf1[10]])

    }

    *******************************************
    void printstring(uchar *s)行字符函数
    {
    while(*s)
    wr_data(*s++)
    }
    *******************************************
    void key()
    {
    if(K30)
    {
    delay(50)
    if(K30)
    {
    while(K30)
    v1++
    if(v14) v10
    }
    }
    switch(v1)
    {
    case 1f_start1TR01TR10led_run0led_await1led_stop1aa1bb0cc1break
    case 2TR00TR11led_run1led_await0led_stop1aa0cc0break
    case 3TR00TR10led_run1led_await1led_stop0break
    }
    if(K40)
    {
    delay(50)
    if(K40)
    {
    while(K40)
    jump_out1
    }
    }
    }
    *******************************************
    void delay(uchar t)
    {
    while(t)
    }
    *******************************************
    void set(uchar x)
    {
    command0x80+x
    wr_com(command)
    }
    *******************************************
    void set1(uchar y)
    {
    command0xc0+y
    wr_com(command)
    }
    *******************************************
    void key1()
    {
    if(K0)
    {
    delay(100)
    if(K0)
    {
    while(K0)
    v++
    if(v4) v0
    }
    }
    switch(v)
    {
    case 0break
    case 1if(K10){while(K10)value1value1+10}break起步价加10
    case 2if(K10){while(K10)value2value2+5}break单价加5
    case 3if(K10){while(K10)value3value3+5}break停止加5
    }
    if(K20)
    {
    delay(50)
    if(K20)
    {
    while(K20)
    jump_in1
    }
    }
    }

    文档香网(httpswwwxiangdangnet)户传

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

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

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

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

    下载文档

    相关文档

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

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

    5年前   
    1018    0

    基于单片机的时钟设计

    随着时间的推移,事物的发展越来越趋向于高科技,单片机的出现,受到了社会各界的广泛关注,这是由于单片机具备丰富的功能。单片机的特点为:尺寸小,价格低,抗干扰强,开发容易等。运用的范围也很广,如检测...

    4年前   
    1059    0

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

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

    5年前   
    1097    0

    基于51单片机的定时闹钟设计单片机课程设计

    单片机 课 程 设 计 报 告 院系: 信息工程学院 ...

    2年前   
    519    0

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

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

    5年前   
    1410    0

    基于单片机的数控恒流源设计

    该数控直流恒流源采用模块化,主要由单片机控制模块、键盘输入模块、A/D转换模块、恒流源模块、D/A转换模块和显示模块六部分组成。通过开关和按钮的设置,配合AT89S52单片机的编程实现数字控制及...

    3年前   
    921    0

    基于单片机的电子琴设计

    综合课程设计题 目:可演奏的电子琴 学 院:管理科学与工程学院可演奏的电子琴摘要:随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们...

    1个月前   
    102    0

    开题报告-基于单片机的交通灯设计

    开题报告电气工程及自动化基于单片机的交通灯设计一、综述本课题国内外研究动态,说明选题的依据和意义当今社会,随着日益增长的社会发展,人们对于社活的水平也日益提高,不仅在物质享受方面有所提高,在精...

    4年前   
    1267    0

    基于单片机的万年历设计

     基于单片机的万年历设计 二、实验要求设计一个万年历,将时钟显示在LCD1602的显示屏上并且可以进行年、月、日以及时、分、秒的设置。此外还可以通过按键...

    3年前   
    699    0

    基于凌阳单片机的红外通信接口设计

    科 研 训 练 报 告报告题目:基于凌阳单片机的红外通信接口设计姓 名 院(系) 电气与电子工程学院 ...

    2年前   
    407    0

    基于单片机的程控放大器设计

     毕业设计(论文) 基于单片机的程控放大器设计 专 业: 电子科学与技术 ...

    5年前   
    1701    0

    基于单片机的果实品质分类装置设计

    机器视觉简而言之就是利用摄像头拍摄实际图像,通过摄像头模块自动将图像信息转化为对应的电信号,输送给单片机逻辑处理,以此来达到对图像的智能化识别。果实采摘系统中使用机器视觉较多。

    3年前   
    2106    0

    基于单片机的智能小车设计开题报告

    电气与信息学院毕业设计(论文)开题报告 基于单片机的智能小车设计 电子 ...

    6个月前   
    365    0

    基于单片机智能小车毕业设计

    毕 业 设 计(论 文)设计(论文)题目: 基于单片机的智能小车 ...

    7个月前   
    207    0

    基于单片机的智能灭火小车设计

    摘要:当今社会,火灾在现实生活中普遍存在,被称为自然界三大灾害之一。当火灾发后,灭火工作坏境恶劣时,人工不能完成一些灭火任务,此时便可以使用智能灭火小车去完成相应的任务。本文设计了一个以单片机为...

    4年前   
    1529    0

    单片机课程设计报告基于单片机的温控系统

    职业学院机械与电子工程学院基于单片机温控系统课程设计报告班 级 电信班 学生姓名 学 号 指导教...

    3年前   
    1012    0

    基于WIFI模块和单片机的无线数据传输附代码

    计算机科学与技术学院Project3课程设计2014-2015学年第二学期 班 级: 浦电子 组员姓名: 组员学号: ...

    1年前   
    302    0

    基于单片机的拔河游戏机设计课程设计

    ××大学××学院××课程设计基于单片机的拔河游戏机设计学生姓名学 号所 在 系专业名称班 级指导教师成 绩 ...

    3年前   
    596    0

    基于AT89S51单片机无线传输系统设计毕业设计

    毕业论文(设计) 题 目: 单片机无线传输系统设计 完 成 人: ...

    4年前   
    888    0

    基于51单片机的智能窗户设计毕业设计

    基于51单片机的智能窗户设计【摘 要】 随着电子技术的发展和人民生活水平的不断提高,智能窗已经越来越多地被用到了现代智能化建筑中,提供住户一个安全、方便的环境。据统计,在未来的几年内,安装智...

    6个月前   
    136    0

    文档贡献者

    文***品

    贡献于2022-05-19

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

    该用户的其他文档