1、金华职业技术学院JINHUAPOLYTECHNIC毕业教学环节成果(2013届)题目自行车里程/速度计的设计学院专业班级学号姓名指导教师2013年05月18日金华职业技术学院毕业教学成果目录摘要1ABSTRACT错误未定义书签。1引言211课题背景212课题的主要任务及内容22自行车的里程/速度计总体方案设计321任务分析与实现322自行车的里程/速度计硬件方案设计323自行车的里程/速度计软件方案设计53自行车的速度/里程计硬件电路设计631传感器及其测量系统6311霍尔传感器的测量原理6312集成开关型霍尔传感器632单片机最小系统7321单片机简介7322单片机最小系统83374HC57
2、3驱动器的介绍934显示和报警电路的设计10341显示电路的设计10342报警电路的设计104自行车的里程/速度计软件程序设计1141自行车的里程/速度计总体程序设计1142子程序的设计1243主程序的设计125系统调试与分析1351系统仿真调试13理工类52调试故障及原因分析1453PROTEUS仿真过程146结论与展望1561结论1562展望16致谢22参考文献17附录171自行车的速度里程计硬件系统原理图172自行车的速度里程计仿真效果图错误未定义书签。3自行车的速度里程计PCB图184元件清单错误未定义书签。5源程序191自行车里程/速度计的设计信息工程学院应用电子技术专业杨丽摘要本论
3、文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。以AT89C52单片机为核心,霍尔元件测转数,实现对自行车里程/速度的测量统计,采用74HC573实现在系统掉电的时候保存里程信息,利用定时中断记录行车时间,并用按钮切换将自行车的里程、速度和行车时间用LED实时显示。文章详细介绍了自行车的速度里程计的硬件和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后将信号经过处理送显示,软件部分用C语言进行编程,采用模块化设计思想。关键词里程/速度霍尔元件单片机LEDDESIGNOFBICYCLEMILEAGE/SPEEDMETER(MAJOROFAPPLIEDELECTRO
4、NICTECHNOLOGY,INFORMATIONANDENGINEERINGCOLLEGE,YANGLI)ABSTRACTTHEBICYCLEMILEAGE/SPEEDDESIGNBASEDONTHEHALLELEMENTISELABORATEDBYAT89C52ASKERNEL,MEASURINGTHENUMBEROFREVOLUTIONSOFTHEHALLSIGNALGENERATOR,THEMEASUREANDSTATISTICAREACHIEVEDTHERANGEINFORMATIONISSAVEDBY74HC573WHENTHEPOWERISOFF,USETIMERINTERRUP
5、TTORECORDTRAVELTIME,ANDCANUSEABUTTONTOSWITCHTOTHEBICYCLEMILEAGE,SPEEDANDTRAVELTIMEREALTIMEDISPLAYWITHLEDINTHISARTICLE,THEHARDWARECIRCUITANDSOFTWAREDESIGNOFBICYCLEMILEAGE/SPEEDINSTRUMENTAREINTRODUCEDINDETAILABOUTTHEHARDWARE,THEPULSENUMBERISTRANSMITTEDOFONECYCLEOFTHEBICYCLEINTOSINGLECHIPMICROCOMPUTERS
6、YSTEMTHENTHESIGNALPROCESSEDMICROCOMPUTERSYSTEMISSENTTODISPLAYSCREAMABOUTTHESOFTWARE,INASSEMBLELANGUAGETHEPROGRAMISDESIGNEDINTHEMODEOFMODULESKEYWORDSMILEAGE/SPEEDHALLELEMENTSINGLECHIPMICROCOMPUTERLED21引言11课题背景自行车被发明及使用到现在已有两百多年的历史,这两百年间人类在不断的尝试与研发过程中,将玩具式的木马车转换到今日各式新颖休闲运动自行车,自行车发展的目的也从最早的交通代步的工具转换成休闲
7、娱乐运动的用途。随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。因此,人们希望自行车的功用更强大,能给人们带来更多的方便。自行车里程速度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。本设计采用了MCS51系列单片机设计一种体积小、操作简单的便携式自行车的速度里程表,它能自动地显示当前自行车行走的距离及运行的速度。12课题的主要任务及内容本课题主要任务是利用霍尔元件、单片机等部件设计一个可用LED数码管实时显示里程和速度的
8、自行车的速度里程表。本文主要介绍了自行车的速度里程表的设计思想、电路原理、方案论证以及元件的选择等内容,整体上分为硬件部分设计和软件部分设计。本文首先扼要对该课题的任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了自行车的速度里程表的硬件设计,包括传感器的选择、单片机的选择、显示电路的设计;然后阐述了该自行车的速度里程表的软件设计,包括数据处理子程序的设计、显示子程序的设计;最后针对仿真过程遇到的问题进行了具体说明与分析,对本次设计进行了系统的总结。具体的硬件电路包括AT89C52单片机的外围电路以及LED显示电路等。软件设计包括芯片的初始化程序、定时中断采样子程序、显示子程序等,
9、软件采用汇编语言编写,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐一设计。32自行车的里程/速度计总体方案设计21任务分析与实现本设计的任务是以通用MCS51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过MCS51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LED显示器显示出来。本系统总体思路如下假定轮圈的周长为L,在轮圈上安装M个永久磁铁,则测得的里程值最大误差为L/M。经综合分析,本设计中取M1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚P32中断0端输入,传感器每获
10、取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数N轮圈的周长为L的乘积为里程值。计数器T1计算每转一圈所用的时间T,就可以计算出即时速度V。用定时器2中断记录自行车行驶时间,并通过接在P11的按键进行切换,同时LED切换显示当前行驶时间。此外若自行车超速,系统发出报警信号,指示灯闪烁。要求达到的各项指标及实现方法如下1利用霍尔传感器产生里程数的脉冲信号。2对脉冲信号进行计数。实现利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。3对数据进行处理,要求用LED显示里程总数和即时速度。实现利用软件编程,对数据进行处理得到需要的数值。最终实现目标自行车的速度里程表具有里
11、程、速度测试、行驶时间记录与显示、超速报警功能,采用单片机作控制,显示电路可显示里程、速度、行驶时间。22自行车的里程/速度计硬件方案设计测速,首先要解决是采样的问题。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器。里程测量传感器的选择也有以下几种方案使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传感器测量里程。光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;光敏电阻对环境
12、的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂;霍尔元件或干簧4管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动
13、接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。霍尔传感器是对磁敏感的传感元件,常用于信号采集的有A44E,该传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,工作电压范围宽,使用非常方便。A44E的外形如图21所示。A44E1231VCC2GND3OUT图21A44E外形图单片机由于将CPU、内存和一些必要的接口集成到一个芯片上,并且面向控制功能将结构作了一定的优化,所以它有一般芯片不具有的特点1体积小、重量轻;2电源单一、功耗低;3功能强、价格低;4全部集成在一块芯片上,布线短、合理;5数据大部分在单片机内传送,运行速度
14、快、抗干扰能力强、可靠性高。目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。在设计中选用的是AT89C52单片机。5AT89C5274HC573驱动器LED显示器报警电路霍尔传感器时钟电路复位电路按键切换图22系统的原理框图23自行车的里程/速度计软件方案设计通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性,遵循模块化设计的原则,采用自顶向下的设计方法。模块化设计使程序的可读性好、修改及完善方便。软件设计包括主程序、行车过程中里程和速度
15、计算子程序、延时子程序、中断服务子程序、显示子程序等等。中断子程序是将传感器产生的信号接入外部中断0,利用中断和定时器对分别对里程进行累加、每转一周的时间进行测量。数据处理子程序是将进入单片机的脉冲信号与实际要显示值之间有一定的对应关系,经过软件编程显示所需要的值。显示子程序是将数据处理的结果送显示器显示。各部分介绍如下1、初始化打开外部中断和定时器0中断,当有脉冲来的时候就进入中断程序。2、外部中断记录一个脉冲时间TIME;计算一个脉冲时间的速度,五个速度作为一个数组,高低速判断;开启T0,记脉冲数为N。3、定时器0中断记50毫秒时间赋值给T4、处理函数给出速度和路程的计算公式。V09PIR
16、/TIMES000025PIRN5、显示程序用三位数显示速度,四位数显示路程。63自行车的速度/里程计硬件电路设计31传感器及其测量系统本次设计信号的捕获采用的是霍尔传感器。霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命长、安装方便、功耗小、频率高(可达1MHZ)、耐震动、不怕灰尘、油污、水汽及烟雾等的污染或腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。取用各种补偿和保护措施的霍尔器件工作温度范围宽,可达55150。按照霍尔器件的功能可将它们分为霍尔线性器件和霍尔开关器件,前者输出模拟量,后者输出数字量。按被检测对象
17、的性质可将它们的应用分为直接应用和间接应用。前者是直接检测出受检测对象本身的磁场或磁特性,后者是检测受检对象上人为设置的磁场,用这个磁场来作被检测的信息的载体。通过它,将许多非电、非磁的物理量例如力、力矩、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。311霍尔传感器的测量原理霍尔传感器是利用霍尔效应制成的一种磁敏传感器。在置于磁场中的导体或半导体通入电流I,若电流垂直磁场B,则在与磁场和电流都垂直的方向上会出现一个电势差UH,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因为它具有结构简单、频率响应宽、灵敏度高、测量线
18、性范围大、抗干扰能力强以及体积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等领域。霍尔效应原理图如图31所示。XYZBILUHBD图31霍尔效应原理图312集成开关型霍尔传感器A44E集成霍尔开关由稳压器A、霍尔电势发生器即硅霍尔片B、差分放大器C、施7密特触发器D和OC门输出E五个基本部分组成,如图32(A)所示。1、2、3代表集成霍尔开关的三个引出端点。在电源端加电压VCC,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特
19、触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压相对于地电位,使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关。这样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强度B与输出电压V0之间的关系。A44E集成霍尔开关是单稳态型,由测量数据作出的输出特性曲线如图32B所示。测量时,在1、2两
20、端加5V直流电压,在输出端3与1之间接一个2K的负载电阻,如图33所示。图32集成开关型霍尔传感器图33集成霍尔开关接线图32单片机最小系统321单片机原理简介单片机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能8部件,包括CPUCENTRALPROCESSINGUNIT、随机存储器RAMRANDOMACCESSMEMORY、只读存储器ROMREADONLYMEMORY、基本输入/输出INPUT/OUTPUT接口电路。定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机从而实现微型计算机的基本功能。单片机内部结构示意图如图34所示。图34单片机内部结构示意图
21、322单片机最小系统介绍单片机最小系统是指用最少的元件组成的单片机可以工作的系统,对于51单片机来说,最小系统一般应该包括单片机、时钟电路和复位电路。单片机内部时钟方式的振荡电路如图38所示。图38单片机片内时钟电路本系统的复位电路是采用按键复位的电路,如图39所示,是常用复位电路之一。9图39按键复位电路工作原理通电瞬间,RC电路充电,RST引脚出现高电平,只要RST端保持10MS以上高电平,就能使单片机有效地复位。3374HC573驱动器的介绍SL74HC573跟LS/AL573的管脚一样。如下图36器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。当锁
22、存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。输出能直接接到CMOS,NMOS和TTL接口上操作电压范围20V60V;低输入电流10UA;CMOS器件的高噪声抵抗特性。图36SL74HC573管脚功能表3174HC573功能表输入输出输出使能锁存使能DQLHHHLHLLLLX不变HXXZ1034显示和报警电路的设计341显示电路的设计本设计中采用LED数码管显示。在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段LED显示器由8个发
23、光二极管组成。其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为DP发光二极管。LED显示器采用动态显示,用74HC573驱动共阴极LED数码管。图310LED数码管显示结构OC门驱动器用573,573即TTL集电极开路六正相高压驱动器当573输出低电平时,没有电流流过LED,当573输出为开路状态时,电流经100限流电阻流入LED显示器,每个七段LED的公共端都接一个573驱动器。本设计中采用7SEGMPX8CCBLUE八位共阴极数码管(蓝色),显示速度、路程数据和自行车行驶时间。342报警电路的设计本次报警电路采用蜂鸣器报警,当即时速度超过预定值是蜂鸣器响,指示灯闪烁,提示应该减
24、速。报警电路图如图313所示。图311报警电路图114自行车的里程/速度计软件程序设计41自行车的里程/速度计总体程序设计基于霍尔传感器自行车的速度里程表的软件设计包括上电初始化程序、中断子程序、数据处理子程序、LED显示子程序、延时子程序等几大部分。由于要实现很多功能,所以采用模块化设计,下面就其主要部分分别加以分析。系统软件总体流程图如图41所示。开始初始化是否生产中断外部中断定时器0中断定时器1中断处理程序显示程序YESNO结束图41软件总体流程图12程序初始化,当没有产生中断时,程序进入处理程序,接着进入显示程序;当产生中断时,先进入外部中断服务程序和定时器0中断服务程序,后面的和没有
25、产生中断时相同。在整个程序中中,不停地扫描有没有产生中断。42子程序的设计设汽车轮子半径为R,脉冲数为N,T50毫秒,一个脉冲的时间为TIME,速度为VKM/H,路程为SKM,PI314。子程序按模块化的思路编写。各子程序流程如下1初始化设置T0计时器工作方式1,输入口为P32;开总中断。打开外中断0中断控制位设置外部中断0优先级控制位;设置外部中断0触发方式为边沿触发方式;打开T0中断允许;打开T1中断允许。2外部中断当P32口有脉冲时进入外部中断0。TIMESECT005,记一个脉冲的时间;TAB_V509PIR/TIME,计算速度并放入数组中。高低速的判断,当V5时为高速,并用FLAG0
26、,记高速标志位,FLAG1,记低速标志位;3定时器0中断当来一个脉冲进入定时器0中断,给T0定时器赋50毫秒初值,当记满50毫秒T。4定时器1中断当来一个脉冲进入定时器1中断,给T1定时器赋50毫秒初值,当记满50毫秒T,若TT20,TT清零再SECC若SECC60,SECC清零;再FEN,若FEN60,FEN清零再SHI若SHI24,SHI清零再以此秒、分、时循环。5数据处理函数计算速度分高速和低速。速度计算公式TAB_V509PIR/TIME(单位KM/H)低速时VTAB_V5,即显示第五个速度值。高速时VTAB_VI计算五个速度之和。VV/5求得平均速度。路程公式S000025PIRN,
27、随着脉冲N的增加S不断累加。6显示程序用三位数显示速度,四位数显示路程。43主程序的设计主函数在初始化程序之后采用循环设计。当不断发送脉冲时,程序从外部中断到显示程序一直循环。流程图如下图42。13开始初始化P1_1口按键是否按下调用数据处理程序显示行驶时间开中断启动定时器1显示速度/里程YESNO图42主程序流程图5系统调试与分析51系统仿真调试PROTEUS系统仿真平台与开发平台是由英国LABCENTER公司开发的,是目前世界上最完整的系统设计与仿真平台之一。PROTEUS可以实现数字电路、模拟电路及微控制系统与外设的混合电路系统的电路仿真、系统协同仿真和PCB设计等全部功能。PROTEU
28、S软件能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原形时就可以对系统进行调试与验证。在构思好电路原理图和编好程序之后就要对其进行系统仿真,原理图的具体设计流程如图51所示。当完成原理图布线后,利用PROTEUSISIS编辑环境所提供的电器规则检查命令对设计进行检查,并根据系统提供的错误检查报告修改原理图。直到通过电器规则检查为止。单片机系统的仿真是PROTEUSVSM的一大特色,同时,本仿真系统将源代码的编辑和编译整合到同一设计环境中,这样使得用户可以在设计中直接编辑代码,并且很容易14地查看到用户对源程序修改后对仿真结果的影响。源代码通过编译无误后,就可以进行仿
29、真,在仿真过程中不断完善电路和程序的功能最后达到本次设计的目的。52调试故障及原因分析在软件仿真过程中遇到了一些问题,具体故障和解决方法如下1、数码管不显示本次设计的电路数码管采用共阴极接法,在仿真时错用共阳极数码管,导致数码管不显示。2、按键切换后数码管只显示8个零,不会秒加一正常情况下按一下P1_1口按钮,数码管上显示000000,之后再计时。通过一番检查,并没有发现程序有任何的错误,之后请教同学帮忙检查,也说没错误,再进一步的仔细检查才发现定时中断用错了,改掉之后正常显示。53PROTEUS仿真过程一、电路原理图如图51图51自行车速度/里程计原理图二、生成HEX文件如图52。15图52
30、生成文件三、编译结果如图53。图53编译结果6结论与展望61结论该课题的主要任务是开发一个以MCS51单片机为核心的自行车的速度里程计。本设计主要分为硬件部分和软件部分,硬件部分着重考虑硬件电路的简单性,故尽可能简化硬件电路,节省线路板的空间,达到硬件电路最优化设计。软件采用C语言编写,采用模块化设计思想,程序可读性强。通过仿真、实验验证了系统的可行,能满足设计要求,达到设计的指标,实现对自行车里程/速度的计算功能,并用LED显示,里程与速度分别根据以下公式求得设自行车轮子半径为R,脉冲数为N,T50毫秒,一个脉冲的时间为TIME,速度为VKM/H,路程为SKM,PI314。V09PIR/TI
31、MES000025PIRN根据此公式将最终显示出里程和速度。当车轮转动,小磁片滑过霍尔元件时,霍尔元件输出一脉冲,可根据自行车轮子半径R的不同,速度的变化有所不同;LED会根据转速的不同显示不同的数字,当速度超过一定速度时,将启动报警系统,指示灯闪烁。当按一下切换按钮,显示行车时间,再按一下按钮,继续显示里程/速度。通过仿真证明本次设计符合设计的要求,能实现对里程、速度的显示,功能性较强,具有一定的实践意义,将会在许多场合应用。但也有一些不足存在,当显示速度时,若16自行车转动太快,显示器会显示过快,应该将速度定时显示,使人们能够清楚地看出速度。62展望本系统操作简单,易于实现。硬件部分采用的
32、器件应用较广泛,且价格低廉,如AT89C52单片机、霍尔传感器、驱动器74HC573等。这就意味着所有的器件功能比较强大、稳定。尤其是本次设计的核心元件AT89C52单片机,软件技术成熟,并具有种类齐全的支持芯片。这类微处理器既可用作控制器又适合于做数据处理,而且成本也甚是低廉。软件采用模块化设计,可读性强,方便二次开发。本次设计电路简单、低成本,而且能够满足人们对高性能、多功能自行车的要求,可在很多里程/速度测量场合使用,具有广泛的应用前景。致谢在本次毕业设计过程中我获益匪浅,同时也遇到了许多困难,在看到我的毕业设计题目时,我的感性认识让我感觉题目挺简单,但在理性分析和实际操作过程中却处处碰
33、壁,这都是由于基础知识不牢造成的,最后在老师同学的指导下,加上自己在网上查找有关资料,我对题目有了一定程度的认识和理解,对具体的细节有了清晰的认识。在这里我要感谢我的指导老师,是他的耐心教导,和不厌其烦地讲解,使我顺利地完成了毕业设计。也要感谢我的同学们,在我遇到困难时主动帮我解决,使我很快地攻克了一个又一个难关。还要感谢学校领导的关心和关怀。毕业设计已经结束,但是它却给我留下了美好的回忆,在做毕业设计的过程中加深了师生的感情和同学之间的友谊,觉得每一天都是那么的充实和愉快。17参考文献楼然苗,李光飞51系列单片机设计实例北京航空航天大学出版社,2006松井邦彦,梁瑞林传感器应用技术141例科
34、学出版社,2006李朝青单片机原理及接口技术北京航空航天大学出版社,1994张洪润,张亚凡传感器技术与应用教程清华大学出版社,2005张毅刚,刘杰MCS51单片机原理及应用哈尔滨工业大学出版社,2004黄河,郭纪林单片机原理及应用大连理工大学出版社,2006刘灿军实用传感器国防工业出版社,2004何希才传感器及其应用国防工业出版社,2001陈雪丽单片机原理及接口技术化学工业出版社,2005附录1自行车的速度里程计硬件系统原理图仿真原理图18电路原理图2自行车的速度里程计仿真效果图注计时时间显示注左边三位显示速度,右边四位显示里程。3自行车的速度里程计PCB图194元件清单符号名称数量AT89C
35、52芯片174HC573驱动器2A44E霍尔元件1RESPACK8八位排阻174EGMPX8CCBLUE四位共阴极数码管2HEADER2/HEADER3/HEADER4/接插件3BUTTON按键1RES电阻10K/1K若干CAP电容22UF/22PF若干WIRE导线若干CAY晶振1LED发光二极管15源程序20INCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINEPI314DEFINER033SBITDUANP20SBITWEP21SBITLEDP30SBITP1_1P11UCHARNUM8UCHART,TT,SECC,FEN,SHI
36、,K0UCHARCODETAB_DUAN0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71,0X40/0F数码管代码/UCHARCODETAB_WE0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F/位码VOIDDELAYUINTBITFLAGUCHART,SECUINTV1,S1,NFLOATTIME,S,VFLOATTAB_V6/单个速度,用来求平均值/显示函数/VOIDSHOWUCHARJ,UCHARK/J断码数,K位码数P00/消影,消除干扰P00/消
37、影,消除干扰DUAN1/段选打开P0TAB_DUANJ/送断码DUAN0/关段选P00XFF/消影,消除干扰P00XFF/消影,消除干扰WE1/开位选P0TAB_WEK/送位选码21WE0/关位选DELAY2/延时显示停留/延时函数/VOIDDELAYUINTNUINTX,YFORXNX0XFORY110Y0Y/初始化函数/VOIDINITTMOD0X11/T0计数方式131输入P32TR11TH10X3C/50000TL10XB0TR11EA1/开总中断EX01/外中断0中断控制位打开PX01/外部中断0优先级控制位。IT01/外部中断0触发方式控制位。边缘触发方式ET01/T0中断允许ET
38、11/中断/VOIDRUPTINTERRUPT0/外中断0UCHARITIMESECT005/一个脉冲的时间SEC0T0/用完清零。TAB_V509PIR/TIME/速度IFTAB_V55/高低速的判断22FLAG0/高低速标志位FORI0I5N0/定时中断/VOIDTIMER0INTERRUPT1/T0定时TH00X3C/50000TL00XB0TVOIDTIMER1INTERRUPT3/T1定时TH10X3C/50000TL10XB0TTIFTT20TT0SECCIFSECC6023SECC0FENIFFEN60FEN0SHIIFSHI24SHI0/数据处理/VOIDDATE_DEALUC
39、HARIIFT20T0SECIFFLAG1/低速VTAB_V5ELSEV0FORI0I100LED1DELAY5LED0DELAY5ELSELED0/主函数/VOIDMAININITWHILE1DATE_DEALV1V10S1S10IFP1_10DELAY1IFP1_10WHILEP1_10KIFK1K0IFK0SHOWV1/100,0/速度显示VSSHOWV1/1010,1SHOWV110,225SHOWS1/100010,4/路程显示VSSHOWS1/10010,5SHOWS1/1010,6SHOWS110,7IFK1SHOWSHI/10,0SHOWSHI10,1SHOW16,2SHOWFEN/10,3/时间显示VSSHOWFEN10,4SHOW16,5SHOWSECC/10,6SHOWSECC10,7