关于基于51单片机的超声波测距仪的汇编编程问题
这个和你的测距仪的测距电路有关。单片机只处理数据,不参与测量。
提高超声波测试距离的办法有三种:
1、降低超声波的频率;
2、加大超声波发射功率;
3、提高超声波接收的灵敏度,提高放大电路的增益;
如果用的是模块,要注意它的技术文档。
AVR的有!
需要一个查满程序。51单片机驱动LCM1602
;作者:eleclike
;功能;驱动LCM1602,LCM1602为深圳誉信公司的16*2液晶字符型显示模块,程序使用读写方式控制LCM1602,地址分别为:写指令口:80H; 读忙检查口:81H; 写数据口:82H; 读数据口:83H;
;子程序1:写控制指令子程序
;子程序2:写CGRAM数据子程序
;子程序3:写DDRAM子程序
;子程序4:写数据子程序
;子程序5:读忙子程序
RG_DLY EQU 2H
ORG 0000H
AJMP MAI
ORG 0030H
MAI: MOV SP,#60H
LP_MAI: NOP
LCALL SB_WRIN;调用写控制指令子程序
LCALL SB_WRCG;调用写CGRAM
LP2_MAI:NOP
LCALL SB_WRDR;调用写DDRAM
RT_MAI: AJMP LP2_MAI
;---------------------------------------------------------
;---------子程序---开始------------------------------------
;-1------写控制指令子程序----------
SB_WRIN:PUSH ACC
MOV R0,#80H ;写指令口
MOV A,#01H ;(INSTR.1)
LCALL SB_WAT ;清屏
MOVX @R0,A
MOV A,#02H ;(INSTR.2)
LCALL SB_WAT ;A光标归位
MOVX @R0,A
MOV A,#06H ;(INSTR.3)
LCALL SB_WAT ;AC自动加一,画面不动;
MOVX @R0,A
MOV A,#0CH ;(INSTR.4)0FH:显示开,关标 开,闪烁开
LCALL SB_WAT ;0CH 显示开,关标、闪烁关
MOVX @R0,A
;MOV A,#18H ;(INSTR.5)
;LCALL SB_WAT ;光标 或画面平移指令
;MOVX @R0,A
MOV A,#38H ;(INSTR.6)
LCALL SB_WAT ;8位数据,2行显示,5-7点阵
MOVX @R0,A
POP ACC
RET
;-2----写CGRAM数据子程序------
SB_WRCG:PUSH ACC
MOV DPTR,#CGR
MOV R1,#40H;=CGRAM的首地址
MOV R2,#4;=4个字符
LP_WG0: MOV R3,#8;=每个字符有8位数据即8行
LP_WG1: MOV R0,#80H
MOV A,R1
LCALL SB_WAT
MOVX @R0,A
CLR A
MOVC A,@A+DPTR
LCALL SB_WRTD
INC R1
INC DPTR
DJNZ R3,LP_WG1
DJNZ R2,LP_WG0
NOP
POP ACC
RET
;-3-----写DDRAM子程序--------
SB_WRDR:PUSH ACC
MOV R0,#80H
MOV A,#80H ; 写第一行DDRAM数据
LCALL SB_WAT
MOVX @R0,A
MOV A,#49H ; I
LCALL SB_WRTD
MOV A,#20H ; SPACE
LCALL SB_WRTD
MOV A,#4CH ; L
LCALL SB_WRTD
MOV A,#4FH ; O
LCALL SB_WRTD
MOV A,#56H ; V
LCALL SB_WRTD
MOV A,#45H ; E
LCALL SB_WRTD
MOV A,#20H ; SPACE
LCALL SB_WRTD
MOV A,#4DH ; M
LCALL SB_WRTD
MOV A,#59H ; Y
LCALL SB_WRTD
MOV A,#20H ; SPACE
LCALL SB_WRTD
MOV A,#42H ; B
LCALL SB_WRTD
MOV A,#41H ; A
LCALL SB_WRTD
MOV A,#42H ; B
LCALL SB_WRTD
MOV A,#59H ; Y
LCALL SB_WRTD
MOV A,#20H ; EMPTY
LCALL SB_WRTD
MOV A,#20H ; EMPTY
LCALL SB_WRTD
MOV R0,#80H
MOV A,#0C0H ;写第二行DDRAM
LCALL SB_WAT
MOVX @R0,A
MOV A,#49H ; I
LCALL SB_WRTD
MOV A,#20H ; SPACE
LCALL SB_WRTD
MOV A,#41H ; A
LCALL SB_WRTD
MOV A,#4CH ; L
LCALL SB_WRTD
MOV A,#53H ; S
LCALL SB_WRTD
MOV A,#4FH ; O
LCALL SB_WRTD
MOV A,#20H ; SPACE
LCALL SB_WRTD
MOV A,#4DH ; M
LCALL SB_WRTD
MOV A,#49H ; I
LCALL SB_WRTD
MOV A,#53H ; S
LCALL SB_WRTD
MOV A,#53H ; S
LCALL SB_WRTD
MOV A,#20H ; SPACE
LCALL SB_WRTD
MOV A,#59H ; Y
LCALL SB_WRTD
MOV A,#4FH ; O
LCALL SB_WRTD
MOV A,#55H ; U
LCALL SB_WRTD
MOV R2,#50 ;延时229ms
ACALL SB_DLY
POP ACC
RET
;-4---写数据子程序---------
SB_WRTD:MOV R0,#82H ;
LCALL SB_WAT
MOVX @R0,A ;
RET
;-5---读忙子程序-----------
SB_WAT: PUSH ACC
PUSH 00H
MOV R0,#81H
LP_WAT: MOVX A,@R0
RLC A
JC LP_WAT
POP 00H
POP ACC
RET
;---------子程序----结束-----------------------------------
;---------------------------------------------------------
;------延时子程序-----------
SB_DLY: PUSH RG_DLY ;
LP1_DLY:PUSH RG_DLY
LP2_DLY:PUSH RG_DLY
DJNZ R2,$
POP RG_DLY
DJNZ R2,LP2_DLY
POP RG_DLY
DJNZ R2,LP1_DLY
POP RG_DLY
DJNZ R2,SB_DLY
RET
;----------CGRAM区----------
CGR:...................;(用户自编码字符区)
END
就是把原来数码管显示的部分改成你现在用的液晶的驱动就行了,关键是看明白程序结构。
基于51单片机寻迹小车的背景和意义
2、机器人技术:机器人技术是当今科技发展的重要领域之一,寻迹小车作为一种典型的机器人应用,可以广泛应用于物流、仓储、安防等领域,提高工作效率,降低人力成本。3、单片机技术:单片机作为嵌入式系统的核心,具有体积小、功耗低、成本低、功能强大等特点,广泛应用于各个领域。4、综上所述,基于51单片...
基于51单片机的红绿灯原理
注p0口为东西红灯 ; p1口为东西黄灯 ;p2口为东西绿灯 ;p3南北红灯 ;p4南北黄灯 ;p5南北绿灯 ;绿灯停留3s;黄灯闪烁5次,每次0.2s,红的停留4s ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV DPTR,#B1 MOV R2,#4 MOV A,#0H F3:MOV R1,A MOVC A,@A+DPTR JNB ACC.4,SS1 ;判断东西...
基于51单片机的篮球计分器课程设计(有仿真图和实物图)
课程设计实验报告一、题目:篮球记分器2、主要元器件:STC89C5212M晶振四位一体数码管两位数码管2个4.7K欧排阻2个极性电容电容22pF电阻10K欧开关8个导线若干3、主要功能:1.12分钟倒计时2.分别给A、B队加1、2、3分并显示3.换场A、B两队分数交换4.暂停4、工作原理:1.原理图2.方框图3.实物图4...
基于51单片机的温湿度控制系统的研究毕业论文
本文共分为五部分,第一部分是引言,主要对选题背景、意义及国内外发展现状进行简单介绍。第二部分为系统总体方案的设计,主要通过对比集中方案来最终确定本次设计所下用的最佳方案。第三部分为主要单元电路的介绍,有温度测控电路、湿度测控电路、数显电路、报警电路、51单片机的外围电路等。第四部分为主要...
基于51单片机的红外测距
1、单片机 红外发射管 红外接收管 + 逻辑算法 2、一般情况下,常见的管子,就是类似于发光二极管的样子,接收的距离很近,你自己搭电路的话要考虑排除干扰,信号放大,也许50元,也解决不了。还有一种是3只脚的,这种接收方面好一点,价格也不是很贵,大概5元。还有更好的器件,配对使用,检出有效...
基于51单片机的无线电路发射接收装置
从辐射端看,In为高电平时,电路起振,辐射一个频率固定的电磁波信号,In为低电平时,电路停振,也就没了电磁波辐射。这是个典型的振幅键控(ASK)调制电路;而接收机电路就比较复杂,如果不需要你去设计调试这部分电路,就视其为透明的好了;那么接收电路还原的就是 In的信号。即是 OUT = In;...
怎么设计基于51单片机的八位抢答器课程设计用c语言?
你的描述不详:下面我给出方法,自已参考:1:主持人端有一个单片机设备 且设备有一个或多个按键,单个按键,那么就做成按键复用,如果是多个按键,那就可以按要求设置按键功能和数量。参赛队每队一个设备,如果不方便能过连线来通讯,就采用无线通讯,抢答端只需一个按键按键,同时在按键里或边上用...
基于51单片机的电子密码锁系统设计制作材料要买些什么东西,详细点...
购买的东西是很多,不知道你PCB板是不是有了?1、必须购买的硬件:单片机 1片 stc89系列 按键 13个 晶振 1个 11.0592 瓷片电容 2个 30P 复位电容 1个 10 复位电阻 1个 10K USB座 1个 发光二极管 10个 蜂鸣器 1个 隔离电阻 10个 1K 2、...
基于51单片机的交通灯控制设计
define uint unsigned int sbit RED_A=P0^0; \/\/东西向灯 sbit YELLOW_A=P0^1;sbit GREEN_A=P0^2;sbit RED_B=P0^3; \/\/南北向灯 sbit YELLOW_B=P0^4;sbit GREEN_B=P0^5;uchar Flash_Count=0,Operation_Type=1; \/\/闪烁次数,操作类型变量 《单片机C语言程序设计实训100例---基于8051...
基于51单片机的温度控制器
图片为温度控制电路图。温度到达上限时led灯亮,并停止对RT的加热,温度达到下限时led灯灭并开始对RT进行加热。A1和A2为uA741运算放大器。引脚号在图上已经标出。再给你一个单片机采集DS18B20温度的程序,用四位数码管显示的。你把DS18B20接在RT附近就可以测试出RT的温度,调节图中的滑动变阻器可改变...
荤冠萘哌: 输出用并联门电路驱动,如CD4069,以增大输出电流. 接收采用低噪声运放,如NE5532,放大1000倍. 采用接收,发射分开的探头 超声波测距系统的软件设计,由于超声发射传感器与超声接收传感器相隔很近,当发射超声波时,接收传感...
襄城区19183935734: 怎么用51单片机做超声波测距实验?
荤冠萘哌: 设计软件时传感器在发射超声波时输出高电平,在接收到反射信号后,将输出复位成低电平.这个高电平时间就是超声波在某块与障碍物之间往返一次所需的时间.当无障碍物时,高电平会无限期延续下去,可这样就无法启动下一个超声波发送,你可以在一段合适的时间后,用软件将其强制复位.这个时间决定这个模块的最大检测距离. 超声波测距我也没用过,我在网上查了下,感觉也不是太难,你用的什么型号的超声波传感器的质料找到,硬件连接应该在网上也能找的到.自己多动手学的会快点.我也是新手,呵呵.
襄城区19183935734: 如何提高超声波测距距离?用51单片机做处理器,超声波发射电路用74HC04做驱动,间断地产生40KHz方波,Vp - p约为10V,接收部分用CX20106处理接收.... - ?
荤冠萘哌:[答案] 假如这套系统是个木桶,你闲它装的水不够多,实际上它的每一块木板都短,而不是一块两块. 从你描述的情况看,目前最... 还要采用防水型探头,11米的检测距离需要直径50mm以上的超声波探头; 4、如果还需要全天候的高可靠运行,或者要较高...
襄城区19183935734: 51单片机,用超声波模块测距,C语言怎样写才能使当测得距离小于7时P1^1口输出高电平,大于7时输出高电平?
荤冠萘哌: 用if 和 else 语句就可以了. if(CSB_SCAN() <= 7) P1^1 = 1; else P1^1 = 0; CSB_SCAN()是获得超声波距离的带返值函数,另外测得的单位要注意.
襄城区19183935734: 51单片机和NE555连接做了个超声波测距 - ?
荤冠萘哌: 555接成40KHz震荡电路,单片机的一个IO口接555的四脚,555的四脚是使能端,接高电平时555工作,接低电平时555不工作,单片机就是这样控制555的
襄城区19183935734: 关于51单片机超声波测距发射电电路和接收电路 - ?
荤冠萘哌: 测量范围增加只能加大功率,比如说发射电压;接收精度高的话只能增加缩小发送间隔,增加计算次数
襄城区19183935734: 51单片机语音超声波测距测速完成设计有什么步骤 - ?
荤冠萘哌: 有两种方式:1、高低电平范围是较小时(不超过30ms),就可以在有高电平时启动定时器,接受到低电平时关闭定时器,并读出th和tl的值.2、高低电平范围是较大时(超过30ms),当有高电平时,启动定时器(定时器基础时间定为1ms),配置一个寄存器在定时器中断里,不断自加1,直到有低电平到了,关闭定时器,读出寄存器的值.
襄城区19183935734: 51单片机超声波测距仪通讯模块是否需要,这部分实际主要是软件编程实现的,应该处于什么位置,使谁与谁的通信 - ?
荤冠萘哌: 1,51单片机超声波测距仪通讯模块,是否为单片机与超声波探头采样数据,通过单片机随时扫描超声波探头数据,超声波探头遇到障碍物会反射相应的数据,数据通过单片集采集.2,51单片机采集超声波数据组成一个模块,然后通过串口、I2C、SPI等方式与其它模块通讯.GO ON/.....
襄城区19183935734: 用AT89C51单片机做超声波测距?
荤冠萘哌: 给你贴一个吧,显示部分的代码你需要修改一下(因为这个代码里面的数码管显示用不到段选位选) //超声波模块显示程序 #include <reg52.h> //包括一个52标准内核的头文件 #define uchar unsigned char //定义一下方便使用 #define uint ...
襄城区19183935734: 51单片机测距编程(c语言) - ?
荤冠萘哌: 有个测距的程序,但是输出是数码管显示的,然后报警输出是蜂鸣器的,根据具体改变发声频率网页链接