自行车里程表的设计毕业论文17082.doc

上传人:仙人指路1688 文档编号:4030848 上传时间:2023-04-01 格式:DOC 页数:41 大小:294.50KB
返回 下载 相关 举报
自行车里程表的设计毕业论文17082.doc_第1页
第1页 / 共41页
自行车里程表的设计毕业论文17082.doc_第2页
第2页 / 共41页
自行车里程表的设计毕业论文17082.doc_第3页
第3页 / 共41页
自行车里程表的设计毕业论文17082.doc_第4页
第4页 / 共41页
自行车里程表的设计毕业论文17082.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《自行车里程表的设计毕业论文17082.doc》由会员分享,可在线阅读,更多相关《自行车里程表的设计毕业论文17082.doc(41页珍藏版)》请在三一办公上搜索。

1、【摘 要】本文介绍的速度与里程表设计以单片机最小系统和霍尔传感器为核心。传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。本系统由霍尔传感器、RC滤波电路、单片机AT89S51、系统化LED显示模块、数据存储电路和键盘控制组成。其中霍尔传感器包含信号放大和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的

2、脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。并且可进行扩充,加入时速表的功能,更加方便的了解你现在所处的情况。关键词:单片机最小系统,LED数码管,霍尔传感器,RC滤波器,EEPROM存储器Bicy

3、cle Mileage Count Table Abstract: This paper describes the design speed and Odometer to SCM system and the smallest Hall sensor at the core. Different speed sensor into different frequency pulse signal input to the microprocessor control and calculation adopt LED modules, making the speed of electri

4、c bicycles and mileage data can be directly displayed to the user.The system consists of Hall sensor, RC filter circuit, SCM AT89S51, systematic LED display modules, data storage and keyboard control circuit components. Hall sensor which contains signal amplification and waveform shaping. Deal signa

5、ls measured amplification of the treatment is to reduce the rate of measured signals; Waveform transform and waveform shaping circuit will be used for amplification of the signal can be converted into SCM connected with TTL signals; SCM through the setup will enable the internal timer T1 pulse input

6、 pin T0 control, This can be accurately calculated foisted T0 pin unit time detection of the pulse; Design LED display modules, through a conversion rate of mileage using I2C bus through E2PROM to storage, saved for SCM mouth lines and external devices, but also simplify the show part of the softwar

7、e programThis article first right Odometer designs required equipment, details of the design issues of; Later on hardware and software design and implementation carefully analyzed; Then the system modeling process and the corresponding model, based on the control simulation, Simulation results also

8、were compared. Odometer the design of the structure is simple, low cost, showing clear, stable and reliable results. And can be expanded to speed the function table and more convenient understand you are now stand.Keywords: SCM minimum system, LED digital control, Hall sensor, RC filter, EEPROM memo

9、ry.目录第一章 绪论11.1 课题背景、发展及意义11.2 系统设计概述11.3 各章节的安排2第二章 自行车里程表的设计方法与基本原理32.1 霍尔传感器32.2 单片机最小系统32.3 频率测量法52.4 LED数码管62.5 存储器EEPROM72.6 键盘控制72.7 RC滤波器8第三章 硬件实现的设计方法与原理93.1 系统概述93.2 系统总框图103.3 各部分硬件图103.3.1 显示部分10第四章 自行车里程表软件实现方法124.1 软件编程实现124.1.2 数据处理124.1.3 键盘控制134.2 部分程序14第五章 制作电路板335.1 绘制电路原理图335.2 制

10、作PCB板34第六章 总结366.1 实现功能366.2 心得体会36参考文献37致 谢38第一章 绪论1.1 课题背景、发展及意义我国是自行车大国,随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果。随着自行车里程表的发展,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具

11、有测量骑车人的心跳、显示骑车人热量消耗等功能,让人能清楚地知道当前的速度、时间、里程等物理量。如佛山高明华劲电子公司的自行车里程表MS-601,能动态显示行驶里程、骑车时间、实时车速等。1.2 系统设计概述本设计中,我们以ATMEL公司AT89S51单片机为控制核心,采用霍尔传感器检测自行车轮胎的运转情况,通过一定的抗干扰处理和计算后,由LED显示自行车的里程。本设计中,计数的正确性决定了本装置的精度,如何在复杂的环境中得到正确的计数脉冲,是本设计的难点,初步的解决办法是在硬件上进行合理的滤波,软件上进行一定的算法处理。本装置中,还可用上届毕业生的成果:人体脉搏测量仪的设计与实现,本装置将不仅

12、能测量自行车的里程,还能测量骑车人的心脏工作情况,从这个角度上,本设计更符合用户的需要。本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。并且可进行扩充,加入时速表的功能,更加方便的了解你现在所处的情况。1.3 各章节的安排第一章叙述了自行车里程表的背景、发展、意义以及本自行车里程表的概述。第二章介绍了自行车里程表的设计方法与研究,主要是对设计中所需设备的详细介绍,包括霍尔传感器、单片机最小系统、频率测量算法、数据存储器EEPROM及LED数码管。具体为:介绍霍尔传感器的基本原理,及其应用和发展;单片机最小系统的基本结构,工作原理及其性能;频率测量的算法及其实现;数据存储器EEP

13、ROM的引脚极其性能,LED数码管的工作原理。 第三章是本论文的自行车里程表的硬件设计部分,介绍了自行车里程表的总体设计思想,电路图及其原理,硬件实现。第四章是自行车里程表的软件实现部分,主要介绍单片机编程实现频率测量的功能。第五章是绘制电路原理图,制作PCB图。第六章为总结和展望,介绍了本论文实现的功能,阐述本课题的现实意义,以及对未来自行车里程表技术的展望。第二章 自行车里程表的设计方法与基本原理2.1 霍尔传感器霍尔传感器是一种能实现磁电转换的传感器,用它们可以检测磁场及其变化。霍尔传感器具有许多优点,它们的结构牢固,体积小,寿命长,安装方便,功耗小,频率高,耐震动,不怕灰尘、油污及盐雾

14、等的污染或腐蚀。霍尔开关器件具有无触点、输出波形清晰、无抖动、位置重复精度高等优点。 霍尔效应:在一块半导体薄片上,其长度为,宽度为,厚度为,当它被置于磁感应强度的磁场中,如果在它的相对的两边通以控制电流,且磁场方向与电流方向正交,则在半导体另外两端将产生一个大小与控制电流方向和磁感应强度乘积成正比的电势h,即Uh=KhIB,其中Kh为霍尔元件的灵敏度。该电势就称为霍尔电势,半导体薄片就是霍尔元件。由于霍尔元件具有在静止状态下感受磁场的能力,且结构简单,形小体轻,频带宽(可从直流到微波),动态特性好、动态范围大,寿命长和可进行非接触测量等优点,故在检测技术、自动控制技术和信息处理等方面得到日益

15、广泛应用。霍尔传感器在未来发展中的趋势将是高灵敏度、高精度和高稳定度,它将在微电子技术发展的基础上更加飞速的发展。 2.2 单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。(1)单片机最小系统的结构单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:1.电源正常;2.时钟正常;3.复位正常。在AT89S51单片机的40个引脚中:电源引脚2根,晶振引脚2根,控制引脚4根,可编程输入输出引脚32根。工作电源:电源是单片机工作的动力源泉,对应的接线方法为:40脚

16、(VCC)电源引脚,工作时接+5V电源,20脚(GND)为接地线。 复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C取10u,R取8.2K。当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机器周期的高电平。晶振电路:时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,如果单片机的时钟电路停止工作(晶

17、振停振),那么单片机也就停止运行了。当采用内部时钟时,连接方法如下图所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)。控制引脚EA接法。EA/VPP(31脚)为内外程序存储器选择控制引脚,当EA为低电位时,单片机从外部程序存储器取指令;当EA接高电平时,单片机从内部程序存储器取指令。AT89S51单片机内部有4KB可

18、反复擦写1000次以上的程序存储器,因此我们把EA接到+5V高电平,让单片机运行内部的程序,我们就可以通过反复烧写来验证我们的程序了。(2)单片机最小系统的性能89S51相对于89C51增加的新功能包括: ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。最高工作频率为33MHz,大家都知道89C51的极限工作频率是24MHz,就是说S51具有更高工作频率,从而具有了更快的计算速度。具有双工UART串行通道。 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 双数据指示器、电源关闭标识、全新的加密算法,这使

19、得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。2.3 频率测量法用于频率测量的方法有很多,频率测量的准确度主要取决于所测的频率范围以及被测对象的特点.而测量所能达到的精度,不仅仅取决于作为标准器使用的频率源的精度,也取决于所使用的测量设备和测量方法。该设计能实时地将所测的速度与累计里程数显

20、示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。另外,还应尽量保证

21、其他子模块在编程时的通用性和高效性。本设计的速度和里程值采用6位显示,并包含两个小数位。我们所用的霍尔传感器是一块集成芯片。它结合了采样和放大功能与一体。首先我们把磁钢放在自行车的转轴上,而霍尔元件就放在与其水平的转轴上,当我们完成安装后,转动自行车的转轴,磁钢也就跟着一起转动,从而使霍尔传感器周围的磁场发生变化,这种变化将会导致霍尔电压变化从而产生一个毫伏级的方波,再通过其内部的整形和放大。产生出一个适合外部电路的脉冲电压。由于磁钢共分为8片,磁场将会改变8次,磁场强度大时输出高电平,磁场低时输出为低电平。所以将会产生8个方波,既每输出8个方波代表自行车转动了一周。例如:我们的自行车车轮在R

22、=0.25m时,通过计算得出车轮的周长C=1.5m。由于每一圈霍尔传感器将输出8个脉冲,当自行车行驶1KM时会转动667次,这样每1KM将回产生5336个脉冲,单片机对这5336个脉冲计数,当达到这个数时单片机将会产生中断。通过单片机计算出来的速度和里程的数据,必须通过BCD码的转换才能输出给显示模块。总里程数的显示是设定出现在电动自行车开动,单片机开机经过初始化后显示出来,这样以来用户可以清楚的知道自己的车子已经运行了多少公里了。而速度的显示则是在计算出速度里程后立刻显示出来,体现实时性。2.4 LED数码管与LCD液晶显示器相比,数码管虽没有液晶显示器那样的显示效果,也没有液晶显示器做图形

23、界面具有人机交互美观的特点。但是LED有其自己的特点,它具有低功耗,容易控制,占用CPU资源少这些优点,从而成为一些显示器的首选。数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极。通过解码电路得到的数码接通相应的发光二极而形成相应的字符。它可以显示从1到9的数字。这足以满足设计要求。由霍尔传感器采集的脉冲数据信号,通过RC滤波后向单片机提供数据脉冲,单片机再对其进行记数。当达到先前所设计的计数值的时候单片机就申请中断,从而使单片机响应中断程序,既使其输出一个信号代表此时自行车已经行驶了1KM,这时在经过显示单元电路使LED数码管显示1KM。当第二个信号来的时候,电路实现

24、加一的功能后在送LED显示。这样就实现了显示里程的目的。2.5存储器EEPROMEEPROM(ElectricallyErasableProgrammableRead一OnlyMemory)即电子擦除式只读存储器,它是一种非挥发性存储器,是可用户更改的只读存储器(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候是可频繁地重编程的,EEPROM的寿命是一个很重要的设计考虑参数。EEPROM的一种特殊形式是闪存,其应用通常是个人电脑中的电压来擦写和重编程。电可擦除只读存储器EEPROM

25、的主要优点是能在应用系统中进行在线改写,并能在断电情况下保存数据而不需保护电源。因此,在智能仪表、控制装置、分布式监测系统子站、开发装置中得到广泛应用。2.6 键盘控制键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比较复杂,对于主机任务繁重之情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。非编码键盘:只简单地提供键盘的

26、行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有:独立式按键结构、矩阵式按键结构。首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键盘工作方式:采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。2.7 RC滤波器滤波电路是直流电源的重要组成部分,它一般是由电容等储能元件组成,用来滤除单向脉动电压中的谐波分量,从而得到比较平滑的直流电压。图1所示为桥式整流简单RC滤波电路。由图可以看出,滤波电容C并联于整流电路的输出

27、端,即C与RL并联,整流电路的负载为容性。其工作原理为:设t=0时接通电源,当由零逐渐上升时,二极管D1 , 图2.1 桥式整流电容滤波的原理电路 图2.2 工作波形D3导通,D2、D4截止,电流方向如图中箭头所示。电流一路流过负载RL,一路向电容C充电,充电极性为上正、下负。由于电源内阻及二极管导通电阻均很小,即充电时间常数很小,所以充电进行的很快,C两端的电压随很快上升到峰值,即。当由峰值开始下降时,充电过程结束。由于电容C两端的电压,这时,四只二极管均被反偏截止,电容C向负载RL放电,从而使通过负载RL的电流得以维持。放电时间常数RLC取值愈大,RL两端的电压下降愈缓慢,输出波形愈平滑,

28、直到下一个半周到来,且时,D2、D4才正偏道通(D1、D3仍截止),放电过程结束,又开始给C充电。如此周而复始的充电、放电,在负载RL上便得到如图2所示的输出电压。第三章 硬件实现的设计方法与原理3.1 系统概述本系统是由数据采集,单片机控制系统,键盘显示,数据存储4部分构成。其中数据的采集是由霍尔传感器来完成的,它的输出是矩形脉冲,经过RC滤波后就向单片机系统提供转速信号。其中关键的处理由单片机系统来完成,单片机将对INT1脚的信号进行计数,当计数的脉冲达到1KM的时候,INT1申请中断,对外输出信号,输出的信号由显示部分送LED进行显示,显示当前的行驶里程情况。在本次行驶过后数据存入EEP

29、ROM中,以便下次行驶时在其基础上继续计数送出显示总共的里程数,以达到记忆的目的。键盘的作用是提供人对整个系统的控制,它将实现整个系统开关,显示器的开关,部分单元电路的控制。以上所诉就是整个系统的总体设计思想。 利用霍尔元件对里程进行测量。将霍尔元件安装在车前叉的一侧,在车圈侧面等间隔贴多个磁片。当磁片经过霍尔元件时,霍尔元件输出端的电压发生变化产生脉冲,单片机根据脉冲数来计算里程。霍尔元件不受天气的影响,即便被泥沙或灰尘覆盖对测量也不会有任何影响。由霍尔元件加整形电路构成的霍尔开关系统,具有输出响应快,数字脉冲性能好,安装方便,性能可靠,不受光线、泥水等因素影响,价格便宜的优点。该设计能实时

30、地将所测的累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出里程,再将所得的数据存储到数据存储器,并由LED显示模块交替显示所测里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。 设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。为了保证系

31、统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的里程值采用4位显示。3.2 系统总框图AT89S51RC滤波器键盘控制显示电路数据储存 EEPROM霍尔传感器 图3.1系统总框图3.3 各部分硬件图 3.3.1 显示部分本设计的显示模块包括74LS138和4个LED显示管等器件。 74LS138的作用相当于位选的功能,当C,B,A的输入分别为“000、001、010、011、100、101”时分别选择不同的7段译码器,从而在不同位上显示不同的数字。图6是显示模块框图。7 4 L S 1 3 8LED1LED2L

32、ED3LED8图3.3 显示模块框图图7为系统显示部分的电路。系统中用74LS138的Y0Y3选择七段译码器以驱动LED显示,图中字符相对应的地方表示其引脚相连。图3.4 系统显示部分连接图 第四章 自行车里程表软件实现方法4.1 软件编程实现4.1.1 系统软件框图如图8所示,本系统软件采用模块化设计方法。整个系统由初始化模块、频率测量模块、速度,里程计算模块、数据转BCD码模块、速度显示模块、里程显示模块、数据存储,读取模块、定时器中断服务模块以及其他功能模块组成。初始化 模块里 程 显 示 模 块E E P R O M 数 据 读 出 模 块频 率 测 量 模 块中 断 服 务 模 块图

33、4.1 系统软件框图4.1.2 数据处理本设计所用的霍尔传感器是一块集成芯片。它结合了采样和放大功能于一体。首先我们把磁钢放在自行车的转轴上,而霍尔元件就放在与其水平的转轴上,当我们完成安装后,转动自行车的转轴,磁钢也就跟着一起转动,从而使霍尔传感器周围的磁场发生变化,这种变化将会导致霍尔电压变化从而产生一个mv级的方波,再通过其内部的整形和放大。产生出一个适合外部电路的脉冲电压。由于磁钢共分为8片,磁场将会改变8次,磁场强度大时输出高电平,磁场低时输出为低电平。所以将会产生8个方波,既每输出8个方波代表自行车转动了一周。比如我们的自行车车轮在R=0.25m时,通过计算得出车轮的周长C=1.5

34、m。由于每一圈霍尔传感器将输出8个脉冲,当自行车行驶1KM时会转动667次,这样每1KM将回产生5336个脉冲,单片机对这5336个脉冲计数。通过单片机计算出来的速度和里程的数据,必须通过BCD码的转换才能输出给显示模块。总里程数的显示是设定出现在电动自行车开动,单片机开机经过初始化后显示出来,这样以来用户可以清楚的知道自己的车子已经运行了多少公里了。 4.1.3 键盘控制键盘是实现人机对话的必要设备,用户可用键盘向计算机输入数据或命令。本系统采用独立键盘接口,独立式按键是指直接用I/O口线构成单个的按键电路。每一个独立式按键单独占用一根I/O口线。其接口电路如图4.2所示。独立式按键接口电路

35、配置灵活,软件结构简单。但每个按键要占用一根I/O口线,适用于按键数量少的键盘。 电路中,按键输入低电平有效。按键未按时有上拉电阻保证此时输入为高电平。图4.2 独立式按键接口电路4.2部分程序 (1)键盘扫描部分程序#include#include#include#include#include#include#defineucharunsignedchar#defineuintunsignedint Sbit k0=p1.0;Sbit k1=p1.1;Sbit k2=p1.2;keyscan()If (k0=0)uchara;for(a=255;a0;a-)/延时if(k0=0)/有键按下

36、measure(); /处理程序else if (k1=0)uchara;for(a=255;a0;a-)/延时if(k1=0)/有键按下measure();else if (k2=0)uchara;for(a=255;a0;a-)/延时if(k2=0)/有键按下measure();main()while(1)P0=keyscan();while(1);(2) 存储器部分程序#include#include#define uchar unsigned char#define uint unsigned int#define _Nop() _nop_() /*定义空指令*/sbit scl=P1

37、1;sbit sda=P12;sbit DOG=P17; sbit led=P07;sbit led_1=P03;sbit led_2=P04;sbit led_3=P05;sbit led_4=P06;uint LED1_data,LED2_data,LED3_data,LED4_data,LED_data;uchar code led_segment12=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x0,0xFF;uchar x24c02_read(uchar address);void x24c02_write(uchar add

38、ress,uchar info); void x24c02_init(); void delay1(uchar x);void flash();void x24c01_init();void start();void stop();#includevoid writex(uchar j);uchar readx();void clock();void clrscr(void);/*延时程序*/void delay1(uchar x) uint i;for(i=0;ix;i+);DOG=DOG;/*E2prom工作指示程序*/void flash() uchar u;DOG=DOG;/*E2pr

39、om初始化程序*/void x24c02_init() scl=1; flash(); sda=1; flash();/*E2prom起始信号程序*/void start()sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();/*E2prom结束信号程序*/void stop() sda=0; flash(); scl=1; flash(); sda=1; flash();/*E2prom写控制程序*/void writex(uchar j) uchar i,temp;temp=j;for (i=0;i8;i+)temp

40、=temp1; scl=0; flash(); sda=CY; flash(); scl=1; flash();scl=0; flash(); sda=1; flash();/*E2prom读控制程序*/uchar readx()uchar i,j,k=0;scl=0; flash(); sda=1;for (i=0;i8;i+)flash(); scl=1; flash();if (sda=1) j=1;else j=0;k=(k1)|j; scl=0;flash(); return(k);/*E2prom时钟发生程序*/void clock()uchar i=0;scl=1; flash(

41、);while (sda=1)&(i255)i+;scl=0; flash();/*E2prom读程序*/uchar x24c02_read(uchar address)uchar i;start(); writex(0xa0);clock(); writex(address);clock(); start();writex(0xa1); clock();i=readx(); stop();delay1(10);return(i);/*E2prom写地址和内容程序*/void x24c02_write(uchar address,uchar info)EA=0;start(); writex(

42、0xa0);clock(); writex(address);clock(); writex(info);clock(); stop();EA=1;delay1(50);/*延时子程序*/void delay(uint v)while(v!=0)v-;void display()led=1;led_1=1;led_2=1;led_3=1;led_4=1;delay(50);P2=LED_data;led=0;delay(50);P2=led_segmentLED1_data;led=1;led_1=0;delay(50);P2=led_segmentLED2_data;led_1=1;led_

43、2=0;delay(50);P2=led_segmentLED3_data;led_2=1;led_3=0;delay(50);P2=led_segmentLED4_data;led_3=1;led_4=0;delay(50);main()delay(100);x24c02_init(); while(1)x24c02_write(0x1,2);LED1_data=x24c02_read(0x1);x24c02_write(0x2,2);LED2_data=x24c02_read(0x2);x24c02_write(0x3,2);LED3_data=x24c02_read(0x3);LED4_

44、data=3;LED_data=0xFF;display();(3)显示部分程序#include#include#include#include#define UN unsigned charUN read_1byte();void write_1byte(unsigned char x);void WriteToChip(UN a,b);void read(UN h,l,d);void JiaMi51();void JiaMi53();void ck(UN x);void csf();UN d104;void del05s();UN btl_bz;UN icxh;unsigned int A

45、llByte;/需读出的字节数不16位sbit lsledcs =P37;void delay();UN zh_adh8252r(UN x);UN zh_adh8252w(UN x);sfr16 DPTR=0x82;sbit ACC0=ACC0;sbit ACC1=ACC1;sbit ACC2=ACC2;sbit ACC3=ACC3;sbit ACC4=ACC4;sbit ACC5=ACC5;sbit ACC6=ACC6;sbit ACC7=ACC7;unsigned char bdata bm;sbit bm0=bm0;sbit bm1=bm1;sbit bm2=bm2sbit bm3=bm3;sbit bm4=bm4;sbit bm5=bm5;sbit bm6=bm6sbit bm7=bm7;UN data rmem6=0xff,0xff,0xff,0xff,0xff,0xff;UN code ledcode

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号