毕业设计(论文)-基于51单片机出租车计价器设计.doc_第1页
毕业设计(论文)-基于51单片机出租车计价器设计.doc_第2页
毕业设计(论文)-基于51单片机出租车计价器设计.doc_第3页
毕业设计(论文)-基于51单片机出租车计价器设计.doc_第4页
毕业设计(论文)-基于51单片机出租车计价器设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

淮南师范学院机械与电气工程学院 12级自动化(3)班 郭恩赐 单片机系统设计课程论文 成绩课程论文题 目:基于51单片机出租车计价器设计 学生姓名: 学生学号: 系 别: 机械与电气工程学院 专 业: 自动化 年 级: 12级(3)班 任课教师: 机械与电气工程学院制第 27 页 目录1 概述12 系统总体方案设计22.1 总体思路22.2系统方案论证23 硬件设计43.1 系统硬件结构框图43.2 at89c51简介43.3 晶体振荡电路原理图63.4 复位电路原理图63.5 时钟电路原理图73.6 测距单元73.7 按键单元103.8 lcd显示电路原理图104 软件设计124.1 系统主程序124.2 数据处理子程序134.3 键盘扫描子程序145 仿真与调试155.1 编译环境155.2 仿真环境155.3 仿真调试结果166 设计总结17参考文献18附录1 c程序代码19基于51单片机出租车计价器设计学生:郭恩赐指导教师:朱士永机械与电气工程学院 自动化专业1 概述 由于科技的飞速发展,带动汽车行业快速发展,出租车日益普遍,而出租车上的计价器也不断发展,并且更加精确和智能化。对我们日常生活也有帮助。而使用单片机实现该系统,是深化单片机应用的良好途径。我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。本系统由单片机at89c51和一些外围原件组成,具有操作简单,显示明了,功能强大的特点。整个系统只有两个按键,一个“启动/停止”,一个“复位”;使用128*64lcd显示屏,可以显示数字、字母和汉字等复杂符号显示更加人性化。本系统除了里程统计和费用计算以外,还具有万年历功能。万年历由时钟芯片ds1302实时提供时钟信号,再由单片机调用显示;本系统涉及到的理论知识有: at89c51单片机知识、实时时钟芯片的工作原理及应用、 出租车计费系统的原理和实现方法。2,系统总体方案设计本次设计是使用单片机技术来实现一个出租车的数字计价器,利用单片机丰富的io端口,及其控制的灵活性,实现基本的里程计价功能和单双程价格调整、时钟显示功能等等。具有性能可靠,电路简单、成本低、扩展空间大等特点。2.1 总体思路设计一款基于at89c51单片机的出租车数字计价器,通过对传感器的检测,对数值进行处理和显示。本设计所设计的出租车数字计价器的主要功能有:金额输出、路程输出、数据复位、计时计价、空车显示等。输出采用lcd12864液晶显示屏显示。一、基本要求(1)能显示里程,单位为公里,最后一位为小数位。(2)能显示金额数,单位为元,最后一位为小数位。(3)可设定单程价格和往返价格,单程价格为2元/公里,往返价格为1.5元/公里。 (4)起步公里数为3公里,价格为5元,若实际距离大于3公里,按规则3计算价格。(5)按暂停键,计价器可暂停计价,按查询键,可显示总等待时间。二、发挥部分(1)增加了空车指示功能,当无客人时,按下功能切换按键,空车指示灯亮。(2)增加实时时间显示,无论计价器工作或者空车,都能显示实时时间,便于时间提醒。(3)增加信息储存功能。可以储存等待时间,里程和金额。2.2 系统方案论证本设计是由软件设计和硬件设计两部分组成的。软件设计要进行程序的编写和软件仿真;硬件设计要设计电路和硬件仿真。本系统的硬件设计主要包括单片机at89c51、数据显示部件、u18霍尔传感器电路、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。键盘电路时钟电路单片机显示电路里程计算图1电路系统构成框图主控芯片使用51系列at89c51单片机,采用高性能的静态80c51设计,由先进工艺制造,并带有非易失性flash程序存储器。它是一种高性能、低功耗的8位coms微处理芯片,市场应用最多。8时钟芯片使用美国dallas公司推出的一种高性能、低功耗、带ram的实时时钟芯片ds1302。采用ds1302作为主要计时芯片、可以做到计时准确。更重要的是,ds1302可以在很小的电流的后备电源(2.55.5v电源,在2.5v时耗电小于300na)下继续计时,并可编程选择多种充电电流对后备电源进行慢速充电,可以保证后备电源基本不耗电。采用串行数据传输,与单片机硬件连接简单,如果使用时钟芯片ds12887,将采用并行数据传输,占用更多的硬件资源。因此为节省单片机端口,时钟芯片采用ds1302。本设计程序的采取c语言进行编写,使用keil uvision4编译和proteus7.8仿真软件进行仿真调试。其中的里程计算和费用计算方案如下。一、里程计算(1)霍尔传感器对车轮进行信号检测,产生并输出脉冲信号到单片机;(2)单片机对传感器输出的脉冲信号进行计数,并进行km计算:每一个信号代表轮胎旋转一周,设轮胎的周长为2m ;每km产生的信号数为500,里程显示为n 2m = 2n(km)二、费用计算(1)出租车的起步费为5元,并且3km内不需额外计价;(2)出租车行驶3km后,单程2元/km,双程1.5元/km。(3)等待收费的标准为5分钟算一公里;(4)暂停时计价器暂停计价,不收费用。3 硬件设计3.1 系统硬件结构框图 lcd显示屏复位电路 单片机工作指示灯晶体振荡电路时钟电路 按键图2 系统硬件结构图3.2 at89c51单片机简介 at89c51是一个低电压,高性能cmos 8位单片机,片内含4k bytes的可反复擦写的flash只读程序存储器和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,内置功能强大的微型计算机at89c51提供了高性价比的解决方案。10 at89c51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,at89c51可以按照常规方法进行编程,也可以在线编程。9其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。图3 at89c51单片机p0口有二个功能:1、外部扩展存储器时,当做数据/地址总线。2、不扩展时,可做一般的i/o使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。p1口只做i/o口使用:其内部有上拉电阻。 p2口有两个功能:1、 扩展外部存储器时,当作地址总线使用。 2、做一般i/o口使用,其内部有上拉电阻。 p3口有两个功能:除了作为i/o使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。5设计中用到的单片机各管脚(图3-1)功能以及与其他模块连接介绍如下:vcc:接+5v电源。vss:接地。时钟引脚:xtal1和xtal2两端接晶振和30pf的电容,构成时钟电路。它可以使单片机稳定可靠的运行。rst:复位信号输入端,高电平有效。当在此引脚加两个机器周期的高电平时,就可以完成复位操作。p1.0:接功能按键。p1.2:接空车指示灯。p0口接显示屏数据口,p2口接显示屏控制口。p3.4:接霍尔传感器的输出口。 p3.5:接时钟电路ds1302的rst口。p3.6:接ds1302的sclk口。p3.7:接ds1302的i/o口。3.3晶体振荡电路原理图本系统采用at89c51作为主控芯片,加上一些必要的外围电路构成最小系统才能工作,如图4所示,晶体振荡电路主要为单片机提供时钟脉冲,振荡频率为12mhz,晶体振荡电路主要由时钟晶体,和微调电容组成,接在单片机的xtal1、xtal2(19、18引脚)上。7图4 晶体震荡电路原理图3.4 复位电路原理图 计算机在启动运行时都需要复位,复位是使处理器和内部其他部件出于一个确定的初始状态,从这个状态开始工作。mcs-51单片机有一个复位引脚rst(9引脚),高电平有效。在时钟电路工作以后,当外围电路使得rst端出现两个机器周期(24个时钟周期)以上的高电平时,系统内部复位。单片机复位电路如图5所示,按下复位按钮,开始给电容充电,并使得rst端维持两周期以上的复位高电平,使得单片机成功复位。 图5复位电路原理图3.5 时钟电路原理图时钟芯片采用ds1302,时钟芯片的复位线与单片机的p3.5相连,时钟线与p3.6相连,数据线与p3.7相连,ds1302的x1和x2接32.768khz晶体,vcc2接主电源,vcc1接备用电源,使单片机断电时,时钟芯片依然走时,时钟电路如图5所示。图5 时钟电路原理图3.6 测距单元本次设计我们选取了霍尔传感器来进行里程测量。霍尔器件是一种磁传感器。用它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件以霍尔效应为其工作基础。霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高,耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。霍尔器件分为:霍尔元件和霍尔集成电路两大类,前者是一个简单的霍尔片,使用时常常需要将获得的霍尔电压进行放大。后者将霍尔片和它的信号处理电路集成在同一个芯片上。本次设计选取了霍尔集成电路来测量里程。里程测量是通过将霍尔传感器的集成电路安装在车轮上方的铁板上,将磁铁安装在车轮上,旋转的车轮将磁铁对准集成电路时,霍尔传感器会输出一个脉冲信号,送到单片机,经过单片机的计算处理,将行驶的里程送到显示单元并显示出来。其原理示意图如下:图6 传感器测距示意图u18是一种利用霍尔效应做成的半导体集成电路器件,它被设计在交变磁场中运行,特别是能在低电源电压和长时间运行温度范围可达到125。这种霍尔ic可用作各种类型的传感器(速度传感器、位移传感器、转速传感器等等),接触开关以及相类似的应用场合。其工作电压比较宽(2.520v),可运行在较大的温度范围内(-20125), 其输出的信号符合ttl电平标准,可以直接接到单片机的io 端口上,而且其最高检测频率可达到1mhz。8霍尔传感器的特性如图3-4所示,其中bop为工作点“开”的磁感应强度,brp为释放点“关”的磁感应强度。当外加的磁感应强度超过动作点bop时,传感器输出低电平,当磁感应强度降到动作点bop以下时,传感器输出电平不变,一直要降到释放点brp时,传感器才由低电平跃变为高电平。bop与brp之间的滞后使开关动作更为可靠。u18集成霍耳开关由稳压器a、霍耳电势发生器(即硅霍耳片)b、差分放大器c、施密特触发器d和oc门输出e五个基本部分组成。在输入端输入电压vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差vh输出,该vh信号经放大器放大后送至施密特触发器整形,使其成为方波输送到oc门输出。当施加的磁场达到工作点(即bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时oc门输出端输出低电压,三极管截止,使oc门输出高电压,这种状态为关。这样两次电压变换,使霍尔开关完成了一次开关动作。图7 u18霍尔传感器和其输出特性u18霍尔传感器有3个外接口,2个是电源的正负极接口,最后一个是脉冲信号输出口,只要将霍尔传感器的信号输出端接到单片机的端口上便可以实现距离检测。其中,单片机的p3.2(int0)引脚作为信号的输入端,采用外部中断0进行计数。车轮每转一圈,霍尔传感器就产生一个脉冲信号,根据霍尔效应原理,当霍尔片处在磁场中时,霍尔传感器的输出端输出低电平。当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集,从而产生信号。霍尔传感器检测并输出信号到单片机的int0或int1计算脉冲输入端,引起单片机的中断,对脉冲计数,当计数达到特定的次数时,里程就会增加,单片机对里程进行计算后,通过接口电路将计算好的结果传送到数码管并显示出来。3.7 按键单元 本设计的按键单元电路(如图8)仅有一个功能按键,也就是是否计价控制键,其功能是开启计价模式,并控制空车指示灯的亮灭。图8 按键单元3.8 显示单元 本次课程设计采用的是lcd12864液晶显示屏,其功能十分强大,液晶显示屏(lcd)用于数字型钟表和许多便携式计算机的一种显示器类型。1、液晶和液晶显示lcd显示使用了两片极化材料,在它们之间是液体水晶溶液。电流通过该液体时会使水晶重新排列,以使光线无法透过它们。因此,每个水晶就像百叶窗,既能允许光线穿过又能挡住光线。液晶显示器(lcd)目前科技信息产品都朝着轻、薄、短、小的目标发展,在计算机周边中拥有悠久历史的显示器产品当然也不例外。在便于携带与搬运为前题之下,传统的显示方式如crt映像管显示器及led显示板等等,皆受制于体积过大或耗电量甚巨等因素,无法达成使用者的实际需求。而液晶显示技术的发展正好切合目前信息产品的潮流,无论是直角显示、低耗电量、体积小、还是零辐射点,都能让使用者享受最佳的视觉环境。这种显示器件的最大特点是:(1) 微功耗,每个显示字符只有几个毫安。是所有显示器件中功耗最小的。(2) 低压驱动,一般扭曲向列型(tn)器件阀值电压仅1.52v,可以直接与大规模集成电路直接匹配。(3) 平板形结构,尺寸可以很大,也可以很小。显示的有效面积相对来说也是比较大的。显示图案的自由度也相当大 (4)液晶显示器件属于被动型,不发光,靠调制外界光达到显示目的。因此,在阳光下也能看的很清楚,既没有刺目感,也不会引起视觉疲劳,更没有射线辐射,伤害视力。所以它是高信息量信息显示的理想器件。(5) 液晶显示器件虽然所需材料都有特殊、较高的要求,但是其结构简单,而且工艺非常适应现代化规模生产。所以其生产成本不高。正因为它具有这些特点,所以在一切小型、便携、数字、智能化仪表中具有最大竞争力;在大信息量、彩色化、微型及巨型显示领域,液晶显示器件也具有很大的潜力。2、液晶显示器各种图形的显示原理(1)线段的显示 点阵图形式液晶由mn个显示单元组成,假设lcd显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示ram区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由ram区的000h00fh的16字节的内容决定,当(000h)=ffh时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3ffh)=ffh时,则屏幕的右下角显示一条短亮线;当(000h)=ffh,(001h)=00h,(002h)=00h,(00eh)=00h,(00fh)=00h时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是lcd显示的基本原理。(2)字符的显示用lcd显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示ram区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在lcd上开始显示的行列号及每行的列数找出显示ram对应的地址,设立光标,在此送上该字符对应的代码即可。汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32b,分左右两半,各占16b,左边为1、3、5右边为2、4、6根据在lcd上开始显示的行列号及每行的列数可找出显示ram对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32b显示完就可以lcd上得到一个完整汉字。图9 lcd显示单元4 软件设计 本系统的软件设计主要分为系统主程序、数据处理子程序、和键盘扫描子程序三个模块,下面对每一块进行介绍。4.1 系统主程序本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。在main函数编写开始,要进行初始化,包括对系统初始化和对硬件设备进行初始化,并使硬件处于就绪状态。在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。系统流程图如下图10。开始初始化数据处理键盘扫描屏幕显示结束图10 主程序流程图4.2 数据处理子程序 每当霍尔传感器输出一个低电平信号就使单片机中断一次,在计数中断服务程序,里程和金额都相应变化,当然等待时间也换算成里程(当速度小于5km/h时5分钟想当于1公里)。计算程序根据里程数分别进入不同的计算公式。如果里程大于3公里,则执行公式:金额=(里程-3)*单价+5;否则,执行公式:总金额=起步价。程序流程图如图11所示。开始计算公里里程3公里否是金额=5元金额=单价*(里程-3)+5显示金额结束图11 数据处理子程序4.3 键盘扫描子程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。开始开关是否闭合否指示灯程序是主程序数据处理结束图12 键盘扫描程序5 仿真与调试5.1编译环境本设计需要用keil uvision4对c51程序进行编译,生成“.hex”文件,如图13:图13 keil编译环境软件编写完成后就可以编译生成hex文件,然后将hex文件加载到proteus仿真文件中的单片机中,即可进行软硬件仿真,利用proteus仿真软件可方便的检验硬件和程序错误,降低开发成本,减少不必要劳动。5.2仿真环境“proteus不仅能实现数字电路、模拟电路及数/模混合电路的设计与仿真,而且能为单片机应用系统提供方便的软、硬件设计和系统运行的仿真,proteus将单片机仿真与电路仿真结合,以其完美的仿真功能,直接在基于电路原理图的虚拟原型上进行单片机程序的编写与调试,并进行功能验证。”1在仿真过程中,用户可以直接用鼠标单击按键,开关,等动态外设模型,使单片机系统根据输入信号做出相应的响应,并将响应处理结果实时的在显示器上显示。把单片机的程序嵌入到虚拟硬件中,整个过程与真实的软件、硬件、调试过程相似,从而实现其他仿真软件所不能实现的仿真效果。图14 proteus元器件编辑环境5.3仿真调试结果图15开关闭合时图16 开关断开时6 设计总结总结在本次设计中,我们采用at89c51芯片为核心器件,设计出了简单的出租车计价器,能够实现显示时间、等待时间、金额和里程,按键控制,空车指示。选题后,我们便开始复习单片机方面的知识,也查阅、搜索了很多相关资料,进行总体设计与具体设计,同时也学习仿真软件proteus和编程软件keil uvision4。由于以前都采用汇编语言实现编程,对用c语言来实现单片机的编程不太习惯,花费了一些时间来熟悉c语言的编程。在设计开始,要形成流程图,它可以使设计有一定的逻辑性与严密性,使得设计思路明确。采用模块化的设计思想很重要,它方便编写、修改与调试,另外加上必要的注释,便于交流与理解。这次课程设计设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。通过自身的努力以及相关图书资料的帮助,逐渐熟悉了keil uvision4、proteus和c语言等软件的使用以及硬件焊接与检测过程中的一些小技巧。本次设计我学习到不少单片机的知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题。所焊实物尚有许多不足,个别功能还不能很好的实现,主要原因是考虑问题不周全,电路设计经验少,实际动手能力不足。恳请各位老师批评指正,以使我在以后的学习和实践中加以改进和提高。参考文献1 朱清慧.proteus教程m.清华大学出版社,20082 周润景,等.单片机课程设计实例指导m.北京航空航天大学出版社,20063 李光飞,等.单片机原理与应用及c51程序设计m.清华大学出版社,20054 吴延海.微型计算机接口技术m.重庆大学出版社,19975 李建忠.单片机原理及应用m.西安电子科技大学出版社,20026 谢维成,杨加国.单片机原理与应用及c51程序设计m.清华大学出版社,20147 张毅刚.新编mcs-51单片机应用设计m.哈尔滨工业大学出版社,20038 8-bit microcontroller with 4k bytes flash at89c51.atmel, 20009 8-bit microcontroller with 8k bytes in-system programble flash at89c52.atmel, 200110 atmel microcontroller handbook, 2001附录1 c程序代码#include#include#includelcd12864.c#includecode.h#includeds1302.c#includedisplay.csbit p10=p10;sbit p12=p12;float distance_km,money;void timer0isr(void)interrupt 1 using 1distance_km+=0.1;if(distance_km=3)money=5;else money=5+(distance_km-3)*1.5;void main(void) init_lcd();clearscreen(0);setline(0);tmod=0x06;distance_km=0;th0=0xce;tl0=0xce;ea=1;tr0=1;init_ds1302(); while(1)if(p10=0)et0=1;p12=0;display(distance_km);display1(money);else et0=0; p12=1;distance_km=0;money=0;display(distance_km);display1(money);displayc(1,0,0*16,li);displayc(1,0,1*16,chen);displayc(1,0,2*16,shu);displaye(1,0,6*8,num,14);displayc(1,3,0*16,jin);displayc(1,3,1*16,e);displaye(1,3,5*8,num,14);display2();lcd12864.c#include#include#define uchar unsigned char #define uint unsigned int sbit cs1=p20; sbit cs2=p21; sbit en=p22; sbit rw=p23; sbit rs=p24; void delay(uchar i) while(i-); void readbusy()p0=0x00;rs=0;rw=1;en=1;while(p0&0x80);en=0; void lcd_wcmd(uchar cmd)readbusy();rs=0;rw=0;p0=cmd;en=1;_nop_();_nop_();en=0;void lcd_wdat(uchar dat)readbusy();rs=1;rw=0;p0=dat;en=1;_nop_();_nop_();en=0;void setpage(uchar page)page=0xb8|page;/起始页lcd_wcmd(page);void setline(uchar line)line = line & 0x07;line=line|0xc0;/起始行lcd_wcmd(line);void setcolumn(uchar column)column=column&0x3f;/最终列column=column|0x40;/起始列lcd_wcmd(column);void setonoff(uchar onoff)onoff=0x3e|onoff;lcd_wcmd(onoff);void selectscreen(uchar screen)switch(screen) case 0:cs1=0;delay(2);cs2=0;delay(2);break; case 1:cs1=0;delay(2);cs2=1;delay(2);break; case 2:cs1=1;delay(2);cs2=0;delay(2);break; default:break;void clearscreen(uchar screen) uchar i,j; selectscreen(screen); for(i=0;i8;i+) setpage(i); setcolumn(0); for(j=0;j64;j+) lcd_wdat(0x00); void init_lcd()readbusy();selectscreen(0);setonoff(0);selectscreen(0);setonoff(1);selectscreen(0);clearscreen(0);setline(0);code.huchar code li = 0x00,0x00,0xfe,0x92,0x92,0x92,0x92,0xfe,0x92,0x92,0x92,0x92,0xfe,0x00,0x00,0x00, 0x40,0x40,0x44,0x44,0x44,0x44,0x44,0x7f,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00; uchar code chen = 0x24,0x24,0xa4,0xfe,0x23,0x22,0x00,0x3e,0x22,0x22,0x22,0x22,0x22,0x3e,0x00,0x00, 0x08,0x06,0x01,0xff,0x01,0x06,0x40,0x49,0x49,0x49,0x7f,0x49,0x49,0x49,0x41,0x00; uchar code shu = 0x90,0x52,0x34,0x10,0xff,0x10,0x34,0x52,0x80,0x70,0x8f,0x08,0x08,0xf8,0x08,0x00, 0x82,0x9a,0x56,0x63,0x22,0x52,0x8e,0x00,0x80,0x40,0x33,0x0c,0x33,0x40,0x80,0x00; uchar code jin = 0x00,0x80,0x80,0x40,0x20,0x50,0x48,0x44,0xc3,0x44,0x48,0x50,0x20,0x40,0x80,0x80,0x00,0x40,0x40,0x42,0x4a,0x72,0x42,0x42,0x7f,0x42,0x42,0x62,0x5a,0x42,0x40,0x40; uchar code e = 0x00,0x00,0x8c,0x44,0xb5,0x26,0xa4,0x64,0x0c,0x02,0xf2,0x1a,0xd6,0x12,0xf2,0x02,0x00,0x10,0x08,0xfc,0x4a,0x49,0x4a,0xfc,0x08,0x80,0x4f,0x30,0x0f,0x10,0x2f,0xc0; uchar code gong = 0x00,0x00,0x80,0x40,0x20,0x18,0x06,0x80,0x00,0x07,0x18,0x20,0x40,0x80,0x00,0x00,0x00,0x01,0x00,0x20,0x70,0x28,0x26,0x21,0x20,0x20,0x24,0x38,0x60,0x00,0x01,0x01; uchar code yuan = 0x00,0x20,0x20,0x22,0x22,0x22,0xe2,0x22,0x22,0x22,0xe2,0x22,0x22,0x22,0x20,0x20,0x00,0x80,0x40,0x20,0x10,0x0c,0x03,0x00,0x00,0x00,0x3f,0x40,0x40,0x40,0x40,0x78; uchar code num1516= 0x00,0xe0,0x10,0x08,0x08,0x10,0xe0,0x00,0x00,0x0f,0x10,0x20,0x20,0x10,0x0f,0x00, 0x00,0x10,0x10,0xf8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3f,0x20,0x20,0x00,0x00, 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0e,0x00, 0x00,0x00,0xc0,0x20,0x10,0xf8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3f,0x24,0x00, 0x00,0xf8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0e,0x00, 0x00,0xe0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0f,0x11,0x20,0x20,0x11,0x0e,0x00, 0x00,0x38,0x08,0x08,0xc8,0x38,0x08,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00, 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1c,0x22,0x21,0x21,0x22,0x1c,0x00, 0x00,0xe0,0x10,0x08,0x08,0x10,0xe0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0f,0x00, 0x00,0x10,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x7f,0x48,0x0c,0x53,0x61,0x41, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x7f,0x41,0x01,0x7f,0x41,0x01,0x7e, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x61,0x00,0x00,0x00, ;ds1302sbit rst=p35;sbit sclk=p36;sbit data=p37;void delaynus(unsigned char n) unsigned char i; for(i=0;in;i+);/*函数功能:向1302写一个字节数据入口参数:x*/ void write1302(unsigned char dat) unsigned char i; sclk=0; delaynus(2); for(i=0;i=1; /*函数功能:根据命令字,向1302写一个字节数据入口参数:cmd,储存命令字;dat,储存待写的数据*/ void writeset1302(unsigned char cmd,unsigned char dat) rst=0; sclk=0; rst=1; delaynus(2); write1302(cmd); write1302(dat); sclk=1; rst=0; /*函数功能:从1302读一个字节数据入口参数:x*/ unsigned char read1302(void) unsigned char i,dat; delaynus(2); for(i=0;i=1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论