自行车里程速度表论文_第1页
自行车里程速度表论文_第2页
自行车里程速度表论文_第3页
自行车里程速度表论文_第4页
自行车里程速度表论文_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、前言自行车,又称脚踏车或单车,通常是二轮的小型陆上车辆。人骑上车后,以脚踩踏板为动力,是绿色环保的交通工具。由于各国生活水平的差异,使用自行车的目的各不相同,有些国家的骑行者以旅游、锻炼身体以及少年儿童体育运动为主要目的,自行车是克服心脏功能毛病的最佳工具之一。随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车在中国普遍作为代步工具。而在国外,自行车却是一项十分受欢迎的健身运动。因为它无污染,价位低廉,老少皆宜。而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。在中国这种情况也在慢慢发生变化。因此爱好自行车运动的人十分学

2、要一款能测速的装置,以知道自己的运动情况。并根据外界条件,如温度,风速等进行适当的调节,已达到最佳运动的效果。 而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。因为教练要根据一段时间内运动员的训练效果进行评估,从而进行适当的调整已使运动员达到最佳的状态。因此需要一种装置进行对训练中各种参数的测定记录。本作品就是针对此而设计的。摘要自行车里程速度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、

3、里程等物理量。本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。以 AT89C52 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 24C02 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LED实时显示。文章详细介绍了自行车的速度里程表的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。一The Odometer/Speedometers Design Of The

4、BikeAbstract: This article introduced used the Micro Computer Unit of the AT89C52 design The Odometer/Speedometers Of The Bike, it utilizes Micro Computer Unit's operation and control function, and it uses the nixietube real time display to measure the speed and the course speed hodometer design

5、 proposal, it realizes two frequency divisions with the frequency divider of TC4024,it uses for to discuss the 24C01 sensor's use, through the practical electric circuit's design it grasps the odometer/speedometers application method and some performance parameter。This system contains the el

6、ectronic circuit technology, as well as the commonly used AT89C52 Micro Computer Unit's work principle, through this system's design, which pairs them organic union。With the developing of peoples life, the bicycle is not only the universal tool of transportation and substitute for walking, b

7、ut becomes the first choice of entertainment and exercising. The bicycle mileage/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/speed design based on the Hall element is elaborated. By AT89C52 as k

8、ernel, using A44E Hall element to measure revolution, the measure and statistic are achieved. The range information is saved by 24C02 when the power is off, the bicycle speed can be displayed on LED. In this article, the hardware circuit and software design of bicycle mileage/speed instrument are in

9、troduced in detail. About the hardware, the pulse number is transmitted of one cycle of the bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in assemble language; the program is designed in the

10、 mode of modules. The system has simple hardware, common sub-program, and meets the demand of design.2目 录第一节 概 述2第二节 硬件方面的设计32.1系统组成结构框图32.2具体硬件电路及工作原理32.3 AT89C2051单片机介绍42.3.1芯片概述42.4其他外围硬件电路62.4.1电源电路62.4.2霍尔传感器介绍62.4.3 4位串行静态显示电路介绍7第三节 软件方面的设计83.1主程序设计83.2 外中断0和 T1定时溢出中断服务子程序设计83.3 速度/里程显示控制子程序设计

11、83.4系统完整源程序9结论10参考文献11附录12附录1源程序12附录2 整体电路图13谢辞··········································&

12、#183;·················································&

13、#183;·····14第一节 概 述本设计介绍的速度与里程表设计以单片机和光电传感器为核心。传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直接的显示给使用者。该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替

14、显示所测速度与里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过

15、E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。    设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的速度和里程值采用6位显示,并包含两个小数位。第二节 硬件设计2.1系统组成结构框图根据功能要求,首先要进行的是总体方案的设计于论证,构思一个符合

16、实际要求的系统,如图2.1所示。系统由测量模块、功能选择模块、显示模块、供电模块和单片机小系统构成。功能选择后启动测量,大片及实时采集、处理后显示。霍尔传感器开关功能选择显 示功能指示灯2051 单 片 机 稳压器+5V电池组充电电路发电机图2.1 系统组成结构框图2.2具体硬件电路及工作原理具体硬件电路如图2.2所示。 图2.2 系统硬件电路原理图速度和里程由开关型霍尔传感器测量,已知自行车轮子的周长(本系统采用的是1.8m,设为L),轮子每转动一圈,传感器采样一个下降沿信号并送到单片机的外中断0产生一次中断,全书加1,两个相邻下降沿信号的时间由单片机定时器1计时(设为T),哪么计算当前速度

17、(设为V)和行驶里程(设为S)的公式为: V=1.8/T, S=1.8m*所行驶的圈数S1是单片机的复位开关,系统采用按键电平复位开关;S2是电源开关,并由灯D1指示;S3为速度和里程切换开关;S4为限速切换开关,可以根据自身需要选择不同的最大超速速度;S5为里程单位切换开关。P1.4输出低电平时,控制D2亮,表示此时显示的里程值为km/h,P1.5输出低电平时,控制灯D3亮,提示速度太慢;P1.6输出低电平时,控制灯D4亮,表示此时的显示值时里程(否则为速度);P1.7控制超速报警电路,其为高电平表示行驶速度正常,为低电平时,三极管9012导通,驱动蜂鸣器报警。2.3 AT89C2051单片

18、机简介2.3.1芯片概述AT89C2051是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C2051单片机在电子类产品中有广泛的应用。AT89C2051是一带有2K字节闪速可编程可擦除只读存储器(EEPROM)的低电压,高性能8位CMOS微处理器。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结构兼容。通过

19、在单块芯片上组合通用的CPLI和闪速存储器,ATMEL的AT89C2051是一强劲的微型处理器,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法。AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。   AT89C2051是一个功能强大的单片机,

20、但它只有20个引脚,15个向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。管角配置图2.3所示。图2.3 2051引脚图主要功能介绍(1) 兼容MCS51指令系统(2) 15个双向I/O口(3) 两个16位可编程定时/计数器(4) 时钟频率

21、0-24MHz(5) 两个外部中断源(6) 可直接驱动LED(7) 低功耗睡眠功能(8) 可编程UARL通道(9) 2k可反复擦写(>1000次)Flash ROM(10) 6个中断源(11) 2.7-6.V的宽工作电压范围(12) 128x8bit内部RAM(13) 两个串行中断(14) 两级加密位(15) 内置一个模拟比较放大器(16) 软件设置睡眠和唤醒功能可见。2051可以为很多的嵌入式控制应用提供高度灵活而且价格低廉的方案,特别适合小系统。本系统仅用到单片机的10个I/O口,所以选用2051单片机做主系统。2.4其他外围硬件电路 2.4.1电源电路 如图2.4所示。发电机发出+

22、15V的交流电,经整流滤波后,再给镍氢电池组充电,充电采用恒流方式。已充电的电池组经7805稳压,给霍尔传感器和单片机系统供电。由图2.4 电源电路原理图于充电电流可达400500mA,且充电时间较长,所以三极管选用功率高的C8050。5K的电位器用于调节充电电流,避免电流过大烧坏元件。当然,实验设计过程中为了简便,我们可以不用电机。直接用4个1.5V的电池组经7805稳压后得到+5V电压给单片机系统和霍尔传感器供电。2.4.2霍尔传感器 霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。本系统采用JK8002D霍尔接近开关,他是一种非接触型无触点开关,系统通过它探测外部的磁场的强弱变化

23、,继而控制开关输出。磁场由外部的磁钢产生。JK8002D霍尔接近开关的内部原理图和输入/输出特性如图(5)和图(6)所示。JK8002D霍尔接近开关的输入量是磁感应强度B,当B值达到一定的程度(如Bl)时,霍尔开关内部的触发器翻转,其输出电平状态也随之翻转。当探头与磁钢距离由远而近为8mm时,霍尔元件输出端输出一个无抖动的低电平(约为0.2V),当两者距离足够远时,霍尔元件输出端输出一个无抖动的高电平(约为3.7V),所以输出信号可直接到单片机的外中断0的引脚。霍尔传感器是利用霍尔效应制成的一种磁敏传感器。在置于磁场中的导体或半导体通入电流I,若电流垂直磁场B,则在与磁场和电流都垂直的方向上会

24、出现一个电势差Uh,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因为它具有结构简单、频率响应宽、灵敏度高、测量线性范围大、抗干扰能力强以及体积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等领域。霍尔效应原理图如图2.4所示。图2.4 霍尔效应原理图2.3.1 集成开关型霍尔传感器A44E集成霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器 C、施密特触发器D和OC门输出E五个基本部分组成,如图2.5(a)所示。(1)、(2)、(3)代表集成霍尔开关的三个引出端点。在电源端加电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,

25、当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开 。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关 。这样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。传感器主要特性是它的输出

26、特性,即输入磁感应强度B与输出电压V0之间的关系。A44E集成霍尔开关是单稳态型,由测量数据作出的输出特性曲线如图 2.5(b)所示。测量时,在1、2两端加5V直流电压,在输出端3与1之间接一个2kW的负载电阻,如图2.6所示。图2.5 集成开关型霍尔传感器 2.4.3 4位串行静态显示电路当单片机的UART口部进行串行通信时,可设置其工作于同步移位寄存器方式0,以输出显示信息,实现n位LED的静态显示,这样做只占用了很少的I/O口线。系统中,4各共阳极得LED数码管和4片 74LS164构成4位数字显示电路,74LS164将串行输入的显示信息转换成并行输出,驱动数码管显示。74LS164在低

27、电平输出时允许通过的电流为8mA,故不必添加驱动电路即可获取理想亮度。与动态扫描方式相比较,该方式无须CPU做不停的扫描,频繁地为显示服务,节省了CPU的时间,软件世界也比较简单。显示电路如图2.5所示。图2.5 4位串行静态显示电路原理图第三节 软件设计3.1主程序设计主程序流程图见图3.1。开机后系统自检,正常时LED显示“”,同时等待自行车行驶。轮子开始转圈后,系统进行记录和计算,并根据速度/里程开关的选择显示数值。开始显示欢迎信息检测按钮处理时钟设置刷新累计行驶时间及时钟初始化设置特殊寄存器、置定时常数、开中断、清屏等等待中断检测按钮处理直径设置刷新里程、速度等改变屏幕显示内容INT0

28、INT1T0N系统初始化主程序P3.2=0?Y开始初始显示P1.0=1?N显示里程显示速度Y图3.1 主程序流程图3.2 外中断0和 T1定时溢出中断服务子程序设计外中断0服务子程序用于对输入脉冲的个数即轮子转圈的次数计数。每计数一次,系统保存圈数值的同时保存定时器的计时值,并根据功能开关键实时显示相应的值。T1定时溢出中断服务子程序用于实时统计记一次数的经历时间。T1定时的基准时间设为20ms,假设记一次数中T1中断的次数为C,1.8/(20C)ms即当前自行车行驶的速度。用内部定时加外中断的方法实现了对输入脉冲信号的测量,这是本系统最关键的程序部分。3.3 速度/里程显示控制子程序设计最大

29、允许速度由限速切换开关S4控制,超速使单片机的P1.7输出低电平报警。若行驶速度太慢(<0.5m/s),灯D3不断闪烁,LED交替显示“Erro”、“Sudu”和当前速度值,以引起骑车者的注意。速度显示值的单位有km/h和每m/s,由功能键S5切换。对于里程值,为了较精确地显示,程序设置了不同里程范围时所显示的小数点后数字的位数:里程为10m99m,显示2位小数;里程为100m999m,显示1位小数。3.4系统完整源程序如附录1结论本设计以AT89C2051为核心,通过光电传感器来检测自行车的运转情况进而实现自行车的速度,里程的计算及里程的累计,存储,最后用6位的LED能直观的将速度与里

30、程显示给用户,并且在速度高于一定的值时可自动向用户报警,从而达到智能速度里程表。毕业设计(论文)是学生综合运用所学理论知识来分析和解决具有一定复杂程度的实际问题的一个实践过程;是提高学生观察事物、获取信息、理解和表述事物能力及分析、解决实际问题能力的重要教学环节;是培养学生技术经济分析能力、独立工作能力、与人合作能力、创新能力及养成理论联系实际的工作作风和提高工程实践能力的重要途径;是学生走向社会之前对其本身综合素质与能力的全面检验,也是全面衡量学校教育教学质量的一个重要依据。因此,毕业设计(论文)质量如何,在很大程度上客观、全面地反映了毕业生的能力和素质,反映了学校教育教学工作的质量和水平,

31、这次实践让我该变了对知识的看法,无论是大问题还是小问题,都是解决问题的一部分,缺一不可,平时对小知识点的疏忽导致在处理问题上出现障碍,一件东西的设计与发明,缺少不了大量的查资料,无论是中国文献还是外国文献,获得需要的资料可以是从电脑上,课本上,老师那问,和图书馆查找有关书籍,还有问问同学,一件作品不是一个人的成果,而是很多人的一点一滴辛苦聚集起来的,开始还没做论文时,有点害怕和不知所措,不知道从何处下手,于是大量的看别人写过的有关论文,看看别人的大概思路,设计理念,运用到的有关原理,有关元器件,于是就一个个元器件去搜索,去了解有关元器件的所有知识点,反复思考,根据那些器件的性能和优缺点最终选了

32、所需的元件。参考文献1 楼然苗, 李光飞. 51系列单片机设计实例. 北京航空航天大学出版社, 20062 松井邦彦, 梁瑞林. 传感器应用技术141例. 科学出版社, 20063 李朝青. 单片机原理及接口技术. 北京航空航天大学出版社, 19944 张洪润, 张亚凡. 传感器技术与应用教程. 清华大学出版社, 20055 张毅刚, 刘杰. MCS-51单片机原理及应用. 哈尔滨工业大学出版社,20046 黄河, 郭纪林. 单片机原理及应用. 大连理工大学出版社, 20067 刘灿军. 实用传感器. 国防工业出版社, 20048 何希才. 传感器及其应用. 国防工业出版社, 20019 陈雪

33、丽. 单片机原理及接口技术.化学工业出版社, 200510 李勋, 刘源, 李静东. 单片机实用教程.北京航空航天大学出版社, 200611 刁文兴. 自行车电子里程表的初步设计. 南京工业职业技术学院学报, 2004, 6: 25-2812 许德章等. 摩托车电子转速表智能校验仪. 自动化仪表,2000, 4: 23-2413 安宗权. 电动电子车速里程表分频电路设计. 自动化与仪器仪表, 2001, 5: 39-4414 W Q Yang. D M Spink, et. An image-reconstuction algorithm based on Landwebers iterati

34、on method for electrical-capacitance tomography. Meas. Sci. Technol. , 1999,10: 1065-106915 阎焕忠, 王长涛, 马斌. 单片机控制里程转速表的设计. 沈阳建筑工程学院学报(自然科学版),2002, 4: 145-14816 曲家骇,王季秩,伺服控制系统中的传感器M. 机械工业出版社. 199817 张友德,赵志英,涂时亮,单片机微机原理,应用与实验M.上海:复旦大学出版社,2003:122-13618 Ateml AT89S51 Data sheets.website:19 谢自美. 电子线路设计.实验

35、.测试M.武汉:华中科技大学出版社,2000:212-23020 张福学. 传感器使用电路150例.中国技术出版社.1992年附录附录1 源程序自行车里程表 /* 各引脚用途及系统功能说明P1.0 速度和里程切换:1显示速度,0显示里程P1.1 限速度切换:1 10m/s;0 8m/sP1.2 km/h和 m/s的切换:P1.4 指示显示器单位为km/hP1.5 速度太慢灯闪烁警告P1.6 0时灯亮,指示里程;为以灯不亮,显示速度P1.7 超速度报警 距离最大值为9999m6H圈、 38H圈、 22C圈、 15B6圈0m=<S<10m 10m=<S<100m 100m=

36、<S<1000m 1000m=<S<10000m周长0707H 00B4H 0012H 0012H/0AH/变量定义/XIAOSHU EDU 57H ; 小数点位数单元 GEWEI EDU 40H ; 显示单元SHIWEI EDU 41H ; BAIWEI EDU 42H ;QIANWEI EDU 43H ; QSHU1 EDU 43H ; QSHU0 EDU 61H ; 自行车圈数存储单元高位QSHU0 EDU 62H ; 自行车圈数存储单元低位SJIAN0 EDU 6CH ; T1定时溢出存储单元高位SJIAN1 EDU 6DH ; T1定时溢出存储单元低位/主程序

37、/ ORG 000H AJMP START ORG 0003H AJMP INTEX0 ORG 001BH AJMP IT11 ORG 0030HSTART: MOV SP,#75H ; 设置堆栈指针 MOV SCON,#00H ; 串行口工作方式 MOV GEWEI,#0AH ; 开机显示 MOV SHIWEI,#0AH MOV BAIWEI,#0AH MOV QIANWEI,#0AH ACALL DIS11 SETB P3.2 ; 外中断0为输入查询方式 JB P3.2 ; 等待第一个有效脉冲(下降沿)到来 ACALL CLEARRAM ; 调用系统准备显示初始化子程序STLOOP: JN

38、B P1.0,ST1 ; p1.0=0,显示速度 ACALL DISPLAYS ; P1.0=1, 显示里程 SJMP STLOOP ; 循环显示ST1: ACALL DISPLAYV ; 第一个下降沿来后显示速度 AJMP STLOOP ; 循环显示/系统准备显示初始化子程序/CLEARRAM: MOV TMOD,#10H ; T1用于定时,工作于模式1 MOV TH1,#0B1H ; 定时20ms初始值 SETB P1.2 ; P1.2-P1.0为输入 SETB P1.1 SERB P1.0 CLR A ; 相应内RAM空间清零 MOV 21H,A ; 速度/里程的BCD码高位清0 MOV

39、 22H,A ; 速度/里程的BCD码低位清0 MOV QSHU1,A ; 圈数空间清0 MOV QSHU0,A MOV 6AH,A ; T1溢出次数暂存单元高位清0 MOV 6BH,A ; T1溢出次数暂存单元低位清0 MOV SJIAN0,A ; 计数器空间清零 MOV SJIAN1,A MOV XIAOSHU,#01H ; 默认显示3位小数 SETB IT0 ; 设置外中断为边沿触发方式 SETB PT1 ; T1优先级最高 SETB EA ; 开总中断 SETB ET1 ; 开T1中断 SETB EX0 ; 开外0中断/外中断0服务子程序/INTEX0: PUSH ACC ; 累加器堆

40、栈保护 PUSH PSW ; 状态字堆栈保护 INC QSHU0 ; 圈加1 SETB P1.7 ; 置1不报警 CLR A ; 清A CJNE A,QSHU0,SUBX0 ; 计数没溢出转SUBX0 INC QSHU1 ; 溢出进位(61H加1)SUBX0: CLR TR1 ; 关计时,读轮子转一圈的时间 MOV 6AH,SJIAN0 ; 时间暂存 MOV 6BH,SJIAN1 MOV TH1,#0B1H ; 定时器T1重付初值 MOV TL1,#0DFH CLR A MOV SJIAN0,A ; 清计时空间 MOV SJIAN1,A SETB TR1 ; 重新计时 POP PSW ; 状态

41、字恢复 POP ACC ; 累加器恢复 RETI ; 中断返回/T1定时器溢出时中断服务子程序/IT11: PUSH ACC ; 堆栈保护 PUSH PSW INC SJIAN1 ; 定时20毫秒溢出次数 MOV A,SJIAN1 ; 读一圈定时的次数 CJNE A,#0BBH,SUBT1 ; 速度太慢(<0.5),处理 AJMP SUBT2 SUBT1: JC SUBT2 INC 69H ; (69H)为奇数,LED显示“Erro” MOV A,69H ; 再显示具体速度的值 JB ACC.0 ERRO ; (69H)为偶数,LED显示“Sudu” MOV GEWEI,#05H ; 再

42、显示具体速度的值 MOV SHIWEI,#0BH MOV BAIWEI,#0DH MOV QIANWEI,#0BH MOV XIAOSHU,#0BH ACALL DIS11 SJMP FS12ERRO: MOV GEWEI,#0CH MOV SHIWEI,#OBH MOV BAIWEI,#0BH MOV QIANWEI,#0DH ACALL DIS21;“Erro”或“sudu”和具体速度大值交替闪烁显示FS12: MOV R2,#01H ; CLR P1.5 ACALL DELAY2 SETB P1.5 ACALL DELAY2 DJNZ R2,FLASHSUBT2: MOV TH1,#0B

43、1H MOV TL1,#0DFH SETB TR1 POP PSW POP ACC RETI/里程显示控制子程序/DISPLAYS:CLR P1.6 ACALL JULI MOV A,QSHU1 CJNE A,#02H,DIAOYONG AJMP PANDYDIAOYONG:JNC PANDY1 AJMP BUDYPANDY: MOV A,QSHU0 CJNE A,#2CH,PANDY2 AJMP PANDY1PANDY2: JC BUDYPANDY1: MOV R6,#00h MOV R7,#0AH ACALL JULI2 ACALL BCDC ACALL FENKAI ACALL DIS2

44、1 ACALL DELAY1 RETBUDY: MOV R6,#00h MOV R7,#01h ACALL JULI2 ACALL BCDC ACALL FENKAI ACALL DIS11 ACALL DELAY1 ACALL DELAY1 RET/速度显示控制子程序/DISPLAYV:SETB P1.6 ACALL SUDU ACALL BCDC ACALL FENKAI MOV XIAOSHU,#01H RET/处理子程序1/JULI: PUSH PSW PUSH ACC MOV R2,QSHU1 MOV R3,QSHU0 JNZ GAO MOV A,QSHU0 CJNE A,#06H,

45、PAN1 AJMP PAN2PAN1: JNC PAN2 AJMP CZ707PAN2: MOV A,QSHU0 CJNE A,#38H,PAN3 AJMP GAOPAN3: JC CZB4GAO: AJMP CZ12CZ707: MOV R6,#07H MOV R7,#07H MOV XIAOSHU,#01H AJMP KAISHICZB4: MOV R6,#00H MOV R7,#0B4H MOV XIAOSHU,#02H AJMP KAISHICZ12: MOV R6,#00H MOV R7,#00H MOV XIAOSHU,#03H KAISHI为两字节乘两字节程序段KAISHI: MOV A,R3 MOV B,R7 MUL AB MOV R4,B MOV R5,B MOV A,R3 MOV B,R6 MUL AAB ADD A,R4 MOV R4,A CLR A ADDC A,B MOV B,R7 MUL AB ADD A,R4 MOV R4,A MOV A,R3 ADDC A,B MOV

温馨提示

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

评论

0/150

提交评论