时钟倒车雷达.docx
《时钟倒车雷达.docx》由会员分享,可在线阅读,更多相关《时钟倒车雷达.docx(22页珍藏版)》请在冰豆网上搜索。
![时钟倒车雷达.docx](https://file1.bdocx.com/fileroot1/2022-11/25/78374b34-4cc1-457b-91e7-0deab1303985/78374b34-4cc1-457b-91e7-0deab13039851.gif)
时钟倒车雷达
一、设计要求
功能:
电子钟显示(时钟调整、闹钟),可以利用超声波测量1.5米以内的距离,并显示在LCD上。
方案分析
由单片机实现各个部分的控制,通过套线来完成各部分的工作。
数码管采用四位共阳极数码管,驱动端与公共端采用外部套线与单片机连接,灵活的运用单片机的IO口。
二、硬件制作及其功能
硬件组成部分由:
1.单片机最小系统
2.LED显示模块共阳极(4位),LCD模块
3.键盘模块(4*4)
4.电源模块
5.超声波模块等5个主要模块组成
(1)单片机最小系统模块
89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器。
与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。
工作电压范围为3.8V~5.5V。
最小系统是单片机运行所必不可少的电路。
最小系统电路主要由复位电路、晶振电路和电源电路三部分组成,如图1所示。
复位电路中电解电容C一般取22μF,电阻R取10kΩ;晶振电路中电容C1、C2一般取22pF,晶振12MHz。
另外,第31引脚(
)如果悬空或接至VCC,则上电复位后单片机从内部开始执行程序;如果接地,则上电复位后单片机从外部开始执行程序。
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据
地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
单片机最小系统原理图
(2)显示模块
a、LED数码管
LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
四位数码管的四个驱动端利用单片机的段选信号来实现四个数码管的亮与暗。
字样了。
如:
显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。
一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。
发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
实物图
LED模块原理图
b LCD1602
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。
1602采用标准的16脚接口
第1脚:
VSS为地电源第2脚:
VDD接5V正电源第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第2脚:
VDD接5V正电源
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
接电源与地通过电位器来调节背景灯的
(3)键盘模块
由16个按键开关组成的4x4的矩阵键盘。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键。
列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
(4)电源模块
整流电路的作用是将交流降压电路输出的电压较低的交流电转换成单向脉动性直流电,这就是交流电的整流过程,整流电路主要由整流二极管组成。
经过整流电路之后的电压已经不是交流电压,而是一种含有直流电压和交流电压的混合电压,习惯上称单向脉动性直流电压。
桥式整流电路的工作原理如下:
e2为正半周时,对D1、D3和方向电压,Dl,D3导通;对D2、D4加反向电压,D2、D4截止。
电路中构成e2、Dl、Rfz、D3通电回路,在Rfz,上形成上正下负的半波整洗电压,e2为负半周时,对D2、D4加正向电压,D2、D4导通;对D1、D3加反向电压,D1、D3截止。
电路中构成e2、D2Rfz、D4通电回路,同样在Rfz上形成上正下负的另外半波的整流电压。
电源模块原理图
(5)超声波发生与接收模块
超声波发生的原理是首先由信号发生器来产生一个特定频率的信号,这超声波发生器个信号可以是正弦信号,也可以是脉冲信号,这个特定频率就是换能器的频率
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
s=340t/2
接收换能器感受到空气中有声压,就会生成一个电压输出。
CX20106芯片
cx20106是一款红外线检波接受的专用芯片,常用于电视机红外遥控接收器
使用CX20106A作为超声波接收处理的典型电路。
(当CX20106A接收到40KHz的信号时,会在第7脚产生一个低电平下降脉冲,这个信号可以接到单片机的外部中断引脚作为中断信号输入)
使用CX20106A集成电路对接收探头受到的信号进行放大、滤波。
其总放大增益80db。
以下是CX20106A的引脚注释。
下面是CX20106A集成电路的内部结构图
1脚:
超声信号输入端,该脚的输入阻抗约为40kΩ。
2脚:
该脚与地之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。
增大电阻R1或减小C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。
但C1的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R1=4.7Ω,C1=1μF。
3脚:
该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μf。
4脚:
接地端。
5脚:
该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。
例如,取R=200kΩ时,f0≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz。
6脚:
该脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。
7脚:
遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降。
8脚:
电源正极,4.5~5V。
超声波传感器接收部分
电路采用集成电路CX20106A。
这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距超声波频率40kHz较为接近,可以利用它作为超声波检测电路。
实验证明,其具有很高的灵敏度和
较强的抗干扰能力。
适当改变C1的大小,可改变接收电路的灵敏度和抗干扰能力。
R1和C1控制CX20106A内部的放大增益,R2控制带通滤波器的中心频率。
一般取R1=4.7Ω,C1=1μF。
其余元件按图4取值。
US_R1为超声波接收头,当收到超声波时产生一个下降沿,接到单片机的外部中断INT0上。
当超声波接收头接收到40kHz方波信号时,将会将此信号通过CX20106A驱动放大送入单片机的外部中断0口。
单片机在得到外部中断0的中断请求后,会转入外部中断0的中断服务程序进行处理,在移动机器人的避障工作中,可以在中断服务程序设定需要单片机处理的最短距离,比如0.5m。
对于距离大于0.5m的障碍物,可以不做处理直接跳出中断服务程序;对于距离
小于或等于0.5M.
555芯片
NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉冲信号。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
a.NE555的特点有:
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。
其延时范围极广,可由几微秒至几小时之久。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
2.它的操作电源电压范围极大,可与TTL,CMOS等逻辑电路配合,也就是它的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
3.其输出端的供给电流大,可直接推动多种自动控制的负载。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
4.它的计时精确度高、温度稳定度佳,且价格便宜。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
5.静态电流最大值VCC=5V,RL=∞=6mAVCC=15V,RL=∞=15mAFPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
b.NE555引脚图功能配置说明下:
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
Pin1(接地)-地线(或共同接地),通常被连接到电路共同接地。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
Pin2(触发点)-这个脚位是触发NE555使其启动它的时间周期。
触发信号上缘电压须大于2/3VCC,下缘须低于1/3VCC。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
Pin3(输出)-当时间周期开始555的输出输出脚位,移至比电源电压少1.7伏的高电位。
周期的结束输出回到O伏左右的低电位。
于高电位时的最大输出电流大约200mA。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
Pin4(重置)-一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位。
它通常被接到正电源或忽略不用。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
Pin5(控制)-这个接脚准许由外部电压改变触发和闸限电压。
当计时器经营在稳定或振荡的运作方式下,这输入能用来改变或调整输出频率。
FPs838电子-技术资料-电子元件-电路图-技术应用网
Pin6(重置锁定)-Pin6重置锁定并使输出呈低态。
当这个接脚的电压从1/3VCC电压以下移至2/3VCC以上时启动这个动作。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
Pin7(放电)-这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON时为LOW,对地为低阻抗,当输出为OFF时为HIGH,对地为高阻抗。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
Pin8(V+)-这是555个计时器IC的正电源电压端。
供应电压的范围是+4.5伏特(最小值)至+16伏特(最大值)。
FPs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号
•供应电压4.5-18V
•供应电流3-6mA
•输出电流225mA(max)
•上升/下降的时间100ns
NE555的作用范围很广,但一般多应用于单稳态多谐振荡器(MonostableMutlivibrator)及无稳态多谐振荡器(AstableMultivibrator)。
CD4069芯片
CD4069的特性就是CMOS门电路的特性,有六个反相器;工作原理是如单一应用是单非门(输入1输出0,反之相反);有时可做振荡器。
CD4069由六个COS/MOS反相器电路组成。
此器件主要用作通用反相器、即用于不需要中功率TTL驱动和逻辑电平转换的电路中。
输入1则输出为0,输入0则输出1.
有14个引脚,引脚如下:
1脚和2脚(1输入2输出),
3脚和4脚(3输入4输出),
5脚和6脚(5输入6输出),
8脚和9脚(8输入9输出),
10脚和11脚(10输入11输出),
12脚和13脚(12输入13输出),
7脚是VSS
14脚是VCC
通电后,时基振荡器震荡经过分频后向外输出时基信号。
作为分频器的IC2开始计数分频。
当计数到10时,Q4输出高电平,该高电平经D1反相变为低电平使VT截止,继电器断电释放,切断被控电路工作电源。
与此同时,D1输出饿低电平经D2反相为高电平后加至IC2的CP端,使输出端输出的高电平保持。
电路通电使IC1、IC2复位后,IC2的四个输出端,均为低电平。
而Q4输出的低电平经D1反相变为高电平,通过R4使VT导通,继电器通电吸和。
这种工作状态为开机接通、定时断开状态。
超声波发生电路原理图
超声波电路接收电路原理图
时钟倒车雷达PCB
三、软件程序
电子钟程序
#include
#defineLEDP1
#definecomP2
sbitfeng=P3^3;
unsignedcharkeyscan();
codeunsignedchardisp[10]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60};
volatileunsignedchartime=0;
voiddelay(unsignedintnum)/*延时*/
{
unsignedintx,y;
for(x=0;x{
for(y=0;y<50;y++)
{
}
}
}
unsignedcharkeyscan()/*键盘*/
{
unsignedcharkeynum=0,temp,j=0x01,i=0;
while(i<4)
{
P0=~(j<
i++;
temp=P0;
temp=temp&0xf0;
while(temp!
=0xf0)//P0!
=0xff
{
delay(100);
temp=P0;
temp=temp&0xf0;//11110000
while(temp!
=0xf0)
{
temp=P0;
switch(temp)
{
case0xee:
keynum=1;break;//11101110
case0xde:
keynum=2;break;//11011110
case0xbe:
keynum=3;break;//10111110
case0x7e:
keynum=4;break;//01111110
case0xed:
keynum=5;break;//11101101
case0xdd:
keynum=6;break;//11011101
case0xbd:
keynum=7;break;//10111101
case0x7d:
keynum=8;break;//01111101
case0xeb:
keynum=9;break;//11101011
case0xdb:
keynum=10;break;//11011011
case0xbb:
keynum=11;break;//10111011
case0x7b:
keynum=12;break;//01111011
case0xe7:
keynum=13;break;//11100111
case0xd7:
keynum=14;break;//11010111
case0xb7:
keynum=15;break;//10110111
case0x77:
keynum=16;break;//01110111
default:
keynum=0;break;
}
returnkeynum;
}
}
}
returnkeynum;
}
voidmain()
{
unsignedchark[4]={0,0,0,0},i=0,j=0x01;
unsignedcharmin=0,miao=0;
unsignedcharkeycode=0;
unsignedintg=0;
ET0=1;
TH0=0x3c;
TL0=0xb0;
TMOD=0x01;
TR0=1;
EA=1;
w