毕业设计(论文)-基于AT89S51单片机的超声波测距系统设计

上传人:r****d 文档编号:153174625 上传时间:2022-09-17 格式:DOC 页数:26 大小:1.81MB
收藏 版权申诉 举报 下载
毕业设计(论文)-基于AT89S51单片机的超声波测距系统设计_第1页
第1页 / 共26页
毕业设计(论文)-基于AT89S51单片机的超声波测距系统设计_第2页
第2页 / 共26页
毕业设计(论文)-基于AT89S51单片机的超声波测距系统设计_第3页
第3页 / 共26页
资源描述:

《毕业设计(论文)-基于AT89S51单片机的超声波测距系统设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于AT89S51单片机的超声波测距系统设计(26页珍藏版)》请在装配图网上搜索。

1、摘 要近年来随着科技的飞速开展,单片机的应用正在不断地走向深入,同时带动传统控制检测,日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。它是一种集计数和多中接口于一体的微控制器,被广泛应用在智能产品和工业自动化上,而51单片机是个单片机中最为典型和最有代表性的一种。 本设计主要应用AT89S51作为控制核心,显示器,驱动电路等相结合的系统。充分发挥了单片机的性能。其优点硬件电路简单,软件功能完善,控制系统可靠,具有一定的使用和参考价值。关键词:单片机;AT89S51;AbstractIn rec

2、ent years with the rapid development of technology, SCM applications are continually deepening, led the traditional control of the Crescent benefit update. In real-time detection and control of the MCU application systems, SCM is often as a core component to use, SCM is the main function of the comp

3、uter components are integrated in a chip micro-computer. It is a set of interfaces and multiple counts integrates microcontrollers, are widely used in industrial automation products and smart, and 51 is a microcontroller, the most typical and the most representative one. The main application AT89S51

4、 design as the core control, monitor, drive circuit and system integration. Give full play to the MCU performance. The advantage of simple circuit hardware, software, functional and reliable control system, the use and have some reference value.Keywords: SCM;AT89S51目 录引言 41 课题目标任务52 AT89S51芯片超声波简介62

5、.1 AT89S51芯片引脚结构 62.2 超声波简介 73 硬件设计 83.1 硬件电路 8 复位电路 83.3 显示电路 9 驱动电路 9硬件电路设计 94软件设计 10延时程序 104.2 74LS04反相器 104.3 中断系统 11 4.4 程序流程图135 系统调试 15输出扩展电路设计 15硬件调试16软件调试16设计的体会17致 谢18参考文献 19附图1超声波原理图附图2超声波单面PCB板图附录附录3AT89S51芯片主程序引 言随着大规模集成电路技术的开展,可以将CPU、RAM、ROM、定时器/计数器及输入/输出I/O接口电路等主要计算机部件,集成在一块电路芯片上。这样所组

6、成的芯片级的微型计算机称为单片微型计算机,简称为单片机。虽然单片机只是一个芯片,但从组成和功能上,它已具有了微机系统的含义。 由于单片机从功能和形态来说都是应控制领域应用的要求而诞生的,并且开展到新一代80s51、M68HC11、AT89S51、AT89S52,其中着力扩展了各种控制功能,更准确的反映单片机本质的叫法。 AT89S51是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFalsh Programmable and Erasable Read Only Memory的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的

7、MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 89S51相对于89C51增加的新功能包括:新增加很多功能, 性能有了较大提升; ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能;工作频率为33MHz,大家都知道89S51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度;具有双工UART串行通道; 双数据指示器;电源关闭标识;全新的加密算法,这使得对于89S51

8、的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯;兼容性方面:向下完全兼容51全部字系列产品。比方8051、89S51等等早期MCS-51兼容产品。在89S51上一样可以照常运行,这就是所谓的向下兼容。 1 课题目标任务 1论文的主要内容11、本课题的总体介绍对水塔智能水位控制系统进行方案设计,相应的硬件电路和系统软件设计,并做出控制系统。12、工作内容1)完成水塔智能水位控制系统总体方案设计、电路设计。2)连接完整的硬件电路并能调试出正确的结果。13、课题的具体任务1)水塔智能水位控制系统基于单片机控制,系统设计电路由输入脉冲电路、单片机、晶振和复位电路和控制电路

9、等局部组成2)设计水塔水位的测试及显示系统,还有水位的控制系统.2论文的要求与数据1)、完成该课题必须重点研究单片机控制、脉冲电路、晶振和复位电路和键盘的使用等关键问题和理论;2)、研究方案的设计、研究方法和手段要合理,符合理论与实践的要求; 3)、水塔智能水位的控制系统首先要能正确检测水位并能正确显示,并有及时调整水位的功能.(3) 设计目的1、进一步熟悉和掌握单片机的工作原理和结构功能,熟悉其根本的振荡和复位电路原理。2、熟悉单片机I/O口的根本输入输出功能以及I/O口的扩展使用。3、掌握单片机内部功能模块的应用:如定时器、计数器、中断系统等。4、掌握按键与单片机连接的使用以及数码管接口电

10、路设计。5、熟悉PCB板的布线、腐蚀和元器件的焊接的流程和方法,进一步掌握电路板的检测顺序和方法2 AT89S51芯片超声波简介AT89S51控制超声波信号的发送和接收,串行数据发送 ,及温度校正 采样频率的输入,并通过运算转换成温度数据,校正不同温度下,距离误差后,在LED上显示所测距的离厘米数据并和已输入的预置数进行比较, 如到达预置值那么进行开或关的开关量信号输出.LED显示为动态循环显示,共阳极接法. DS18B20 在本电路中取得外界温度值, 以利于AT89S51的运算并校正不同温度下测距的回波数值以及在LED上显示实时环境的温度值.接收电路接收物体反射超声波回波信号,该芯片内部包括

11、了前置放大,限幅放大,整形,输出数据信号以便MCU检测, 判断回波的数据正确与否及时差, 并计算出测距的距离数值.该板接收可预置超声波控制器,发送的1200BIT串行数据信号,直接用导线和超声波控制器 串口连接时,可传送几十米,如通过485串口发送可传送2千米以上。 AT89S51芯片的引脚结构 本次设计采用了常见的AT89S51单片机为核心处理器。AT89S51是一个低功耗,高性能CMOS 8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构, AT89S51具有40个引脚,4k Bytes Flash片内程序存储器,128 By

12、tes的随机存取数据存储器RAM,32个外部双向输入/输出I/O口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗WDT电路,片内时钟振荡器。AT89S51单片机共有40个引脚,其引脚图如下: 图12.2 超声波简介由于超声波所具有的能量很大,就有可能使物质分子产生显著的声压作用、例如当水中通过一般强度的超声波时超声波流量计的根本原理及类型超声波在流动的流体中传播时就载上流体流速的信息。因此通过接收到的超声波就可以检测出流体的流速,从而换算成流量。根据检测的方式,可分为传播速度差法、多普勒法、波束偏移法、噪声法及相关法等不同类型的超声波流量计。起声波流

13、量计是近十几年来随着集成电路技术迅速开展才开始应用的一种 非接触式仪表,适于测量不易接触和观察的流体以及大管径流量。它与水位计联动可进行敞开水流的流量测量。使用超声波流量比不用在流体中安装测量元件故不会改变流体的流动状态,不产生附加阻力,仪表的安装及检修均可不影响生产管线运行因而是一种理想的节能型流量计。 众所周知,目前的工业流量测量普遍存在着大管径、大流量测量困难的问题,这是因为一般流量计随着测量管径的增大会带来制造和运输上的困难,造价提高、能损加大、安装不仅这些缺点,超声波流量计均可防止。因为各类超声波流量计均可管外安装、非接触测流,仪表造价根本上与被测管道口径大小无关,而其它类型的流量计

14、随着口径增加,造价大幅度增加,故口径越大超声波流量计比相同功能,其它类型流量计的功能价格比越优越。被认为是较好的大管流量测量仪表,多普勒法超声波流量计可测双相介质的流量,故可用于下水道及排污水等脏污流的测量。在发电厂中,用便携式超声波流量计测量水轮机进水量、汽轮机循环水量等大管径流量,比过去的皮脱管流速计方便得多。超声被流量汁也可用于气体测量。管径的适用范围从2cm到5m,从几米宽的明渠、暗渠到500m宽的河流都可适用。 另外,超声测量仪表的流量测量准确度几乎不受被测流体温度、压力、粘度、密度等参数的影响,又可制成非接触及便携式测量仪表,故可解决其它类型仪表所难以测量的强腐蚀性、非导电性、放射

15、性及易燃易爆介质的流量测量问题。超声波具有较好的指向性频率越高,指向性越强。这在诸如探伤和水下声通讯等应用场合是主要的考虑因素。频率高时,相应地波长将变短,因而波长可与传播超声波的试样材料的尺寸相比较,甚至波长可远小于试样材料的尺寸这在厚度尺寸很小的测量应用中以及在高分辨率的探伤应用中是非常重要的。超声波用起来很安静,人们听不到它。这一点在高强度工作场合尤为重要。这些高强度的工作用可闻频率的声波来完成时往往更有效,然而遗憾的是,可闻声波工作时所产生的噪声令人难以忍受,有时甚至是对人体有害的。3 硬件设计3.1 硬件电路该设计的硬件电路由主控局部(单片机AT89S51)、计时局部实时时钟芯片DS

16、1302、显示局部八段数码管、电源局部三端稳压器78054个局部组成。各局部之间相互协作,构成一个统一的有机整体,实现功能。各局部的硬件电路设计如下。复位电路(1)单片机AT89S51作为主控芯片,控制整个电路的运行。单片机外围需要一个复位电路,复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。该设计采用含有电阻的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降电池电压缺乏等引起的问题,在电源电压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统

17、可靠复位。复位电路的设计图如图2示: 复位电路图2 2复位是单片机的初始化操作,使CPU及各专用存储器处于一个确定的初始状态,其中把PC的内容初始化为0000H,使单片机从0000H单元开始执行程序,除了系统的正常开机上电复位外,当程序运行出错或操作错误使系统处于死循环状态时,为摆脱困境,可按复位键进行复位,复位电路由片外和片内两局部电路组成。AT89S51的RST引脚为复位引脚,只要在RST引脚上出现两个机器周期以上的高电平,即可实现复位。复位通常有上电复位和按键复位两种方法。本设计采用的是按键复位,当按下按键后,电容被短路,RST引脚就处于高电平,就可以到达复位的目的。电路如图3所示。图3

18、复位电路显示电路四段数码显示管有两种,一种是共阳极数码管,其内部是由八个阳极相连接的发光二极管组成;另一种是共阳极数码管,其内部是由四个阳极相连接的发光二极管组成。二者原理不同但功能相同。本设计的时间显示选用四个共阴极四段数码管LED,其外形和内部结构如图4所示: 显示电路 图4驱动电路而LED显示电路就像单片机系统的眼睛,实时地向人们传递着系统工作的各种状态信息和处理结果。因此,高效、方便的LED显示驱动电路是构成完善的单片机系统必不可少的元素。常用的LED显示驱动电路有并行译码方式、串行并行转换方式、显示驱动接口芯片方式等。 驱动电路图5硬件电路设计MCS-51系列单片机的并行I/O口:接

19、口电路是微机必不可少的组成局部,并行输入确出接口是CPU和外部进行信息交换的主要通道。MSC51系列单片有4个8位并行双向I/O口P0P3,共32根I/O线。每一根线能独立用作输入或输出。单片机可以外接键盘、显示器等外围设备还可以进行系统扩展,以解决硬件资源缺乏问题。4个并行口都是双向口,既可以输入又可以输出。P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。这4个I/O口结构根本相同,但仍存在差异。P1口:通道1,双向I/O口,本次设计连接按键,用语按键信号的输入4软件设计延时程序延时程序延与 MCS - 51 执行指令的时间有关, 如果使用 6 M

20、Hz晶振, 一个机器周期为 2 s, 计算出一条指令以至一个循环所需要的执行时间, 给出相应的循环次数, 便能到达延时的目的。10 秒延时程序如下: DELAY: MOV R5, 100 DEL0: MOV R6, 200 DEL1: MOV R7, 248 DEL2: DJNZ R7, DEL2 DJNZ R6, DEL1 DJNZ R5, DEL0 RET 上例程序中采用了多重循环程序, 即在一个循环体中又包含了其它的循环程序, 这种方式是实现延时程序的常用方法。 使用多重循环时, 必须注意: (1 循环嵌套, 必须层次清楚, 不允许产生内外层循环交叉。 (2 外循环可以层层向内循环进入,

21、 结束时由里往外层层退出。 (3 内循环可以直接转入外循环, 实现一个循环由多个条件控制的循环结构方式。4.2 74LS04反相器,管脚图如附图所示。74LS04管脚图4.3 中断系统 中断的概述程序执行过程中,容许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断效劳程序中去;完成中断效劳程序后,CPU继续原来被打断的程序,这样的过程称为中断过程,4.3.2 中断响应的一般过程 (1) 在每条指令结束后, 系统都自动检测中断请求信号, 如果有中断请求,且CPU处于开中断状态下, 那么响应中断。 (2) 保护现场, 在保护现场前, 一般要关中断, 以防止现场被破坏。保护现

22、场一般是用堆栈指令将原程序中用到的存放器推入堆栈。 80S51中有五个中断源 MCS - 51单片机有 5个8052有 6个中断源, 为了使每个中断源都能独立地被允许或禁止, 以便用户能灵活使用, CPU内部在每个中断信号的通道中设置了一个中断允许触发器, 它控制CPU能否响应中断。只有对应的中断允许触发器被使能置“1”,相应的中断才能得到相应4.3.4 MCS51中断系统 MCS51中断系统结构框图中断系统的应用 例 1 单步操作的中断实现。 把一个外部中断设为INT0设置为电平激活方式。其中断效劳程序的末尾写上如下几条指令: JNB P3.2, $ ; 在INT0变高前,原地等待(死循环)

23、 JB P3.2, $; 在 INT0变低前,原地等待(死循环) RETI ; 返回并执行一条指令现在,假设INT0保持低电平, 且允许INT0中断, 那么CPU就进入外部中断 0 效劳程序, 由于有上述几条指令, 它就会停在 JNB处, 原地等待。当INT0 端出现一个正脉冲由低到高, 再到低时, 程序就会往下执行, 执行RETI后, 将返回主程序, 往下执行一条指令, 然后又立即响应中断,以等待INT0端,出现的下一个正脉冲。 这样在INT0端每出现一个正脉冲, 主程序就执行一条指令, 实现了单步执行的目的, 要注意的是, 这个正脉冲的高电平持续时间不小于 2 个周期, 以确保 CPU能采

24、集到高电平值。 4.4程序流程图 开始初始化单片机机设置中断检测按键数码管显示结束是否显示完? N 主程序流程图 是否有功能键按下? N关中断T0,开T1执行修改修改完毕开始 N开T0,关T1,正常计时结束图4.2 按键中断处理流程图N读该键状态有键按下否调用延时程序按键有效否键值处理键释放否?调用延时程序确定键释放键释放有效否一次按键完成按键功能处理开 始结 束、NYY确定键是否按下YNNY4.3 软件去抖动流程图5系统调试硬件电路设计MCS-51系列单片机的并行I/O口:接口电路是微机必不可少的组成局部,并行输入确出接口是CPU和外部进行信息交换的主要通道。MSC51系列单片有4个8位并行

25、双向I/O口P0P3,共32根I/O线。每一根线能独立用作输入或输出。单片机可以外接键盘、显示器等外围设备还可以进行系统扩展,以解决硬件资源缺乏问题。4个并行口都是双向口,既可以输入又可以输出。P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。这4个I/O口结构根本相同,但仍存在差异。P1口:通道1,双向I/O口,本次设计连接按键,用语按键信号的输入 硬件调试根本电路板检查:根据前面的研究完成各个电路模块的原理设计并生成PCB图,制作电路板,进行实验调试。1检查印制板的印制线是否有断路,是否有毛刺,是否与其它线或是焊盘粘连,焊盘是否有脱落,过孔是否有未

26、金属化现象等等。2 先用万用表复核目测中认为可疑的连接或是接点,检查它们的通短状态是否与设计规定相符。再检查各种电源线与地线之间是否有短路现象,如有再仔细检查出并排除。短路现象一定要在器件安装及加电前检查出。3路接通电源后,用手摸一下芯片是否发热,如果发热,立即关掉电源,稍后再进行再次检测;如果没有发热,再测试芯片的VCC端电压是否到达设计要求,接地端是否都接地。主控模块调试:在本次设计中,主控模块是非常重要的局部,它不仅是本次设计的核心,在本次硬件调试中也遇到了问题,接上电源的时候,数码管不亮,没有任何显示,于是我做了如下的工作:(1)检查电源是否通电,发现指示灯亮着;(2)编程使P1为低电

27、平,检查到P1输出为低;(3)检查P0口未接上拉电阻,接上数码管发亮了。软件调试当硬件制作完成后,软件制作也是不可轻视的局部,是实现电路的功能的关键局部,通过本次毕业设计,总结经验如下:1先进行人工检查。写好程序后,不要立刻烧入单片机,先对纸面上的程序进行人工检查。由于采用C语言编程,所以要特别小心地检查语法错误,如括号不配对,漏写分号等,通过仔细的检查,发现并排除这些错误。2人工检查无误后,上机调试。在编译时给出的语法错误的信息,根据提示的信息具体找出程序中错误之处并改之,从上至下逐一改正。应当注意的是:有的提示出错行并不是真正出错的行,如果在提示出错的行上找不到错误的话,那么应该到上行再找

28、。3 当确认程序无语法错误和逻辑错误时,通过直接下载到单片机来调试。采用的是自下到上的调试方法,即单独调好每一个模块,然后再连接成一个完整的系统调试。4 程序烧入单片机后,观察各个部件的工作是否正常,功能是否实现。如不能正常工作,那么继续检查程序中的相应模块,必要时从上到下重新检查程序。设计的体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术开展的日新日异,单片机已经成为当今计算机应用中空前活泼的领域, 在生活中可以说得是无处不在。这次的毕业设计通过搜集单片机的相关资料和撰写论文对我来说是一次非

29、常难得的锻炼时机,可以说已经囊括了大学期间大局部的知识,从选题到定稿,从理论到实践可以把所学的专业认识充分运用起来解决具体的问题,不仅可以稳固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,能够使所学知识融会贯穿。对于我来说这不仅仅是一次毕业设计,更重要的是在学习的过程中提高了我学习的能力、解决问题的能力和实际工作的能力,这些技能和方法都会对将来的工作有很大的帮助。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回忆起此次单片机课程设计,至今我仍感慨颇多,可以说得是苦多于甜,但是可以学到很多很多的东西,通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知

30、识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的缺乏之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比方说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。超声波原理图:AT89S51芯片主程序: VOUT EQU P1.0 ; 红外脉冲输出端口;*;* 中断入口程序 *;*; ORG 0000H LJMP STAR

31、T ORG 0003H LJMP PINT0 ORG 000BH reti ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI ;*;* 主 程 序 *;*; START: MOV SP,#4FH MOV R0,#40H ;40H-43H为显示数据存放单元40H为最高位 MOV R7,#0BH CLEARDISP: MOV R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H MOV TMOD,#11H ;T1为 T0为16位定时器 MOV TH0,#00H ;65毫秒初值 M

32、OV TL0,#00H MOV TH1,#00H MOV TL1,#00H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV R4,#04H ;超声波肪冲个数控制为赋值的一半 SETB PX0 SETB ET1 SETB EA SETB TR1 ;开启测距定时器 start1: LCALL DISPLAY JNB 00H,START1 ;收到反射信号时标志位为1 CLR EA LCALL WORK ;计算距离子程序 lcall baojing clr EA MOV R2,#32h;#64H ;测量间隔控制约4*100=400MS L

33、OOP: LCALL DISPLAY DJNZ R2,LOOP CLR 00H setb et0 mov th0,00h mov tl0,00h SETB TR1 ;重新开启测距定时器 SETB EA SJMP Start1;*;* 中断程序* *;* ;T1中断,发超声波用 ;T1中断,65毫秒中断一次INTT1: CLR EA CLR TR0 clr ex0 MOV TH0,#00H MOV TL0,#00H MOV TH1,#00H MOV TL1,#00H SETB ET0 SETB EA SETB TR0 ;启动计数器T0,用以计intt11: CPL VOUT ;40KHZ nop

34、 nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop DJNZ R4,intt11 ;超声波发送完毕, MOV R4,#04H lcall delay_250 ;延时,避开发射的直达声波信号 SETB EX0 ;开启接收回波中断 RETIOUT: RETI;外中断0,收到回波时进入PINT0: nop jb p3.2,pint0_exit CLR TR0 ;关计数器 CLR EA ; CLR EX0 ; MOV 44H,TL0 ;将计数值移入处理单元 MOV 45H,TH0 ; mov th0,#00h mov tl0,#00h jnb p3.2,$ S

35、ETB 00H ;接收成功标志pint0_exit: RETI;*;* 显示程序 *;* DISPLAY: MOV R1,#40H;G MOV R5,#7fH;G PLAY: MOV A,R5 MOV P0,#0FFH MOV P2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,R5 JNB ACC.4,ENDOUT;G RR A MOV R5,A AJMP PLAY ENDOUT: MOV P2,#0FFH MOV P0,#0FFH RET; TAB: DB 18h, 7Bh, 2Ch, 29

36、h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh ;共阳段码表 0 1 2 3 4 56 7 8 9 不亮A-;*;* 延时程序 *;*; DL1MS: push 06h push 07h MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 pop 07h pop 06h RET;*;* 距离计算程序 (=计数值*17/1000cm) *;*;work: PUSH ACC PUSH PSW PUSH B MOV PSW, #18h MOV R3, 45H MOV R2, 44H MOV R1, #00D M

37、OV R0, #17D LCALL MUL2BY2 MOV R3, #03H MOV R2, #0E9H LCALL DIV4BY2 LCALL DIV4BY2 MOV 40H, R4 MOV A,40H JNZ JJ0 MOV 40H,#0AH ;最高位为零,不点亮JJ0: MOV A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #100D LCALL DIV4BY2 MOV 41H, R4 MOV A,41H JNZ JJ1 MOV A,40H ;次高位为0,先看最高位是否为不亮 SUBB A,#0AH JNZ JJ1 MO

38、V 41H,#0AH ;最高位不亮,次高位也不亮JJ1: MOV A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #10D LCALL DIV4BY2 MOV 42H, R4 MOV A,42H JNZ JJ2 MOV A,41H ;次次高位为0,先看次高位是否为不亮 SUBB A,#0AH JNZ JJ2 MOV 42H,#0AH ;次高位不亮,次次高位也不亮JJ2: MOV 43H, R0 POP B POP PSW POP ACC RET;*;* 两字节无符号数乘法程序 *;*; R7R6R5R4 = R3R2 * R1R

39、0;MUL2BY2: CLR A MOV R7, A MOV R6, A MOV R5, A MOV R4, A MOV 46H, #10HMULLOOP1: CLR C MOV A, R4 RLC A MOV R4, A MOV A, R5 RLC A MOV R5, A MOV A, R6 RLC A MOV R6, A MOV A, R7 RLC A MOV R7, A MOV A, R0 RLC A MOV R0, A MOV A, R1 RLC A MOV R1, A JNC MULLOOP2 MOV A, R4 ADD A, R2 MOV R4, A MOV A, R5 ADDC

40、A, R3 MOV R5, A MOV A, R6 ADDC A, #00H MOV R6, A MOV A, R7 ADDC A, #00H MOV R7, AMULLOOP2: DJNZ 46H, MULLOOP1 RET;*;* 四字节/两字节无符号数除法程序 *;*;R7R6R5R4/R3R2=R7R6R5R4(商).R1R0(余数);DIV4BY2: MOV 46H, #20H MOV R0, #00H MOV R1, #00HDIVLOOP1: MOV A, R4 RLC A MOV R4, A MOV A, R5 RLC A MOV R5, A MOV A, R6 RLC A M

41、OV R6, A MOV A, R7 RLC A MOV R7, A MOV A, R0 RLC A MOV R0, A MOV A, R1 RLC A MOV R1, A CLR C MOV A, R0 SUBB A, R2 MOV B, A MOV A, R1 SUBB A, R3 JC DIVLOOP2 MOV R0, B MOV R1, ADIVLOOP2: CPL C DJNZ 46H, DIVLOOP1 MOV A, R4 RLC A MOV R4, A MOV A, R5 RLC A MOV R5, A MOV A, R6 RLC A MOV R6, A MOV A, R7 RLC A MOV R7, A RET

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