欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年出租车计价器方案设计书程序原理图实物图 .pdf

    • 资源ID:33664538       资源大小:629.07KB        全文页数:45页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年出租车计价器方案设计书程序原理图实物图 .pdf

    精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 45 页目 录摘要第1章引言1 1. 1 出租车计价器概述 1 1. 2 本设计任务1 1.2.1 设计任务1 1.2.2 设计要求11. 3 系统主要功能2第2章出租车计价器硬件设计 3 2.1 系统的硬件构成及功能32. 2 AT89S51单片机及其引脚说明42.3 AT24C02 引脚图及其引脚功能6精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 45 页2. 4 AT24C02 掉电存储单元的设计62.5 里程计算、计价单元的设计72.6 数据显示单元设计8第3章系统软件设计10 3. 1 系统主程序设计10 3. 2 定时中断程序设计123. 3 里程计数中断服务程序设计123.4 中途等待中断服务程序设计123. 5 键盘服务程序设计123. 6 显示子程序服务程序设计12第4章系统调试与测试结果分析 13 4. 1 使用的仪器仪精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 45 页表134.2 系统调试13精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 45 页第 1章引言本次课程设计利用单片机技术来实现一台多功能出租车计价器,具有性能可靠、电路简单、成本低等特点。1.1 出租车计价器概述计价器显示的营运金额是营运里程与价格的函数(等候时间一般折算成一定比例的里程来计算)。出租车计价器通过传感器与行驶车辆连接。出租汽车的实际里程通过传感器的脉冲信号在计价器里折算成一定的计价营运里程。目前市场上出租车计价器功能主要有具有数据的复位功能、白天/晚上转换功能、数据输出功能、计时计价功能等等,但能够进行语音播报数据信息的出租车计价器还是比较少见的,针对这一点我们来设计一款多功能出租车计价器,在原有功能的基础上增加单价输出、单价调整、路程输出、显示当前的系统时间、语音播报数据信息等功能。1.2 本设计任务1.2.1 设计任务设计一款基于 AT89S51单片机的出租车计价器。1.2.2 设计要求1. 基本要求(1)不同情况具有不同的收费标准。白天晚上途中等待( 10min 开始收费)(2)能进行手动修改单价。(3)具有数据的复位功能。(4)IO 口分配的简易要求。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 45 页距离检测使用霍尔开关 A44E 白天/晚上收费标准的转换开关数据的清零开关单价的调整(最好使用和按键)(5)数据输出(采用LCM103)。单价输出2 位路程输出2 位总金额输出3 位(6)按键。启动计时开关数据复位(清零)白天/晚上转换2. 发挥部分(1)能够在掉电的情况下存储单价等数据。(2)能够显示当前的系统时间。(3)语音播报数据信息。1.3 系统主要功能本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等信息等功能。输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。第 2 章计价器硬件设计本系统的硬件设计主要包括单片机AT89S51 、数据显示部件、 A44E霍尔传感器电路、 AT24C02 掉电存储单元的设计、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 45 页2.1 系统的硬件构成及功能计价器的单片机控制方案图如图1 单片机控制方案图所示。它由以下几个部件组成:单片机AT89S51 、总金额及单价显示部件、键盘控制部件,AT24C02 掉电存储控制、里程计算单元、串中显示驱动电路等。利用单片机丰富的 IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。具体电路参见附录中“多功能出租车计价器总体电路图”如图1 单片机控制方案图。图 1 单片机控制方案图2.2 AT89S51单片机及其引脚说明AT89S51 是美国 ATMEL 公司生产的低功耗,高性能CMOS 8 位单片机,片内含4KB 的可系统编程的 Flash 只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集 Flash 程序存储器既可在线编程( ISP)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,具有高性价比。AT89S51是一个有40 个引脚的芯片,引脚配置如图2 AT89S51 引脚配置所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 45 页图 2 AT89S51引脚配置AT89S51芯片的 40 个引脚功能为:VCC 电源电压。GND 接地。RST 复位输入。当 RST变为高电平并保持2 个机器周期时,将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO位(地址 8EH )可打开或关闭该功能。DISKRTO 位缺省为 RESET 输出高电平打开状态。XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 来自反向振荡放大器的输出。P0 口一组 8 位漏极开路型双向I/O 口。也即地址 / 数据总线复用口。作为输出口用时,每位能驱动8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时, P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 45 页阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash 编程和程序校验期间, P1 接收低 8 位地址。 P1 口部分端口引脚及功能如表1 P1 口特殊功能所示。表 1 P1 口特殊功能P1口引脚特殊功能P1.5MOSI (用于 ISP 编程)P1.6MOSI (用于 ISP 编程)P1.7SCK (用于 ISP 编程)P2 口一个带内部上拉电阻的8 位双向I/O 口。 P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或 16 位地址的外部数据存储器时,P2 口送出高 8 位地址数据。在访问8 位地址的外部数据存储器时, P2 口线上的内容在整个访问期间不改变。Flash 编程和程序校验期间, P2亦接收低 8 位地址。P3 口一个带内部上拉电阻的8 位双向I/O 口。 P3 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。对P3 口写“ 1”时,它们被内部的上拉电阻把拉到高电并可作输入端口。作输入端口使用时,被外部拉低的P3 口将用上拉电阻输出电流( IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,如表2 P3 口特殊功能所示。 P3口还接收一些用于Flash 闪速存储器编程和程序校验期间的控制信号。表 2 P3 口特殊功能P3口引脚特殊功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2(外部中断 0)P3.3(外部中断 1)P3.4T0(定时器 0外部输入)P3.5T1(定时器 1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)PSEN/ 程序储存允许输出是外部程序存储器的读先通信号,当AT89S51由精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 45 页外部程序存储器取指令(或数据)时,每个机器周期两次PSEN/ 有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN/ 信号。EA/VPP 外部访问允许。欲使CPU仅访问外部程序存储器, EA端必须保持低电平,需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA 端状态。Flash 存储器编程时,该引脚加上+12V的编程电压 VPP 。2.3AT24C02 引脚图及其引脚功能AT24C02芯片引脚配置如图3 AT24C02 引脚配置图所示。图 3 AT24C02 引脚配置图AT24C02芯片 DIP 封装,共有 8 个引脚,其中:A2A0 地址引脚;SDA 、SCL I2C 总线接口;WP 写保护引脚, WP接 VSS时,禁止写入高位地址, WP接 VDD时,允许写入任何地址;VCC 电源端GND 接地端2.4 AT24C02 掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02 是ATMEL 公司的 2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为 1mA ,静态电流 10Ua(5.5V) ,芯片内的资料可以在断电的情况下保存40 年以上,而且采用8 脚的 DIP 封装,使精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 45 页用方便。其电路如图 4 掉电存储电路原理图所示。图 4 掉电存储电路原理图图中R8 、R10 是上拉电阻,其作用是减少AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL (移位脉冲)和 SDA (数据 / 地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。2.5 里程计算、计价单元的设计里程计算是通过安装在车轮上的霍尔传感器A44E 检测到的信号,送到单片机,经处理计算 , 送给显示单元的。其原理如图 5 传感器测距示意图所示。图 5 传感器测距示意图由于A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.5 18V),其输出的信号符合 TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到 1MHZ 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 45 页A44E 集成霍耳开关由稳压器 A、霍耳电势发生器 ( 即硅霍耳片 )B、差分放大器C 、施密特触发器 D 和OC 门输出 E 五个基本部分组成。在输入端输入电压 CC V ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差H V 输出,该 H V 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出。当施加的磁场达到(即OP B ) 时,触发器输出高电压 (相对于地电位 ) ,使三极管导通,此时OC (即rP B )时,触发器输出低电压,三极管截止,使OC 门输出高电压,我们选择了 P3.2 口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1 M),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000 次时,也就是 1 公里,单片机就控制将金额自动的加增加,其计算公式:当前单价公里数=金额。2.6数据显示单元设计由于设计要求有单价(2 位)、路程( 2 位)、总金额( 3 位)显示输出,加上我们另外扩展了时钟显示(包含时分秒的显示),采用LCD 液晶段码显示,在距离屏幕 1 M之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6 位LED 数码管的分屏显示,如图 6 采用 6 位LED数码管的分屏显示所示:时钟显示(图中显示为12 点 0 分46 秒)图 6 采用 6 位LED 数码管的分屏显示数据的分屏的显示是通过按键S1 来实现切换的,如图 7 S1切换显示屏所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 45 页图 7S1 切换显示屏在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图如图 8 显示器原理图所示。图 8 显示器原理图从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器74HC164还兼作数码管的驱动,插头 1(header1 )接电源,插头 2(header2 )接数据和脉冲输出端。电路中的三个整流管 D1D3 的作用是降低数码管的工作电压,增加其使用寿命。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 45 页第 3 章系统的软件设计本系统的软件设计主要可分为主程序模块、定时计数中断程序、里程计数中断服务程序、中途等待中断服务程序、显示子程序服务程序、键盘服务程序六大模块。下面对各部分模块作介绍。3.1 系统主程序设计在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动 / 清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。主程序流程图如图9 所示。当按下 S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。开始S1按下?初始化数据S4按下?设定默认单价(白天)启动计价器是否设定晚上单价按下 S4?设定中途等待单价是是否否精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 45 页3.2 定时中断服务程序在定时中断服务程序中,每100ms 产生一次中断,当产生 10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。其程序流程如图 10 所示。3.3 里程计数中断服务程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满 1000 次时,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。3.4 中途等待中断服务程序当在计数状态下霍尔开关没有输出信号,片内的T1 定时器便被启动,每当计时到达 10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候,也就自动切换到正常的计价。3.5 显示子程序服务程序由于是分屏显示数据,所以就要用到4 个显示子程序,分别是:时分秒显示子程序( HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序 (PA_DIS)。3.6 键盘服务程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。如图9 主程序流程图,图10 定时中断服务程序。里程中断?到一公里?总路程加1总金额加1 传感有信号?停止计价和里程计数是是是否否S4 按下?返回时间显示是否显示金额及单价S3 按下?否是显示路程和单价S3按下?是否图 9 主程序流程图开始保护现场精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 45 页图 10 定时中断服务程序第 4 章系统调试与测试结果分析根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。测试包括里程计价测试、掉电存储测试测试。4.1 使用的仪器仪表数字万用表DT9203 单片机仿真器WAVE6000 烧写器 GF2100 双踪稳压稳流电源DH1718E-5 数字示波器 TDS1002 4.2 系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试。重置计数初值中断 10 次?数据送显示缓冲单元调用显示子程序恢复现场并中断返回否是精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 45 页XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC133pC233pC310u7R21kSCL6SDA5WP7A12U2AT24C1024NET=a10R34.7kR44.7ks1s2s3s4掉电保护p2.2p2.3复位结 束 语通过本次课程设计,又使我学到了许多书本上无法学到的知识, 也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:AT89S51单片机及其引脚说明、AT24C02引脚图及其引脚功能等,为本次课程设计提供了一定的资料。由于平时很少进行课程设计,所以对于课程设计报告的格式也是近期才接触到,经过这两次的设计,为我们以后毕业设计的制作也奠定了一定的基础。2计价表使用说明(1)S1按键的功能在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。(2)S2按键的功能精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 45 页在按下 S1 按键之后,若接着按下S2键则进行单价调整(默认为调整白天单价),当接着按下S1 时,则进行晚上单价调,再次按下S1 可进行中途等待单价调整。当单价调整结束后,可以通过过按下S2 按键进行时间调整,默认为调整时,接着按下S1可进行调整分,分调整后再接下S1 可进行秒调整。当时调整完成后,若接着按下S2则又可进行单价调整。(3)S3按键的功能在显示金额及单价时,若按下S3 键则显示路程和单价,再次按下S3,可返回显示金额及单价。(4)S4按键的功能在按下 S1 按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4 则可设定默认单价(白天),并启动计价器。当设定默认晚上单价结束后,再次接下S4 按键,则可设定默认中途等待单价,并启动计价器。当设定默认中途等待单价后,若还按一次S4,则返回系统时间的显示。2. 全部源程序/12864 (带字库)(汉字及字母的显示,汉字不能错位)#include #include #include #define lcd_bus P0 / 数据总线sbit rs =P32。 /数据&指令选择 ,H: 写数据 ,L: 写指令sbit rw =P33。 /读&写选择 ,H:read,L:write sbit e =P34。 /读写使能sbit psb=P30。 /psb=H,并口模式, psb=L ,串口模式sbit rst=P35。 /LCD复位, 低有效sbit bf =P07。 /忙闲状态标志位,H:内部正执行操作,L:空闲sbit P20=P20 。 /进入单价调节sbit P21=P21 。 /计价开始按键sbit P23=P23 。 /时间调节按键sbit P26=P26 。 /停车锁定屏显按键sbit P27=P27 。 /确认按键sbit P16=P16 。 /光电开关检测精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 45 页sbit P14=P14 。 /373片选void delayus(unsigned char us)。/ 延时子程序 us void delayms(unsigned int ms)。/ 延时子程序 ms void init_lcd(void)。/ 初始化void chk_busy(void)。/ 检测忙闲void wr_data(unsigned char dat)。/ 写数据到 LCD void wr_comm(unsigned char comm)。/ 写命令到 LCD void wr_str(unsigned char *s)。/ 向 LCD写字符串 , 长度 64字符之内( 32 个汉字)void wendu()。sbit DS18B20=P17 。 / ds18b20数据线void leddisplay()。 / 数码管显示void shijian()。bit ResetDS1820(void)。 /复位子程序void WRDS18B20(unsigned char)。 / 写 1 个字节子程序unsigned char RDDS18B20(void)。 / 读 1 个字节子程序unsigned int GetTempDS18B20(void)。 /读取温度子程序void delay1s()。 /延时子程序 1s /*-DS1302程序开始 - -*/ sbit SCLK1302=P13 。 / 时钟sbit DATA1302=P12 。 / 数据sbit RST1302=P11 。 / 复位sbit BIT0=ACC0 。 / 累加器 A 最低位sbit BIT7=ACC7 。 / 累加器 A 最高位void wr1302(unsigned char dat)。 /向 1302 写 1 个字节unsigned char rd1302(void)。 /从 1302 读 1 个字节void v_wr1302(unsigned char add,unsigned char dat)。 /先写地址,后写1 字节数据unsigned char v_rd1302(unsigned char add)。 /先写地址,后读1 字节数据精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 45 页void v_set1302(unsigned char *p2)。 /设置初始时间void v_get1302(void)。 /读取 DS1302当前时间/* -DS1302程 序 结 束 - */ unsigned char RcvData8。 / 1302接收缓冲区unsigned char SendData8=0,0,0,0,0,0,0,0。/ 1302发送缓冲区unsigned char time7。 /当前时间 , 格式: 秒 分 时 日 月星期 年unsigned char settime7=0 x20,0 x55,0 x14,0 x20,0 x07,0 x03,0 x09。 /时间初始值 : 秒分时日月星期年unsigned char ledxs08。 / 时- 分- 秒 LED 显示unsigned char ledxs3。 / 数码管显示缓冲区unsigned char ledxs28。 / 时- 分- 秒 LED 显示unsigned char xs16。 /显示缓冲区年月 日 时 分 秒unsigned char aa5=0 x30,0 x30,0 x30,0 x30,0。 /距离数组unsigned char bb5=0 x30,0 x30,0 x30,0 x30,0。 /费用数组unsigned char cc2=0 x31,0 x35。/ 单价数组unsigned char dd4=0,0,0,0。 /语音芯片报价数组void zongkong()。void tiaojie()。void jijia()。void baojia()。void danjia()。unsigned int x=15。/ 单价main() 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 45 页 delayms(200)。 v_set1302(settime)。 / 设置初始时间 zongkong()。 void zongkong() P14=1 。 init_lcd()。/LCD 初始化,并清屏 while(1) shijian()。 wendu()。 if(P20=0) danjia()。/ 进入单价调节函数 if(P21=0) init_lcd()。/LCD 初始化,并清屏 jijia()。 /进入计价页面 if(P23=0) tiaojie()。 /调节时间 wr_comm(0 x80) 。 wr_str(泰山学院出租车行 ) 。 wr_comm(0 x90) 。 wr_str( 欢迎您) 。 wr_comm(0 x88) 。 wr_str( )。 wr_data(ledxs20)。 wr_data(ledxs21)。 wr_data(ledxs22)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 45 页 wr_data(ledxs23)。 wr_data(ledxs24)。 wr_data(ledxs25)。 wr_data(ledxs26)。 wr_data(ledxs27)。 wr_comm(0 x98) 。 wr_data(ledxs00)。 wr_data(ledxs01)。 wr_data(ledxs02)。 wr_data(ledxs03)。 wr_data(ledxs04)。 wr_data(ledxs05)。 wr_data(ledxs06)。 wr_data(ledxs07)。 wr_comm(0 x9d) 。 wr_data(ledxs0)。 wr_data(ledxs1)。 wr_str(.)。 wr_data(ledxs2)。 wr_str(度) 。 void shijian() unsigned char i,j。 v_get1302()。 /取得当前时间 j=2。 for(i=7。i0 。i-) xsj=(timei-14)+0 x30。 xsj+1=(timei-1&0 x0f)+0 x30。 /BCD码拆成2精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 45 页字节 j=j+2。 ledxs00=xs2。 ledxs01=xs3。 / 年 ledxs02=0 x2d。 / - ledxs03=xs6。 ledxs04=xs7。 / 月 ledxs05=0 x2d。 / - ledxs06=xs8。 ledxs07=xs9。 / 日 ledxs20=xs10。 ledxs21=xs11。 / 时 ledxs22=0 x2d。 / - ledxs23=xs12。 ledxs24=xs13。 / 分 ledxs25=0 x2d。 / - ledxs26=xs14。 ledxs27=xs15。 / 秒 void wr1302(unsigned char dat) /向 1302 写 1 个字节 unsigned char i。 for(i=0。i1。 /数据右移。 unsigned char rd1302(void) /从 1302 读 1 个字节 unsigned char i。 for(i=0。i1。 DATA1302=1 。 /读数据之前, P1口输出 1 SCLK1302=1 。/ 时钟置高电平。 SCLK1302=0 。/ 时钟下降沿,接收数据有效。 BIT7=DATA1302 。/ 接收 1 位数据。 return ACC。 void v_wr1302(unsigned char add,unsigned char dat)/先写地址,后写1 字节数据 / 地址或命令数据 RST1302=0。/ 复位引脚低电平,所有数据传送终止。 SCLK1302=0。/ 清时钟总线。 RST1302=1。/ 复位引脚高电平,控制逻辑有效。 wr1302(add)。 /写地址或命令。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 45 页 wr1302(dat)。 /写 1 个数据。 SCLK1302=1。 RST1302=0。 unsigned char v_rd1302(unsigned char add) /先写地址,后读 1 字节数据 / 地址 unsigned char i。 RST1302=0。/ 复位引脚低电平,所有数据传送终止。 SCLK1302=0。/ 清时钟总线。 RST1302=1。/ 复位引脚高电平,控制逻辑有效。 wr1302(add)。 /写地址或命令。 i=rd1302()。 /读取数据 SCLK1302=1。 RST1302=0。 return i。 /返回读取的数据 /* * 名称: send_byte1302 * 说明: 先写地址,后写数据( 时钟多字节方式 ) * 功能: 往 DS1302写入时钟数据 ( 多字节方式 ) * 调用: wr1302()。v_wr1302() 。* 输入 : *p: 时钟数据地址格式为 : 秒 分 时 日 月 星期年控制* 8Byte (BCD码) 1B 1B 1B 1B 1B 1B 1B 1B 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 45 页* 返回值 : 无*/ void send_byte1302(unsigned char *p) unsigned char i。 v_wr1302(0 x8e,0 x00)。 / 控制命令 ,WP=0,写操作 RST1302=0。/ 复位引脚低电平,所有数据传送终止。 SCLK1302=0。/ 清时钟总线。 RST1302=1。/ 复位引脚高电平,控制逻辑有效。 wr1302(0 xbe)。 /0 xbe:时钟多字节写命令 for(i=0。i8 。i+)/发送数据 8 字节 wr1302(*p)。 p+。 SCLK1302=1。 RST1302=0。 /* * 名称: rcv_byte1302 * 说明: 先写地址,后读数据( 时钟多字节方式 ) * 功能: 读取 DS1302时钟数据* 调用: wr1302() , rd1302() * 输入: *p1: 时钟数据地址格式为 : 秒 分 时 日 月 星期 年* 7Byte (BCD码) 1B 1B 1B 1B 1B 1B 1B * 返回值 : ucDa :读取的数据精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 45 页*/ unsigned char rcv_byte1302(unsigned char *p1) unsigned char i。 RST1302=0。/ 复位引脚低电平,所有数据传送终止。 SCLK1302=0。/ 清时钟总线。 RST1302=1。/ 复位引脚高电平,控制逻辑有效。 wr1302(0 xbf)。/ 0 xbf:时钟多字节读命令 for(i=0。i8 。i+)/接收数据 8 字节 *p1=rd1302()。 p1+。 SCLK1302=1。 RST1302=0。 /* * 名称: v_set1302 * 说明: * 功能: 设置初始时间* 调用: v_wr1302() * 输入 : *p2: 初始时间地址。初始时间格式为: 秒 分 时 日月 星期 年* 7Byte (BCD码) 1B 1B 1B 1B 1B 1B 1B * 返回值 : 无*精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 45 页*/ void v_set1302(unsigned char *p2) unsigned char i。 unsigned char addr=0 x80。 v_wr1302(0 x8e,0 x00)。 /控制命令 ,WP=0,允许写 for(i=0。i7 。i+) v_wr1302(addr,*p2)。 /* 秒 分 时 日 月 星期 年 */ p2+。 addr=addr+2。 v_wr1302(0 x8e,0 x80)。 / 控制命令 ,WP=1,写保护 /* * 名称: v_get1302 * 说明: * 功能: 读取 DS1302当前时间* 调用: v_rd1302() * 输入: time: 保存当前时间地址。当前时间格式为: 秒 分 时日 月 星期 年* 7Byte (BCD码) 1B 1B 1B 1B 1B 1B 1B * 返回值 : 无*/ void v_get1302(void) unsigned char i。 unsigned char addr=0 x81。 for(i=0。i7 。i+) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 45 页 timei=v_rd1302(addr)。 /格式为 : 秒 分 时 日 月星期 年 addr=addr+2。 void wendu() unsigned int wendu,temp,m。 m=1 。 while(m-) wendu=GetTempDS18B20()。 /读取温度 temp=wendu/100。 ledxs0=temp+0 x30。 /求得温度十位 temp=wendu%100。 ledxs1=(temp/10)+0 x30。 / 求得温度个位 ledxs2=(temp

    注意事项

    本文(2022年出租车计价器方案设计书程序原理图实物图 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开