毕业论文设计--自行车里程表格地设计

上传人:痛*** 文档编号:86728835 上传时间:2022-05-08 格式:DOC 页数:40 大小:294KB
收藏 版权申诉 举报 下载
毕业论文设计--自行车里程表格地设计_第1页
第1页 / 共40页
毕业论文设计--自行车里程表格地设计_第2页
第2页 / 共40页
毕业论文设计--自行车里程表格地设计_第3页
第3页 / 共40页
资源描述:

《毕业论文设计--自行车里程表格地设计》由会员分享,可在线阅读,更多相关《毕业论文设计--自行车里程表格地设计(40页珍藏版)》请在装配图网上搜索。

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

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

3、le Mileage Count TableAbstract: 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 electric

4、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 ponents. Hall sensor which contains signal amplification and waveform shaping. Deal signals me

5、asured 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 pin

6、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 software pro

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

8、red. 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 memory.38 / 40

9、目录第一章 绪论11.1课题背景、开展与意义111.3 各章节的安排2第二章 自行车里程表的设计方法与根本原理32.1 霍尔传感器32.2 单片机最小系统32.3 频率测量法52.4 LED数码管6 存储器EEPROM72.6 键盘控制72.7 RC滤波器8第三章 硬件实现的设计方法与原理93.1 系统概述93.2 系统总框图103.3 各局部硬件图10显示局部10第四章 自行车里程表软件实现方法124.1 软件编程实现12数据处理12键盘控制13 局部程序14第五章 制作电路板335.1 绘制电路原理图33制作PCB板34第六章 总结366.1 实现功能366.2 心得体会36参考文献37致

10、38第一章 绪论1.1 课题背景、开展与意义我国是自行车大国,随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速开展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度与公里数,使运动者运动适量,达到健康运动与代步的最优效果。随着自行车里程表的开展,其功能也逐渐从单一的里程显示开展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能,让人能清楚地知道当前的速度、时间、里程等物

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

12、程表的设计具有结构简单,本钱低廉,显示清晰,稳定可靠等优点。并且可进展扩大,参加时速表的功能,更加方便的了解你现在所处的情况。1.3 各章节的安排第一章表示了自行车里程表的背景、开展、意义以与本自行车里程表的概述。第二章介绍了自行车里程表的设计方法与研究,主要是对设计中所需设备的详细介绍,包括霍尔传感器、单片机最小系统、频率测量算法、数据存储器EEPROM与LED数码管。具体为:介绍霍尔传感器的根本原理,与其应用和开展;单片机最小系统的根本结构,工作原理与其性能;频率测量的算法与其实现;数据存储器EEPROM的引脚极其性能,LED数码管的工作原理。第三章是本论文的自行车里程表的硬件设计局部,介

13、绍了自行车里程表的总体设计思想,电路图与其原理,硬件实现。第四章是自行车里程表的软件实现局部,主要介绍单片机编程实现频率测量的功能。第五章是绘制电路原理图,制作PCB图。第六章为总结和展望,介绍了本论文实现的功能,阐述本课题的现实意义,以与对未来自行车里程表技术的展望。第二章 自行车里程表的设计方法与根本原理2.1 霍尔传感器霍尔传感器是一种能实现磁电转换的传感器,用它们可以检测磁场与其变化。霍尔传感器具有许多优点,它们的结构结实,体积小,寿命长,安装方便,功耗小,频率高,耐震动,不怕灰尘、油污与盐雾等的污染或腐蚀。霍尔开关器件具有无触点、输出波形清晰、无抖动、位置重复精度高等优点。 霍尔效应

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

15、底上更加飞速的开展。 2.2 单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。1单片机最小系统的结构单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个根本条件:;。在AT89S51单片机的40个引脚中:电源引脚2根,晶振引脚2根,控制引脚4根,可编程输入输出引脚32根。工作电源:电源是单片机工作的动力源泉,对应的接线方法为:40脚VCC电源引脚,工作时接+5V电源,20脚GND为接地线。复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系

16、统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C取10u,R取8.2K。当然也有其他取法的,原如此就是要让RC组合可以在RST脚上产生不少于2个机器周期的高电平。晶振电路:时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进展的,如果单片机的时钟电路停止工作晶振停振,那么单片机也就停止运行了。当采用部时钟时,连接方法如如下图所示,在晶振引脚XTAL119脚和XTAL218脚引脚之间接入一个晶振,两个引脚

17、对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生准确的uS级时歇,方便定时操作)。控制引脚EA接法。EA/VPP31脚为外程序存储器选择控制引脚,当EA为低电位时,单片机从外部程序存储器取指令;当EA接高电平时,单片机从部程序存储器取指令。AT89S51单片机部有4KB可反复擦写1000次以上的程序存储器,因此我们把EA接到+5V高电平,让单片机运行部的程序,我们就可以通过反复烧写来验证我们的程序了。2单片机最小系统的性能89S51相

18、对于89C51增加的新功能包括: ISP在线编程功能,这个功能的优势在于改写单片机存储器的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。最高工作频率为33MHz,大家都知道89C51的极限工作频率是24MHz,就是说S51具有更高工作频率,从而具有了更快的计算速度。具有双工UART串行通道。 部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 双数据指示器、电源关闭标识、全新的加密算法,这使得对于89S51的解密变为不可能,程序的性大大加强,这样就可以有效的保护知识产权不被侵犯。兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-5

19、1兼容产品。也就是说所有教科书、网络教程上的程序不论教科书上采用的单片机是8051还是89C51还是MCS-51等等,在89S51上一样可以照常运行,这就是所谓的向下兼容。2.3 频率测量法用于频率测量的方法有很多,频率测量的准确度主要取决于所测的频率围以与被测对象的特点.而测量所能达到的精度,不仅仅取决于作为标准器使用的频率源的精度,也取决于所使用的测量设备和测量方法。该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率传感器将不同车速转变成不同频率的脉冲信号实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进展放大整形,然后通过单片

20、机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。本设计的里程数的算法是一种大概的算法假设在一定时间自行车是匀速行进,平均速度与时间的乘积即为里程数。设计时,应综合考虑测速精度和系统反响时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之,相对于整个里程来说不是很大。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的速度和里程值采用6位显示,并包含两个小数位。我们所用的霍尔传感器是一块集成芯片。它结合了采样和放大功能与一体。首先我们把磁钢放在自行车的转轴上,而霍尔元件

21、就放在与其水平的转轴上,当我们完成安装后,转动自行车的转轴,磁钢也就跟着一起转动,从而使霍尔传感器周围的磁场发生变化,这种变化将会导致霍尔电压变化从而产生一个毫伏级的方波,再通过其部的整形和放大。产生出一个适合外部电路的脉冲电压。由于磁钢共分为8片,磁场将会改变8次,磁场强度大时输出高电平,磁场低时输出为低电平。所以将会产生8个方波,既每输出8个方波代表自行车转动了一周。例如:我们的自行车车轮在R=0.25m时,通过计算得出车轮的周长C=1.5m。由于每一圈霍尔传感器将输出8个脉冲,当自行车行驶1KM时会转动667次,这样每1KM将回产生5336个脉冲,单片机对这5336个脉冲计数,当达到这个

22、数时单片机将会产生中断。通过单片机计算出来的速度和里程的数据,必须通过BCD码的转换才能输出给显示模块。总里程数的显示是设定出现在电动自行车开动,单片机开机经过初始化后显示出来,这样以来用户可以清楚的知道自己的车子已经运行了多少公里了。而速度的显示如此是在计算出速度里程后立刻显示出来,表现实时性。2.4 LED数码管与LCD液晶显示器相比,数码管虽没有液晶显示器那样的显示效果,也没有液晶显示器做图形界面具有人机交互美观的特点。但是LED有其自己的特点,它具有低功耗,容易控制,占用CPU资源少这些优点,从而成为一些显示器的首选。数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共

23、阳极。通过解码电路得到的数码接通相应的发光二极而形成相应的字符。它可以显示从1到9的数字。这足以满足设计要求。由霍尔传感器采集的脉冲数据信号,通过RC滤波后向单片机提供数据脉冲,单片机再对其进展记数。当达到先前所设计的计数值的时候单片机就申请中断,从而使单片机响应中断程序,既使其输出一个信号代表此时自行车已经行驶了1KM,这时在经过显示单元电路使LED数码管显示1KM。当第二个信号来的时候,电路实现加一的功能后在送LED显示。这样就实现了显示里程的目的。EEPROM(ElectricallyErasableProgrammableRead一OnlyMemory)即电子擦除式只读存储器,它是一种

24、非挥发性存储器,是可用户更改的只读存储器ROM,其可通过高于普通电压的作用来擦除和重编程重写。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候是可频繁地重编程的,EEPROM的寿命是一个很重要的设计考虑参数。EEPROM的一种特殊形式是闪存,其应用通常是个人电脑中的电压来擦写和重编程。电可擦除只读存储器EEPROM的主要优点是能在应用系统中进展在线改写,并能在断电情况下保存数据而不需保护电源。因此,在智能仪表、控制装置、分布式监测系统子站、开发装置中得到广泛应用。2.6 键盘控制键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干

25、预的主要手段。键盘分两大类:编码键盘和非编码键盘。编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比拟复杂,对于主机任务繁重之情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有:独立式按键结构、矩阵式按键结构。首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键盘工作方式:采用中断或查询方式输

26、入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找与一些保护措施的实施等任务,均由软件来完成。2.7 RC滤波器滤波电路是直流电源的重要组成局部,它一般是由电容等储能元件组成,用来滤除单向脉动电压中的谐波分量,从而得到比拟平滑的直流电压。图1所示为桥式整流简单RC滤波电路。由图可以看出,滤波电容C并联于整流电路的输出端,即C与RL并联,整流电路的负载为容性。其工作原理为:设t=0时接通电源,当由零逐渐上升时,二极管D1,图2.1 桥式整流电容滤波的原理电路图2.2 工作波形D3导通,D2、D4截止,电流方向如图中箭头所示。电流一路流过负载RL

27、,一路向电容C充电,充电极性为上正、下负。由于电源阻与二极管导通电阻均很小,即充电时间常数很小,所以充电进展的很快,C两端的电压随很快上升到峰值,即。当由峰值开始下降时,充电过程完毕。由于电容C两端的电压,这时,四只二极管均被反偏截止,电容C向负载RL放电,从而使通过负载RL的电流得以维持。放电时间常数RLC取值愈大,RL两端的电压下降愈缓慢,输出波形愈平滑,直到下一个半周到来,且时,D2、D4才正偏道通D1、D3仍截止,放电过程完毕,又开始给C充电。如此周而复始的充电、放电,在负载RL上便得到如图2所示的输出电压。第三章 硬件实现的设计方法与原理3.1 系统概述本系统是由数据采集,单片机控制

28、系统,键盘显示,数据存储4局部构成。其中数据的采集是由霍尔传感器来完成的,它的输出是矩形脉冲,经过RC滤波后就向单片机系统提供转速信号。其中关键的处理由单片机系统来完成,单片机将对INT1脚的信号进展计数,当计数的脉冲达到1KM的时候,INT1申请中断,对外输出信号,输出的信号由显示局部送LED进展显示,显示当前的行驶里程情况。在本次行驶过后数据存入EEPROM中,以便下次行驶时在其根底上继续计数送出显示总共的里程数,以达到记忆的目的。键盘的作用是提供人对整个系统的控制,它将实现整个系统开关,显示器的开关,局部单元电路的控制。以上所诉就是整个系统的总体设计思想。利用霍尔元件对里程进展测量。将霍

29、尔元件安装在车前叉的一侧,在车圈侧面等间隔贴多个磁片。当磁片经过霍尔元件时,霍尔元件输出端的电压发生变化产生脉冲,单片机根据脉冲数来计算里程。霍尔元件不受天气的影响,即便被泥沙或灰尘覆盖对测量也不会有任何影响。由霍尔元件加整形电路构成的霍尔开关系统,具有输出响应快,数字脉冲性能好,安装方便,性能可靠,不受光线、泥水等因素影响,价格廉价的优点。该设计能实时地将所测的累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率传感器将不同车速转变成不同频率的脉冲信号实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进展放大整形,然后通过单片机计算出里程,再将所得的数据存储到数

30、据存储器,并由LED显示模块交替显示所测里程。本设计的里程数的算法是一种大概的算法假设在一定时间自行车是匀速行进,平均速度与时间的乘积即为里程数。 设计时,应综合考虑测速精度和系统反响时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之,相对于整个里程来说不是很大。为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的里程值采用4位显示。3.2 系统总框图AT89S51RC滤波器键盘控制显示电路数据储存 EEPROM霍尔传感器3.3 各局部

31、硬件图3.3.1 显示局部本设计的显示模块包括74LS138和4个LED显示管等器件。 74LS138的作用相当于位选的功能,当C,B,A的输入分别为“000、001、010、011、100、101时分别选择不同的7段译码器,从而在不同位上显示不同的数字。图6是显示模块框图。7 4 L S 1 3 8LED1LED2LED3LED8图3.3 显示模块框图图7为系统显示局部的电路。系统中用74LS138的Y0Y3选择七段译码器以驱动LED显示,图中字符相对应的地方表示其引脚相连。图3.4 系统显示局部连接图第四章 自行车里程表软件实现方法4.1 软件编程实现4.1.1 系统软件框图如图8所示,本

32、系统软件采用模块化设计方法。整个系统由初始化模块、频率测量模块、速度,里程计算模块、数据转BCD码模块、速度显示模块、里程显示模块、数据存储,读取模块、定时器中断服务模块以与其他功能模块组成。初始化 模块里 程 显 示 模 块E E P R O M 数 据 读 出 模 块频 率 测 量 模 块中 断 服 务 模 块图 系统软件框图4.1.2 数据处理本设计所用的霍尔传感器是一块集成芯片。它结合了采样和放大功能于一体。首先我们把磁钢放在自行车的转轴上,而霍尔元件就放在与其水平的转轴上,当我们完成安装后,转动自行车的转轴,磁钢也就跟着一起转动,从而使霍尔传感器周围的磁场发生变化,这种变化将会导致霍

33、尔电压变化从而产生一个mv级的方波,再通过其部的整形和放大。产生出一个适合外部电路的脉冲电压。由于磁钢共分为8片,磁场将会改变8次,磁场强度大时输出高电平,磁场低时输出为低电平。所以将会产生8个方波,既每输出8个方波代表自行车转动了一周。比如我们的自行车车轮在R=0.25m时,通过计算得出车轮的周长C=1.5m。由于每一圈霍尔传感器将输出8个脉冲,当自行车行驶1KM时会转动667次,这样每1KM将回产生5336个脉冲,单片机对这5336个脉冲计数。通过单片机计算出来的速度和里程的数据,必须通过BCD码的转换才能输出给显示模块。总里程数的显示是设定出现在电动自行车开动,单片机开机经过初始化后显示

34、出来,这样以来用户可以清楚的知道自己的车子已经运行了多少公里了。 4.1.3 键盘控制键盘是实现人机对话的必要设备,用户可用键盘向计算机输入数据或命令。本系统采用独立键盘接口,独立式按键是指直接用I/O口线构成单个的按键电路。每一个独立式按键单独占用一根I/O口线。其接口电路如图4.2所示。独立式按键接口电路配置灵活,软件结构简单。但每个按键要占用一根I/O口线,适用于按键数量少的键盘。 电路中,按键输入低电平有效。按键未按时有上拉电阻保证此时输入为高电平。图4.2 独立式按键接口电路1键盘扫描局部程序#include#include#include#include#include#inclu

35、de#defineucharunsignedchar#defineuintunsignedint ;Sbit k1=p1.1;Sbit k2=p1.2;keyscan()If (k0=0)uchara;for(a=255;a0;a-)/延时if(k0=0)/有键按下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(

36、);while(1);2存储器局部程序#include#include#define uchar unsigned char#define uint unsigned int#define _Nop() _nop_() /*定义空指令*/sbit scl=P11;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

37、_segment12=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x0,0xFF;uchar x24c02_read(uchar address);void x24c02_write(uchar address,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(

38、);void clrscr(void);/*延时程序*/void delay1(uchar x) uint i;for(i=0;ix;i+);DOG=DOG;/*E2prom工作指示程序*/void flash() uchar u;DOG=DOG;/*E2prom初始化程序*/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

39、 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=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+)flas

40、h(); 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();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);

41、 clock();i=readx(); stop();delay1(10);return(i);/*E2prom写地址和容程序*/void x24c02_write(uchar address,uchar info)EA=0;start(); writex(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;l

42、ed_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_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,

43、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_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);vo

44、id 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 AllByte;/需读出的字节数不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

45、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=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,/0-90x88,0

46、x83,0xa7,0xa1,0x86,0x8evoid main()unsigned int i,j;csf()while(1)P0=0xff;lsledcs=1;j=0;while(j!=30i=0;doP0=ledcode0;P1=0xfe;delay();P0=ledcode1;P1=0xfd;delay();P0=ledcode2;P1=0xfbdelay();P0=ledcode3P1=0xf7;delay();i+;while(i!=10);j+;1=0xff;del05s();/j=0;while(j!=30)i=0;doP0=ledcode4;P1=0xfe;delay();P

47、0=ledcode5;P1=0xfddelay();P0=ledcode6;P1=0xfb;delay();P0=ledcode7;P1=0xf7;delay();i+;while(i!=10);j+;P1=0xff;del05s();/j=0while(j!=30)i=0;doP0=ledcode8;P1=0xfe;delay()P0=ledcode9;P1=0xfd;delay();P0=ledcode10;P1=0xfb;delay();P0=ledcode11;P1=0xf7;delay();i+;while(i!=10);j+;P1=0xff;del05s();/j=0;while(

48、j!=30)i=0;doP0=ledcode12;P1=0xfe;delay();P0=ledcode13;P1=0xfd;delay();P0=ledcode14;P1=0xfb;delay();P0=ledcode15;P1=0xf7;delay();i+;while(i!=10);j+;P1=0xff;del05s();P0=0x00;P1=0xff;lsledcs=0;del05s();del05s(); lsledcs=1;del05s();void csf()TMOD=0x20;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON|=0x80;TR1=1;EA=1;de

49、lay();ES=0;SBUF=0xf0;while(TI=0);TI=0;SBUF=0x01;while(TI=0);TI=0;SBUF=0x02;while(TI=0);TI=0;SBUF=0x03;while(TI=0);TI=0;ES=1;/*#串口*/void surt() interrupt 4UN surti; unsigned int cc1;surti=0;RI=0;d10surti=SBUF;docc1=0xffff;surti+;while(RI=0)cc1-;if(cc1=0)goto surtint;RI=0;d10surti=SBUF;while(surti!=3)

50、;surtint:;ES=1;void delay()unsigned int kk=0xff;do_nop_();kk-;while(kk!=0);void del05s()unsigned int kk=0xefff;do_nop_();kk-;while(kk!=0);4 频率测量局部程序本设计我们把8片磁钢放在自行车的转轴上,由于磁钢共分为8片,磁场将会改变8次,磁场强度大时输出高电平,磁场低时输出为低电平。所以将会产生8个方波,既每输出8个方波代表自行车转动了一周。一般的自行车车轮在R=0.25m时,通过计算得出车轮的周长C=1.5m。由于每一圈霍尔传感器将输出8个脉冲,当自行车行驶

51、1KM时会转动667次,这样每1KM将回产生5336个脉冲,单片机对这5336个脉冲计数,当达到这个数时单片机将会产生中断。 外部信号由T1引脚输入,每产生依次负跳变计数器加1,每输入667个脉冲时计数器发生溢出中断,在中断服务程序中将P0取反依次。T1计数方式工作模式1的模式字为TMOD=50H,T0不用,TMOD的低4位可以任意取但不能进入模式3,现取0。计算T1的计数初值X=216667=64869D=E400HTL1的初值位00H,TH1为E4H/局部程序:#include#define uchar unsigned char#define uint unsigned intsbit

52、bita=P33;sbit bitb=P34;sbit bitc=P35;sbit bitd=p36;/*四位数abcd */uint sum=0;/*里程数 */uint k=0;uint store7=0,0,0,0,0,0,0;uchar equal7=0,0,0,0,0,0,0;code uchar dispcode10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar dispbit3=0,0,0,0;void disp();void measure();void mdelay(unsigned int Delay);vo

53、id mlint0() interrupt 0 TR0=1;TH0=0Xe4;TL0=0x00;flag=1; void timer0() interrupt 1TH0=0xe4;TL0=0x00;flag1=1;void main()uint j=500;doEA=0;P1=0x3f;bita=bitb=bitc=bitd=1;/*开机后显示全零 */* mdelay(1);/* while(j-);/*待脉冲稳定后再检测 */SP=0x60;IE=0x83;IP=0x1e;TCON=0x05;TMOD=0x01;TH0=0xe4;TL0=0x00; /*计数5336 */while(1)d

54、isp();/* if(flag)*/measure();void disp()uchar k;bita=1;bitb=bitc=bitd=0;P1=dispcodedispbit0;for(k=0;k40;k+);bita=bitc=bitd=0;bitb=1;P1=dispcodedispbit1;for(k=0;k40;k+);bita=bitb=bitd=0;bitc=1;P1=dispcodedispbit2;for(k=0;k40;k+);bita=bitb=bitc=0;bitd=1;P1=dispcodedispbit2;for(k=0;k0;Delay-) for(i=0;i

55、124;i+);第五章制作电路板51绘制电路原理图主要步骤:1. 进入Protel 99SE环境2. 使用菜单File/New建立新设计数据库文件3. 使用菜单File/New在打开窗口选择Schematic Document图标,建立新原理图文件4. 将原理图打开5. 设置画图环境6. 添加元件库7. 将所需元件从元件库中取出来,放置在图纸上,并且调整好位置8. 使用连线工具将元件连起来,设置元件属性,对元件进展编号9. 进展电气规格检查(ERC)10. 建立网络表,为制作电路板图做准备 电路原理图如下:52 制作PCB板1. 使用Protel 99SE画电路板,工作步骤如下:准备原理图,这

56、一步是利用Protel绘制电路原理图,并用Protel提供的各种功能与命令编辑原理图文件。2. 启动Protel时参数设计进入PCB编辑环境后,要先指定元件的布置参数、板层参数、布线参数等。其实这些参数不是每一项都要指定,有些参数承受默认植即可,而且这些参数经过设置之后,符合个人的习惯以后就无须再改动了。3. 装入原理图与元件封装 该环节是在准备好的电路原理图的根底上进展的。元件的封装也就是元件的外形,每个元件都对应电路板上的几个焊盘,对于每个装入的元件必须有相应的外形封装,这样才能保证电路板布线的顺利进展。4. 元件在电路板上的布置 放置了电路板的物理尺寸,即确定了电路板的板边之后,才可以装

57、入电路原理图。在装入电路原理图之后,程序自动装入所有元件,并自动元件放在电路板边框。这时根据器件的布局需要把其中零乱的器件布置好。5. 自动布线和手工调整PCB的自动布线功能非常强大,只要把有关参数设置适当,元件位置布置合理,自动布线的成功率几乎100%。不过自动布线也有不如人意的地方,可以通过手工调整来弥补。6. 检查印刷电路板、存储与输出保存设计好的PCB文件,可以通过Protel自带的一些菜单功能进展检查,也可以生成PCB的3D突来检查,最后可以打印输出。PCB板如如下图所示:第六章 总结61 实现功能本文对自行车里程表作了细致、全面、规的分析;对总体相应的软、硬件进展了设计、制作与调试

58、,并贯穿至设计的全过程。对文中所提到的各种算法都进展了处理,并得出结论。所做工作如下:1.对设计中所需要的元件分析其原理和性能,极其应用和开展;2.详细介绍本自行车里程表硬件设计的方案,电路图,并附上说明;3.详细介绍软件设计方法,并给出个局部的程序清单;对本设计进展仿真调试的过程。62 心得体会在本装置的研制过程中,充分考虑了作为便携装置其电源的提供、功率的损耗、体积的大小、价位的上下、使用与携带的方便性等因素。本装置不受人群、时间、地点等的影响,对任何人都适用。而且还能快速、准确地测量。本产品本钱低、技术含量高、其稳定性可靠性已经过实践的考验。本装置是将我们的学习知识和社会的需求结合创作出来的。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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