收藏 分享(赏)

超声波测距毕业设计论文.doc

上传人:精品资料 文档编号:8367032 上传时间:2019-06-22 格式:DOC 页数:29 大小:1.87MB
下载 相关 举报
超声波测距毕业设计论文.doc_第1页
第1页 / 共29页
超声波测距毕业设计论文.doc_第2页
第2页 / 共29页
超声波测距毕业设计论文.doc_第3页
第3页 / 共29页
超声波测距毕业设计论文.doc_第4页
第4页 / 共29页
超声波测距毕业设计论文.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

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

2、 recent 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

3、computer 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 AT8

4、9S51 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 芯片超

5、声波简介62.1 AT89S51 芯片引脚结构 62.2 超声波简介 73 硬件设计 83.1 硬件电路 83.2 复位电路 83.3 显示电路 93.4 驱动电路 93.5 硬件电路设计 94 软件设计 104.1 延时程序 104.2 74LS04 反相器 104.3 中断系统 11 4.4 程序流程图135 系统调试 155.1 输出扩展电路设计 155.2 硬件调试165.3 软件调试16设计的体会 17致 谢18参考文献 19附图(1)超声波原理图附图(2)超声波单面 PCB 板图附录附录(3)AT89S51 芯片主程序引 言随着大规模集成电路技术的发展,可以将 CPU、RAM、RO

6、M、定时器/计数器及输入/输出(I/O)接口电路等主要计算机部件,集成在一块电路芯片上。这样所组成的芯片级的微型计算机称为单片微型计算机,简称为单片机。虽然单片机只是一个芯片,但从组成和功能上,它已具有了微机系统的含义。由于单片机从功能和形态来说都是应控制领域应用的要求而诞生的,并且发展到新一代 80s51、M68HC11、AT89S51、AT89S52,其中着力扩展了各种控制功能,更准确的反映单片机本质的叫法。AT89S51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,

7、高性能 CMOS8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。89S51 相对于 89C51 增加的新功能包括:新增加很多功能, 性能有了较大提升; ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能;工作频率为 33MHz,大家都知道 89S51的极限工作频率只有 24M,就是说

8、 S51 具有更高工作频率,从而具有了更快的计算速度;具有双工 UART 串行通道; 双数据指示器;电源关闭标识;全新的加密算法,这使得对于 89S51 的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯;兼容性方面:向下完全兼容 51 全部字系列产品。比如 8051、89S51 等等早期 MCS-51 兼容产品。在 89S51 上一样可以照常运行,这就是所谓的向下兼容。1 课题目标任务 (1)论文的主要内容11、本课题的总体介绍对水塔智能水位控制系统进行方案设计,相应的硬件电路和系统软件设计,并做出控制系统。12、工作内容1)完成水塔智能水位控制系统总体方案设计、电

9、路设计。2)连接完整的硬件电路并能调试出正确的结果。13、课题的具体任务1)水塔智能水位控制系统基于单片机控制,系统设计电路由输入脉冲电路、单片机、晶振和复位电路和控制电路等部分组成2)设计水塔水位的测试及显示系统,还有水位的控制系统.(2)论文的要求与数据1)、完成该课题必须重点研究单片机控制、脉冲电路、晶振和复位电路和键盘的使用等关键问题和理论;2)、研究方案的设计、研究方法和手段要合理,符合理论与实践的要求;3)、水塔智能水位的控制系统首先要能正确检测水位并能正确显示,并有及时调整水位的功能.(3) 设计目的1) 、进一步熟悉和掌握单片机的工作原理和结构功能,熟悉其基本的振荡和复位电路原

10、理。2) 、熟悉单片机 I/O 口的基本输入输出功能以及 I/O 口的扩展使用。3) 、掌握单片机内部功能模块的应用:如定时器、计数器、中断系统等。4) 、掌握按键与单片机连接的使用以及数码管接口电路设计。5) 、熟悉 PCB 板的布线、腐蚀和元器件的焊接的流程和方法,进一步掌握电路板的检测顺序和方法2 AT89S51 芯片超声波简介AT89S51 控制超声波信号的发送和接收,串行数据发送 ,及温度校正 采样频率的输入,并通过运算转换成温度数据,校正不同温度下,距离误差后,在 LED 上显示所测距的离厘米数据并和已输入的预置数进行比较, 如达到预置值则进行开或关的开关量信号输出.LED 显示为

11、动态循环显示,共阳极接法. DS18B20 在本电路中取得外界温度值, 以利于 AT89S51 的运算并校正不同温度下测距的回波数值以及在 LED 上显示实时环境的温度值.接收电路接收物体反射超声波回波信号,该芯片内部包括了前置放大,限幅放大,整形,输出数据信号以便 MCU 检测, 判断回波的数据正确与否及时差, 并计算出测距的距离数值.该板接收可预置超声波控制器,发送的 1200BIT 串行数据信号,直接用导线和超声波控制器 串口连接时,可传送几十米,如通过 485 串口发送可传送 2 千米以上。 2.1 AT89S51 芯片的引脚结构本次设计采用了常见的 AT89S51 单片机为核心处理器

12、。AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80S51 引脚结构, AT89S51 具有 40 个引脚,4k Bytes Flash 片内程序存储器,128 Bytes 的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。AT89S51 单片机共有40 个引脚,其引脚图如下:图 12.2 超声波简介由于超声波所具有的能量很大,就有

13、可能使物质分子产生显著的声压作用、例如当水中通过一般强度的超声波时超声波流量计的基本原理及类型超声波在流动的流体中传播时就载上流体流速的信息。因此通过接收到的超声波就可以检测出流体的流速,从而换算成流量。根据检测的方式,可分为传播速度差法、多普勒法、波束偏移法、噪声法及相关法等不同类型的超声波流量计。起声波流量计是近十几年来随着集成电路技术迅速发展才开始应用的一种 非接触式仪表,适于测量不易接触和观察的流体以及大管径流量。它与水位计联动可进行敞开水流的流量测量。使用超声波流量比不用在流体中安装测量元件故不会改变流体的流动状态,不产生附加阻力,仪表的安装及检修均可不影响生产管线运行因而是一种理想

14、的节能型流量计。 众所周知,目前的工业流量测量普遍存在着大管径、大流量测量困难的问题,这是因为一般流量计随着测量管径的增大会带来制造和运输上的困难,造价提高、能损加大、安装不仅这些缺点,超声波流量计均可避免。因为各类超声波流量计均可管外安装、非接触测流,仪表造价基本上与被测管道口径大小无关,而其它类型的流量计随着口径增加,造价大幅度增加,故口径越大超声波流量计比相同功能,其它类型流量计的功能价格比越优越。被认为是较好的大管流量测量仪表,多普勒法超声波流量计可测双相介质的流量,故可用于下水道及排污水等脏污流的测量。在发电厂中,用便携式超声波流量计测量水轮机进水量、汽轮机循环水量等大管径流量,比过

15、去的皮脱管流速计方便得多。超声被流量汁也可用于气体测量。管径的适用范围从 2cm 到 5m,从几米宽的明渠、暗渠到 500m 宽的河流都可适用。 另外,超声测量仪表的流量测量准确度几乎不受被测流体温度、压力、粘度、密度等参数的影响,又可制成非接触及便携式测量仪表,故可解决其它类型仪表所难以测量的强腐蚀性、非导电性、放射性及易燃易爆介质的流量测量问题。超声波具有较好的指向性频率越高,指向性越强。这在诸如探伤和水下声通讯等应用场合是主要的考虑因素。频率高时,相应地波长将变短,因而波长可与传播超声波的试样材料的尺寸相比拟,甚至波长可远小于试样材料的尺寸这在厚度尺寸很小的测量应用中以及在高分辨率的探伤

16、应用中是非常重要的。超声波用起来很安静,人们听不到它。这一点在高强度工作场合尤为重要。这些高强度的工作用可闻频率的声波来完成时往往更有效,然而遗憾的是,可闻声波工作时所产生的噪声令人难以忍受,有时甚至是对人体有害的。3 硬件设计3.1 硬件电路该设计的硬件电路由主控部分(单片机 AT89S51)、计时部分(实时时钟芯片DS1302) 、显示部分(八段数码管) 、电源部分(三端稳压器 7805)4 个部分组成。各部分之间相互协作,构成一个统一的有机整体,实现功能。各部分的硬件电路设计如下。3.2 复位电路(1)单片机AT89S51作为主控芯片,控制整个电路的运行。单片机外围需要一个复位电路,复位

17、电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。该设计采用含有电阻的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。复位电路的设计图如图2示:复位电路图 2(2)复位是单片机的初始化操作,使 CPU 及各专用存储器处于一个确定的初始状态,其中把 PC 的内容初始化为 0000H,使单片机从 0000H 单元开始执行程序,除了系统的正常开机(上电)复位

18、外,当程序运行出错或操作错误使系统处于死循环状态时,为摆脱困境,可按复位键进行复位,复位电路由片外和片内两部分电路组成。AT89S51的 RST 引脚为复位引脚,只要在 RST 引脚上出现两个机器周期以上的高电平,即可实现复位。复位通常有上电复位和按键复位两种方法。本设计采用的是按键复位,当按下按键后,电容被短路,RST 引脚就处于高电平,就可以达到复位的目的。电路如图 3所示。图 3 复位电路3.3 显示电路四段数码显示管有两种,一种是共阳极数码管,其内部是由八个阳极相连接的发光二极管组成;另一种是共阳极数码管,其内部是由四个阳极相连接的发光二极管组成。二者原理不同但功能相同。本设计的时间显

19、示选用四个共阴极四段数码管 LED,其外形和内部结构如图 4 所示:显示电路 图 43.4 驱动电路而 LED 显示电路就像单片机系统的眼睛,实时地向人们传递着系统工作的各种状态信息和处理结果。因此,高效、方便的 LED 显示驱动电路是构成完善的单片机系统必不可少的元素。常用的 LED 显示驱动电路有并行译码方式、串行并行转换方式、显示驱动接口芯片方式等。驱动电路图 53.5 硬件电路设计MCS-51 系列单片机的并行 I/O 口:接口电路是微机必不可少的组成部分,并行输入确出接口是CPU和外部进行信息交换的主要通道。MSC51系列单片有4个8位并行双向I/O口P0P3,共32根I/O线。每一

20、根线能独立用作输入或输出。单片机可以外接键盘、显示器等外围设备还可以进行系统扩展,以解决硬件资源不足问题。4个并行口都是双向口,既可以输入又可以输出。P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。这4个I/O口结构基本相同,但仍存在差别。P1 口:通道 1,双向 I/O 口,本次设计连接按键,用语按键信号的输入4 软件设计4.1 延时程序延时程序延与 MCS - 51 执行指令的时间有关, 如果使用 6 MHz 晶振, 一个机器周期为 2 s, 计算出一条指令以至一个循环所需要的执行时间, 给出相应的循环次数, 便能达到延时的目的。10 秒延时程序

21、如下: DELAY: MOV R5, 100DEL0: MOV R6, 200DEL1: MOV R7, 248DEL2: DJNZ R7, DEL2DJNZ R6, DEL1DJNZ R5, DEL0RET 上例程序中采用了多重循环程序, 即在一个循环体中又包含了其它的循环程序, 这种方式是实现延时程序的常用方法。 使用多重循环时, 必须注意: (1) 循环嵌套, 必须层次分明, 不允许产生内外层循环交叉。 (2) 外循环可以层层向内循环进入, 结束时由里往外层层退出。 (3) 内循环可以直接转入外循环, 实现一个循环由多个条件控制的循环结构方式。4.2 74LS04 反相器,管脚图如附图所

22、示。74LS04 管脚图4.3 中断系统 4.3.1 中断的概述程序执行过程中,容许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去;完成中断服务程序后,CPU 继续原来被打断的程序,这样的过程称为中断过程,4.3.2 中断响应的一般过程(1) 在每条指令结束后, 系统都自动检测中断请求信号, 如果有中断请求,且CPU 处于开中断状态下, 则响应中断。 (2) 保护现场, 在保护现场前, 一般要关中断, 以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。 4.3.3 80S51 中有五个中断源MCS - 51 单片机有 5 个(805

23、2 有 6 个)中断源, 为了使每个中断源都能独立地被允许或禁止, 以便用户能灵活使用, CPU 内部在每个中断信号的通道中设置了一个中断允许触发器, 它控制 CPU 能否响应中断。只有对应的中断允许触发器被使能(置“1”) ,相应的中断才能得到相应4.3.4 MCS51 中断系统MCS51 中断系统结构框图4.3.5 中断系统的应用 例 1 单步操作的中断实现。把一个外部中断(设为 INT0)设置为电平激活方式。其中断服务程序的末尾写上如下几条指令: JNB P3.2, $ ; 在 INT0 变高前,原地等待(死循环)JB P3.2, $; 在 INT0 变低前,原地等待(死循环)RETI

24、; 返回并执行一条指令现在,若 INT0 保持低电平, 且允许 INT0 中断, 则 CPU 就进入外部中断 0 服务程序, 由于有上述几条指令, 它就会停在 JNB 处, 原地等待。当 INT0 端出现一个正脉冲(由低到高, 再到低)时, 程序就会往下执行, 执行 RETI 后, 将返回主程序, 往下执行一条指令, 然后又立即响应中断,以等待 INT0 端,出现的下一个正脉冲。 这样在INT0 端每出现一个正脉冲, 主程序就执行一条指令 , 实现了单步执行的目的, 要注意的是, 这个正脉冲的高电平持续时间不小于 2 个周期, 以确保 CPU 能采集到高电平值。4.4 程序流程图 N 开始初始

25、化单片机机设置中断检测按键数码管显示结束是否显示完?图 4.1 主程序流程图 N开始N开 T0,关 T1,正常计时图4.2 按键中断处理流程图是否有功能键按下?关中断 T0,开 T1 执行修改修改完毕结束、4.3 软件去抖动流程图5 系统调试5.1 硬件电路设计MCS-51 系列单片机的并行 I/O 口:接口电路是微机必不可少的组成部分,并行输入确出接口是CPU和外部进行信息交换的主要通道。MSC51系列单片有4个8位并行双向I/O口P0P3,共32根I/O线。每一根线能独立用作输入或输出。单片机可以外接键盘、显示器等外围设备还可以进行系统扩展,以解决硬件资源不足问题。4个并行口都是双向口,既

26、可以输入又可以输出。P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。这4个I/O口结构基本相同,但仍存在差别。P1 口:通道 1,双向 I/O 口,本次设计连接按键,用语按键信号的输入YYNYNNY确定键是否按下N读该键状态有键按下否调用延时程序按键有效否键值处理键释放否?调用延时程序确定键释放键释放有效否一次按键完成按键功能处理开 始结 束5.2 硬件调试基本电路板检查:根据前面的研究完成各个电路模块的原理设计并生成 PCB 图,制作电路板,进行实验调试。(1)检查印制板的印制线是否有断路,是否有毛刺,是否与其它线或是焊盘粘连,焊盘是否有脱落,过孔

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

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

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

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

31、过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和

32、原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。所以单片机是门实践与理论紧密联系的技术。熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计,所以选择单片机来做毕业设计对我来说也是一个重大的考验,同时对我来说也是一次难得的锻炼机会。单片机对我来说是一门很有意思却很难学的学科,这个次的超声波测距毕业设计让我对单片机有了

33、更进一步的体会与了解, ,对我来说这个不仅仅是一次毕业设计,因为它带给我的是更多的知识,让我在自学过程中提高了我的学习能力、自学能力、解决问题的能力。这些对我以后走向社会与工作中有很大的帮助。设计过程中开始一头雾水,到后来为了设计的而整天烦扰,但也是这些烦扰最后让我获得成功,以及成就感。设计期间也让我发现很多自身的不足之处,动手能力的薄弱,以及单片机知识的匮乏,知道了自己问题才能更好的改正,因为设计发现自身的不足,所以我感谢老师安排这次毕业设计,让我们走的更远,学的更多,变的更强。,超声波原理图:AT89S51 芯片主程序:继电器控制为 P3.0;水位高低控制为 P3.7,P3.6VOUT E

34、QU P1.0 ; 红外脉冲输出端口;*;* 中断入口程序 *;*;ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHretiORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI ;*;* 主 程 序 *;*;START: MOV SP,#4FHMOV R0,#40H ;40H-43H 为显示数据存放单元(40H为最高位)MOV R7,#0BHCLEARDISP: MOV R0,#00HINC R0DJNZ R7,CLEARDISPMOV 20H,#00HMOV TMOD,#11H ;T

35、1 为 T0 为 16 位定时器MOV TH0,#00H ;65 毫秒初值MOV TL0,#00HMOV TH1,#00H MOV TL1,#00HMOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV R4,#04H ;超声波肪冲个数控制(为赋值的一半)SETB PX0SETB ET1SETB EASETB TR1 ;开启测距定时器start1: LCALL DISPLAYJNB 00H,START1 ;收到反射信号时标志位为 1CLR EALCALL WORK ;计算距离子程序lcall baojingclr EA MOV R2,#32h;#

36、64H ;测量间隔控制(约4*100=400MS)LOOP: LCALL DISPLAYDJNZ R2,LOOP CLR 00Hsetb et0mov th0,00hmov tl0,00hSETB TR1 ;重新开启测距定时器SETB EASJMP Start1;*;* 中断程序* *;*;T1 中断,发超声波用 ;T1 中断,65 毫秒中断一次INTT1: CLR EACLR TR0clr ex0MOV TH0,#00HMOV TL0,#00HMOV TH1,#00HMOV TL1,#00HSETB ET0SETB EASETB TR0 ;启动计数器 T0,用以计intt11:CPL VOU

37、T ;40KHZnopnop; nop; nop; nop; nop; nop; nop; nopDJNZ R4,intt11 ;超声波发送完毕, MOV R4,#04Hlcall delay_250 ;延时,避开发射的直达声波信号SETB EX0 ;开启接收回波中断RETIOUT: RETI;外中断 0,收到回波时进入PINT0: nopjb p3.2,pint0_exitCLR TR0 ;关计数器CLR EA ;CLR EX0 ;MOV 44H,TL0 ;将计数值移入处理单元MOV 45H,TH0 ;mov th0,#00hmov tl0,#00hjnb p3.2,$SETB 00H ;接

38、收成功标志pint0_exit:RETI;*;* 显示程序 *;*DISPLAY: MOV R1,#40H;GMOV R5,#7fH;GPLAY: MOV A,R5MOV P0,#0FFHMOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,ALCALL DL1MSINC R1MOV A,R5JNB ACC.4,ENDOUT;GRR AMOV R5,AAJMP PLAYENDOUT: MOV P2,#0FFHMOV P0,#0FFHRET;TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h

39、,0ffh ;共阳段码表 “0“ “1“ “2“ “3“ “4“ “5“6“ “7“ “8“ “9“ “不亮“A“-“;*;* 延时程序 *;*;DL1MS: push 06hpush 07hMOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1pop 07hpop 06hRET;*;* 距离计算程序 (=计数值*17/1000cm) *;*;work: PUSH ACCPUSH PSWPUSH BMOV PSW, #18hMOV R3, 45HMOV R2, 44HMOV R1, #00DMOV R0, #17DLCALL MUL2BY2

40、MOV R3, #03HMOV R2, #0E9HLCALL DIV4BY2LCALL DIV4BY2MOV 40H, R4MOV A,40HJNZ JJ0MOV 40H,#0AH ;最高位为零,不点亮JJ0: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #100DLCALL DIV4BY2MOV 41H, R4MOV A,41HJNZ JJ1MOV A,40H ;次高位为 0,先看最高位是否为不亮SUBB A,#0AHJNZ JJ1MOV 41H,#0AH ;最高位不亮,次高位也不亮JJ1: MOV A, R0MOV R4,

41、 AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #10DLCALL DIV4BY2MOV 42H, R4MOV A,42HJNZ JJ2MOV A,41H ;次次高位为 0,先看次高位是否为不亮SUBB A,#0AHJNZ JJ2MOV 42H,#0AH ;次高位不亮,次次高位也不亮JJ2: MOV 43H, R0POP BPOP PSWPOP ACCRET;*;* 两字节无符号数乘法程序 *;*; R7R6R5R4 = R3R2 * R1R0;MUL2BY2: CLR AMOV R7, AMOV R6, AMOV R5, AMOV R4, AMOV 46H,

42、#10HMULLOOP1: CLR CMOV A, R4RLC AMOV R4, AMOV A, R5RLC AMOV R5, AMOV A, R6RLC AMOV R6, AMOV A, R7RLC AMOV R7, AMOV A, R0RLC AMOV R0, AMOV A, R1RLC AMOV R1, AJNC MULLOOP2MOV A, R4ADD A, R2MOV R4, AMOV A, R5ADDC A, R3MOV R5, AMOV A, R6ADDC A, #00HMOV R6, AMOV A, R7ADDC A, #00HMOV R7, AMULLOOP2: DJNZ 4

43、6H, MULLOOP1RET;*;* 四字节/两字节无符号数除法程序 *;*;R7R6R5R4/R3R2=R7R6R5R4(商).R1R0(余数);DIV4BY2: MOV 46H, #20HMOV R0, #00HMOV R1, #00HDIVLOOP1: MOV A, R4RLC AMOV R4, AMOV A, R5RLC AMOV R5, AMOV A, R6RLC AMOV R6, AMOV A, R7RLC AMOV R7, AMOV A, R0RLC AMOV R0, AMOV A, R1RLC AMOV R1, ACLR CMOV A, R0SUBB A, R2MOV B, AMOV A, R1SUBB A, R3JC DIVLOOP2MOV R0, BMOV R1, ADIVLOOP2: CPL CDJNZ 46H, DIVLOOP1MOV A, R4RLC AMOV R4, AMOV A, R5RLC AMOV R5, AMOV A,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报