设计分享|基于单片机的超声波测距(汇编)

目录

具体实现功能:

设计介绍

51单片机简介

设计思路

设计内容

仿真图(protues8.7)

程序(Keil)


具体实现功能:

通过脉冲发生器仿真模拟单片机超声波测距并实时显示,通过按键控制开始测距和停止测距。

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,具有 8K 可编程Flash 存储器,使得51系列单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

51系列单片机具有以下标准功能:

8k字节Flash,512字节RAM,

32 位I/O 口线,看门狗定时器,

内置4KB EEPROM,

MAX810复位电路,

三个16 位 定时器/计数器,

一个6向量2级中断结构,

全双工串行口。

另外, 51系列在空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

设计思路

文献研究法:搜集整理研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体实验等方法,发现相关存在问题和解决办法;

比较分析法:比较不同设计的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件,最后测试各项功能是否满足要求。

设计内容

仿真图(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

Protues是在单片机仿真设计中常用的设计软件之一,通过设计出仿真电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。

程序(Keil)

本设计由汇编语言编写,全部代码如下:

        ORG 0000H        LJMP MAIN        ORG 0003H        LJMP INTT0        ORG 0013H        LJMP INTT1        ORG 0030HMAIN:   MOV TMOD,#01H        MOV TL0,#00H        MOV TH0,#00H        MOV IE,#0FFH        SETB IT1        CLR EX1        CLR IT0        CLR P3.4DDD:    JB P1.0,JJJ        SETB P3.4        SETB EX1        MOV 30H,#00H        MOV 31H,#00H        MOV 32H,#00HJJJ:    LCALL DIS        LJMP DDD               INTT0:  CLR P3.4        CLR EX1        RETI        INTT1:   MOV   A,30H         CJNE  A,#09H,L1         MOV   30H,#00H         MOV   A,31H         CJNE  A,#09H,L2         MOV   31H,#00H         MOV   A,32H         CJNE  A,#09H,L3         MOV   32H,#00H         LJMP  L4L1:      ADD   A,#01H         MOV   30H,A         LJMP  L4L2:      ADD   A,#01H         MOV   31H,A         LJMP  L4L3:      ADD   A,#01H         MOV   32H,A         LJMP  L4L4:      RETI                DIS:    MOV R0,#30H        MOV R1,#03H        MOV R2,#0FEHLLL:    MOV A,R2        MOV DPTR,#0BFFFH        MOVX @DPTR,A        MOV A,@R0        MOV DPTR,#TAB        MOVC A,@A+DPTR        MOV DPTR,#7FFFH        MOVX @DPTR,A        LCALL TIME        INC R0        MOV A,R2        RL A        MOV R2,A        DJNZ R1,LLL        RET        TIME:   MOV R7,#04HKKK:    MOV R6,#0FFH        DJNZ R6,$        DJNZ R7,KKK        RET                TAB:    DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH        END
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值