超声发射电路设计方案
1、绪论
1.1、课程设计的背景
超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的
到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰
足生产生活的需要,所以,单片机系统的扩展,成为单片机系统的一
个重要的研究方向。
我们在日常的学习中,为了能更好的运用以及巩固所学的硬件知识,运用那个课程中所学的理论知识与实践紧密结合,同时,培养我们独立地解决实际问题的能力,和锻炼运用硬件与软件结合的综合能力,学院开设此次课程设计,来满足课程的需要。
1.2、课程设计的目的
(1)熟练掌握单片机和8253 的原理及应用(2)掌握各芯片的逻辑功能及使用方法;
(3)掌握超声波发射电路的设计;
(4)掌握超声波接收电路的设计;
(5)熟悉定时器生成方波的设计与制作。
1.3、课题要求
1、使用8253芯片实现方波输出;
2、输出的方波频率范围较宽,能达到MHZ以上,在此频率范围内,可以实现频率可调;
3、运用单片机,实现对定时器/计数器8253芯片的控制,来实现方波发生器的功能;
4、设计出超声波的发射和接收电路。
单片机可以实现方波输出,根据此课题要求则需要利用单片机
对8253芯片的控制,使芯片工作在特定的工作方式,来实现方波的
发生,因此,总结课题的要求,有如下方案可以讨论:
1、利用8086 微处理器,控制8253芯片,是芯片工作在工作方
式3,来实现方波的输出。
利用键盘,来实现对输出方波频率的调节,同时,还要加数码管,用以显示按键输入的新的频率数值。
2、使用51 系列单片机,控制8253芯片,同样使8253芯片工作在方式3,使8253芯片实现方波的输出,配以数码管和键盘来实现 对方波的输出频率调节。
3、使用51系列单片机,控制8253芯片使之工作在方式3,实
现方波输出。使用AD转换芯片ADC0809,与可变电阻器,给单片机
输入频率信号,用以调节频率。
4、使用51系列单片机,控制8253芯片,工作在方波发生器方
式,使用按钮,对频率实现等步长调节。
2.2、方案选择
1、对于方案1,使用8086微处理器实现对8253芯片的
控制,对8253芯片的初始化程序如下:
MOV DX,04A6H ;控制寄存器
MOVAX,36H ;计数器0,方式3
OUT DX,AX
MOV DX,04A0H
MOV AX,7CH OUT DX,AX
MOV AX,92H MOV DX,04A2H
MOV AX,32H
OUT DX,AX
MOV AX,0 ;计数值32H
OUT DX,AX
MOV DX,04A6H
MOV AX,0B6H ;计数器2,方式3
OUT DX,AX
MOV DX,04A4H
MOV AX,04H
OUTDX,AX
MOV AX,0 ;计数值04H
OUT DX,AX
由于8086微处理器在生产生活中并不是最为常见的,所以此方 案实现起来并不十分方便,因此不采取此方案。
2、方案2的原理图如图1下:
|
原理图中,利4x4矩阵键盘用以输入调节的频率。从而实现频率
可调,程序如下:
ORG0BB0H
AJMPMAIN
MAIN:
CLRP1.0 ;使GATE为低电平,禁止计数
MOV DPTR,#0FF2BH
MOV A,#36H
MOVX @DPTR,A
;送控制寄存器地址到数据指针寄存器;送工作方式字到累加器00110111
;工作方式字送到控制寄存器
MOV DPTR,#0FF28H ;送通道0 地址
MOV A,#16H
MOVX @DPTR,A
SETB P1.0
;计数器/定时器初始值
;初始值送入通道0寄存器;使GATE为高电平,允许计数
LOOP:JNBP1.5,SUBFUNC ;查询按键是否被按下
JNBP1.6,SUBFUNC
JNBP1.7,SUBFUNC
AJMPLOOP ;返回子程序,继续扫描按键
SUBFUNC:LCALL SCAN AJMP LOOP
SCAN:JNB P1.7,MAIN
;按键被按下,调用子程序
;复位键按下,执行复位操作
JNB P1.6,FADD ;频率加操作
JNB P1.5,FSUB ;频率减操作
FADD:MOV R0,#100
LOOP1: DJNZ R0,LOOP1
MOV SP,#60H
SUBB A,#1 ;频率加步长
PUSH ACC
AJMP INIT ;中断处理
FSUB:MOV R0,#100
LOOP2: DJNZ R0,LOOP2
MOV SP,#60H
ADD A,#1
INIT:CLR P1.0 PUSH ACC AJMP INIT
POP ACC
MOVX @DPTR,A
SETB P1.0
RET
END
方案2 原理图中数码管部分未画出。由于使用此方案,系统组成
复杂,不利于实验的调试。因此不使用此方案。
3、方案3 中的方波实现部分与方案2 相同,区别在于频率调节
部分,方案2 是利用键盘直接键入新的频率值,而本方案是利用模拟
信号输入来控制频率的改变,由于模拟信号连续,因此可以实现在要 求的频率范围内连续调节。其原理图如图2 所示:
|
图2 方案3原理图
不利于实际的实现,因此,也不采用此方案。 |
图3 方案4原理图
在此方案中,使用按钮来控制频率的改变,这样的设计,使系统得到了大大的简化,同时,硬件软件的实现十分简便,因此,在此课程设计中,选用方案4来完成课题的设计。
2.3、方案可行性研究
相比之下,方案4有着比较明显的优势。因为方案4的硬件设计
简单,频率的调节是用按钮实现,同时,8253芯片与单片机的接口
使用的是74HC373地址锁存器,可以在送地址的时候保持地址有效电
平,使地址与数据的传输分开。而且对于方案4的软件的设计,只需
要有初始化8253芯片,以及对按键的处理程序即可,因此可行性最
高。
3.1、硬件设计
方波生成部分硬件的设计方框图如图4.1所示
单片机时钟脉 74LS3冲发生电路以 73地及复位电路 址锁存
器
频率调 | AT89C51 单片机 | 8253 芯片 |
| ||
| ||
节电路 |
图4.1 硬件设计框图
硬件设计方案原理如下:
1、时钟发生电路由C1、C2和X1(晶振)产生脉冲给XLAT1、XLAT2
作为外部振荡信号,复位信号由开关和RC电路构成;由于系统要对
外部接口送数据,所以EA端始终为高电平;单片机P0口接8253的
数据端口,由于单片机内部无上拉电阻,当作为输入或者输出时应在
外部接上拉电阻,因此P0口需要外接上拉电阻。系统的设计需要使
用P0口的高2位作为地址线,同时P0口作为数据线使用,因此,需
要加地址锁存器;频率调节电路是用按钮组成的,当按钮按下时,可
2、硬件设计原理图如方案4原理图所示。
以对频率进行等步长的递增或者递减,从而实现输出频率可调的方波。
发送接收
放大电路(多级)
驱动电路
振荡脉冲信号 | 滤波电路 | 超声波传感器 |
电路内部 |
整流电路
控制 | 电压比较器电路等 |
控制处理电路(单片机、FPGA 等) |
图4.2 硬件设计框图
超声波发射电路设计
发射电路主要有反相器74LS04和超声波换能器构成,单片机P1.0
端口输出的40KHz方波信号一路经一级反相器后送到超声波换能器
的一个电极,另一路经两级反相器后送到超声波换能器的另一个电极,
发射强度。输出端采用两个反向器并联,可以提高驱动能力。上拉电
用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波
3.2、各个部件功能描述
1、8253芯片的引脚图及功能
(1)8253芯片的引脚图如图5所示
(2)8253芯片内部组成部分:
1)数据总线缓冲器(8位、三态、双向)。
数据中线缓冲器是8253与系统数据总线相连接时用的接口电路,它由8位双向三态缓冲器构成。
2)读/写控制逻辑。
读/写控制逻辑接收系统控制总线送来的输入信号,经组合后形成控制信号,对各部分操作进行控制。可接收的控制信号有:
CS | :片选信号,低电平有效; | |
| ||
RD | :读信号,低电平有效; | |
WR:写信号,低电平信号;
A0A1:端口选择信号。A0A1=00时,选中0通道;A0A1=01时,选
中1通道;A0A1=10时,选中2通道;A0A1=11时,选中控制寄存器。
8253的输入信号组合功能表如表1所示。
表1 8253 输入信号组合的功能表
|
3)计数器0~2。
三个完全相同的16位减计数器。每个通各有3个引脚,它们是:
CLK0~CLK2计数器0~2的输入时钟脉冲此引脚输入;
OUT0~OUT2计数器0~2的输出端;
GATE0~GATE2 计数器0~2 的门控脉冲输入端。
4)控制字寄存器。
控制字寄存器是一种只写寄存器,在对8253编程时,由CPU用输出指令向它写入控制字,来选定计数器通道,规定各计数器的工作方式,读写格式和数制。其格式如图6所示:
D 7 | D 6 | D 5 | D 4 | D 3 | D 2 | D 1 | D 0 |
| RL 1 RL 0 |
| BCD |
| 1 BCD 码计数 0 二进制计数 |
000 方式0
001 方式1
×10 方式2
×11 方式3
00计数器锁存,供CPU读
100 方式4
101 方式5
图6 8253 控制字格式
控制字的位值及意义如上图。
5)8253芯片的工作方式:
工作方式0:计数结束中断方式;
工作方式1:可编程单稳态输出方式;
工作方式2:比率发生器;
工作方式3:方波发生器;
工作方式4:软件触发选通;工作方式5:硬件触发选通;
其中,本课程设计用到的是方式3,——方波发生器。工作在方式3的8253芯片的工作过程参看相关文献。
2、AT89C51的引脚及功能
(1)AT89C51单片机的引脚图如图7所示
图7 AT89C51 的引脚图
(2)各引脚的功能:
1)、主电源引脚VCC和VSS
VCC(40脚):主电源接+5V
VSS(20脚):接地
2)、时钟电路引脚XTAL1和XTAL2
XTAL2(18脚):接外部晶体振荡器的一端。片内是一个振荡电
路反相放大器的输出端。
XTAL1(19脚):接外部晶体振荡器的另一端。片内是一个振荡电路反相放大器的输入端
3)、控制信号RST/ | | | | | | | | | | ||
V PD | 、ALE/ | PROG | 、 | PSEN | 和 | EA | / | V PP | |||
RST/ | V PD | (9 脚) |
复位端。高电平有效,宽度在24个时钟周期宽度以上,使单片
机复位。该引脚有复用功能, | V PD | 为备用电源输入端,防止主电源掉 |
电。
ALE/ | PROG | (30 脚) |
地址锁存信号端。访问片外存贮器时,ALE作低八位地址的锁存
控制信号。平时不访问片外存贮器时,该端以六分之一的时钟振荡频 | |||||||
EA | / | | (31 脚) | ||||
V PP | |||||||
EA | 端接高电平时,CPU 取指令从片内程序存贮器自动顺延至片外 | ||||||
程序存贮器。 | EA | 端接低电平时,CPU 仅从片外程序存贮器取指令。 | |||||
该引脚有复用功能, | V PP | 为片内程序存贮器编程时的编程电压。 |
4)输入/输出引脚P0、P1、P2和P3口
P0.0~P0.7(39~32脚):访问片外存贮器时作为低八位地址线和八位数据线(复用)。负载能力为8个LSTTL门。
P1.0~P1.7(1~8脚): 8 位准双向I/O口。负载能力为3 个
LSTTL门
P2.0~P2.7(21~28脚):访问片外存贮器时作为高八位地址
线
P3.0~P3.7(10~17脚):8 位准双向I/O口。负载能力为3
个LSTTL门。另外还有专门的第二功能
P3 口的第二功能
P3.0(10 脚):RXD(串行口输入端)
P3.1(11脚): TXD(串行口输出端)
P3.2(12脚): /INT0(外部中断0输入端)
P3.3(13脚): /INT1(外部中断1输入端)
P3.6(16脚): /WR(片外数据存贮器写选通信号输出端)
P3.7(17脚): /RD(片外数据存贮器读选通信号输出端)
3、74HC373的引脚及功能
(1)74HC373的引脚图(图8)
图8 74HC373 引脚图
(2)74HC373的功能
1 脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输
1)输出使能引脚OE和锁存控制引脚LE
19(O7)全部呈现高阻状态(或者叫浮空状态);
当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,
输出2(O0)、5(O1)、6(O2)、9(O3)、12(O4)、15(O5)、16(O6)、19(O7)
立即呈现输入脚3、4、7、8、13、14、17、18的状态。
锁存端LE由高变低时,输出端8位信息被锁存,直到LE端再
次有效。当三态门使能信号OE为低电平时,三态门导通,允许O0~O7
输出,OE为高电平时,输出悬空。当74LS373用作地址锁存器时,应
使OE 为低电平,此时锁存使能端LE为高电平时,输出O0~O7状态
与输入端D0~D7状态相同;当LE发生负的跳变时,输入端D0~D7数据锁入O0~O7。51单片机的ALE信号可以直接与74HC373的LE连接。
2)74HC373与单片机接口
D0~D7为8个输入端。
O0~O7为8个输出端。
G是数据锁存控制端;当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中。
OE为输出允许端;当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。
在MCS-51 单片机系统中,常采用74HC373作为地址锁存器使用,
其连接方法如上图所示。其中输入端1D~8D接至单片机的P0 口,输
4、CX20106A的引脚注释
l脚:超声波信号输入端,该脚的输入阻抗约为40kΩ。
2 脚:该脚与GND 之间连接RC串联网络,它们是负反馈串联网络的
大倍数增大。但C的改变会影响到频率特性,一般在实际使用中不必
改动,推荐选用参数为R=4.7Ω,C=3.3μF。
3脚:该脚与GND之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μF。
4脚:接地端。
5 脚:该脚与电源端VCC接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。例如,取R=200kΩ时, fn≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz。
6脚:该脚与GND之间接入一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。
7脚:遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源端,该电阻推荐阻值为22kΩ,没有接收信号时该端输出为高电平,有信号时则会下降。
8脚:电源正极,4.5V~5V。
3.3、程序设计流程图
程序设计流程图如图9所示
扫描键盘是否 是
是复位键
否
频率加步长 | 增 | 判断频率是 | 减 | 频率减步长 |
增是减 |
图9 程序设计流程图
3.4、程序设计
根据程序设计的流程图,可以编写如下程序代码:
ORG0000H
MAIN: MOVR1,#09H
INIT: CLRP1.0 ;使GATE为低电平,禁止计数 MOVDPTR,#0FF2BH ;送控制寄存器地址器中
MOVA,#36H ;送工作方式字
MOVX@DPTR,A ;工作方式字送到控制寄存器 MOVDPTR,#0FF28H ;送通道0地址
MOVA,R1 ;计数器/定时器初始值
MOVX@DPTR,A ;初始值送入通道0寄存器
SETBP1.0 ;使GATE为高电平,允许计数
LOOP: JNBP1.7,MAIN
JNBP1.6,FADD
JNBP1.5,FSUB
AJMPLOOP ;返回子程序,继续扫描按键FADD: MOVA,R1
SUBBA,#01H ;频率加步长
MOVR1,A
FSUB: LCALL DELAY AJMP INIT MOV A,R1
DELAY: NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOV R0,#1
DJNZ R0,DELAY
NOP
RET
END
4、仿真与调试4.1、Proteus 环境下的仿真调试
根据设计的原理图,在Proteus环境中,绘制出仿真电路图,如图10所示
译调试程序,然后将正确编译、连接后生成的HEX文件,加入Proteus
环境下的单片机中,是单片机可以仿真实际电路工作。
仿真的结果如图11、图12所示
图14 振荡衰减回波
5、设计中的问题
5.1、硬件连接的若干问题
在硬件连接过程中,遇到了一些问题,现做阐述如下:
1、由于P0口内部没有上拉电阻,所以在外接数据时要外加上拉电阻,用来保护电路不被损坏;
地址锁存器74HC373是连接单片机和8253芯片之间的用以锁2、存地址。这样的设计是由于数据线和地址线使用同样的P0端口,在输出地址时,由于需要对地址保持,从而需要对地址锁存,确保数据的正确传送。
3、由于仿真软件中,可以对8253芯片设置时钟频率,故无需外
手册,正确选择输入时钟信号。
5.2、软件调试的若干问题
程序设计的流程图列出来以后,就可以按照流程图的思路来编写程序。当源程序编写好了之后,可以进行编译。在编译的时候,遇到一些问题,现做阐述如下:
1、由于程序的编写是根据硬件的设计对应而来的,因此,在写程序的时候,要特别注意对各个引脚的操作一定要正确,否则,将会出现不能实现功能的问题。如在对8253芯片写入初始化控制字和通 道初值后,需要给8253芯片所选通道的门控信号一个上升沿脉冲,
则对应的程序里,就要根据硬件的接法来给相应引脚送出上升沿脉冲。
2、由于硬件电路中,调节频率的电路是由按钮组成的,因此,在实现功能的时候,需要对电路加上去抖动环节。在程序编写的时候, 要注意延可以考虑使用软件去抖动。在加入的去抖动的延时程序中,
时时间选择要适当,保证功能实现的可靠性。
3、仿真环境中,需要使用HEX文件,因此,在编译源程序时,必须在编译环境Keil中,在输出选项中,选择创建HEX文件。如果不选择此项,则即使编译成功,也不会产生仿真或者实际电路中所需要的HEX程序文件,不能达到所要实现的功能。
4、频率的是变化是按一定的规律的,8253芯片的输出方波的频
率与其时钟输入的脉冲的频率以及输入的初始值有关,其规律如下:
入初始值。
6、总结6.1、设计心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当
今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。 |
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要
的。
回顾此次单片机课程设计,至今我仍感慨颇多,的确,从选题到
定稿,从理论到实践,在整整四星期的日子里,可以说得是苦多于甜,
但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的 |
知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程
设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远
不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结 |
论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考
一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第 |
之后,一定把以前所学过的知识重新温故。
6.2、致谢
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后
在老师的辛勤指导下,终于完成了课设。同时,在老师的身上我学得
到很多实用的知识,在此我表示感谢!同时,对给过我帮助的所有同 |
学和指导老师再次表示衷心的感谢!
7、参考文献
1、张迎新《单微型计算机原理、应用及接口技术》 国防工业出版社 1993
2、戴梅萼,史嘉权《微型计算机技术及应用》 清华大学出版社 2003
3、仇玉章《32位微型计算机原理与接口技术》清华大学出版社20014、郑学坚,周斌《微型计算机原理及应用》 清华大学出版社 19985、李博成,侯伯亨《微型计算机原理及应用》 电子科大出版社 1998
6、邓元庆,贾鹏《数字电路与系统设计》 电子科大出版社 2003