yuan2020

所在地区: 全国
首页
服务/硬件产品
行业解决方案
案例
基于51单片机的超声波测距设计汇编语言源程序程序与仿真_百工联_工业互联网技术服务平台
基于51单片机的超声波测距设计汇编语言源程序程序与仿真
全国
浏览
-
yuan2020
方案概述:

该设计基于51单片机,使用汇编语言编写,实现了超声波测距功能。具体硬件包括AT89C51单片机和位一体共阴数码管显示屏。提供了汇编语言源代码和Proteus7.8仿真文件。源程序包括中断入口程序、主程序、乘34程序、除程序和BCD转换程序。显示程序用于将测距结果显示在数码管上。您可以使用KEIL4软件打开、修改和编译源代码,并使用Proteus7.8进行仿真测试。

基于51单片机的超声波测距设计汇编语言源程序程序与仿真

本设计使用的编程语言是汇编语言,单片机选择51单片机,具体型号是AT89C51,显示是用的位一体共阴数码管,显示的单位是厘米。资料提供汇编语言源代码(可以用KEIL4软件直接打开修改编译),Proteus7.8仿真文件。

以下是部分源程序。

中断入口程序:
```
ORG 0000H
AJMP START
ORG 000BH
```

主程序:
```
START:
MOV R0,#70H
MOV R7,#0BH
MOV 20H,#00H
MOV 30H,#00H
MOV 31H,#03H
MOV 34H,#00H
MOV 35H,#37H

CLEARDISP:
MOV @R0,#00H
INC R0
DJNZ R7,CLEARDISP
MOV TMOD,#01H

CJZCX:
MOV TL0,#00H
MOV TH0,#00H
MOV R0,#27H
MOV R1,#0CH
MOV 14H,#08H

Here:
CPL P3.1
NOP
NOP
NOP
DJNZ 14H,Here

SETB TR0
SETB P3.2
MOV R6,#53H

DL0:
MOV R5,#02H
DJNZ R5,$
DJNZ R6,DL0

QBA:
JNB P3.2,QBC
DJNZ R1,QBA
DJNZ R0,QBA

QBC:
CLR P3.2
CLR TR0
MOV 70H,TL0
MOV 71H,TH0
MOV R2,71H
MOV R3,70H
MOV R6,#22H
MOV R7,#0H
LCALL MULD
MOV R6,#64H
MOV R7,#0H
LCALL DIVD
MOV 73H,R2
MOV 74H,R3
MOV R3,#0H
MOV R4,#0H
MOV R5,#0H
MOV R6,73H
MOV R7,74H
LCALL HB2
MOV A,R4
MOV B,#10H
DIV AB
MOV 78H,A
MOV 77H,B
MOV A,R5
MOV B,#10H
DIV AB
MOV 76H,A
MOV 75H,B
MOV 7AH,#0EFH
SETB C
MOV A,78H
CLR C
SUBB A,#1H
JNC BBG
SETB C
MOV A,77H
CLR C
SUBB A,#5H
JNC BBG
CPL P1.4
AJMP BG

BBG:
SETB P1.4

BG:
SETB C
MOV A,71H
CLR C
SUBB A,31H
JNC KKK
MOV 76H,#0xA
MOV 77H,#0xA
MOV 78H,#0xA
SJM
KKK:
MOV A,71H
CLR C
SUBB A,35H
JC XXX
MOV 76H,#0xB
MOV 77H,#0xB
MOV 78H,#0xB

XXX:
LCALL DISPLAY
DJNZ 7AH,XXX
AJMP CJZCX
```

乘34程序(乘声速):
```
MULD:
MOV A,R3
MOV B,R7
MUL AB
MOV R4,B
MOV R5,A
MOV A,R3
MOV B,R6
MUL AB
ADD A,R4
MOV R4,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R2
MOV B,R7
MUL AB
ADD A,R4
MOV R4,A
MOV A,R3
ADDC A,B
MOV R3,A
CLR A
RLC A
XCH A,R2
MOV B,R6
MUL AB
ADD A,R3
MOV R3,A
MOV A,R2
ADDC A,B
MOV R2,A
RET
```

除程序(除法):
```
DIVD:
CLR C
MOV A,R3
SUBB A,R7
MOV A,R2
SUBB A,R6
JC DVD1
SETB OV
RET

DVD1:
MOV B,#10H

DVD2:
CLR C
MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R3
RLC A
MOV R3,A
XCH A,R2
RLC A
XCH A,R2
MOV F0,C
CLR C
SUBB A,R7
MOV R1,A
MOV A,R2
SUBB A,R6
ANL C,/F0
JC DVD3
MOV R2,A
MOV A,R1
MOV R3,A
INC R5
DVD3:
DJNZ B,DVD2
MOV A,R4
MOV R2,A
MOV A,R5
MOV R3,A
CLR OV
RET
```

BCD转换:
```
HB2:
CLR A
MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,#10H

HB3:
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5
ADDC A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
MOV R3,A
DJNZ R2,HB3
RET
```

显示程序:
```
DISPLAY:
MOV R1,#76H
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR 0xB0.5
LCALL DELAY1MS
SETB 0xB0.5
INC R1
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR 0xB0.4
LCALL DELAY1MS
SETB 0xB0.4
INC R1
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR 0xB0.3
LCALL DELAY1MS
SETB 0xB0.3
RET

DELAY1MS:
MOV R7,#01H
DLL1:
MOV R6,#1EH
DLL0:
MOV R5,#02H
DJNZ R5,$
DJNZ R6,DLL0
DJNZ R7,DLL1
RET
```

以上是基于51单片机的超声波测距设计的汇编语言源程序。您可以使用KEIL4软件打开并修改编译该源代码,同时使用Proteus7.8仿真文件进行仿真测试。
为您推荐其他供应商的行业解决方案
免责声明:本网站部分内容来源互联网,如权利人发现存在侵权信息,请及时与本站联系删除。
供应商:
yuan2020
所在区域: 全国
yuan2020是一家专注于单片机初学入门的公司。我们致力于收集、整理单片机初学入门的常用程序和电路,为初学者提供帮助。我们提供的程序和电路都是经过验证的,能够帮助初学者少走弯路,节约时间。 我们擅长的领域包括51单片机、单片机仿真、超声波测距原理图、超声波测距源程序、温度传感器18b20、多功能时钟、电压表测量电路、计算器程序、超声波倒车、汇编语言、电路图及BOM、点阵显示屏、霍尔传感器、霍尔测速、PWM控制电机、转速调节、手机app控制、蓝牙、密码锁仿真、秒表倒计时仿真电路、秒表倒计时源程序、ds18b20温度采集电路、程序实例、温度报警器、DS1820、电路设计方案、电路设计、温度传感器等。 我们提供的解决方案包括基于51单片机铂电阻PT100温度计程序设计与仿真、51单片机一体化超声波设计倒车雷达、51单片机超声波测距仿真倒车雷达系统设计、51单片机6位数码管显示DS1302时钟带DS18B20温度仿真及C语言程序、基于51单片机的ADC0832数字电压表设计1602显示源程序及仿真、基于51单片机的简易计算器设计、51单片机超声波测距仿真设计HC-SR04模块倒车雷达C语言源程序等。 我们的目标是为初学者提供高质量的单片机学习资源,帮助他们快速入门,掌握相关技能。如果您对单片机初学入门有需求,欢迎联系我们,我们将竭诚为您提供帮助。