版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机语音门铃设计毕业设计基于单片机的语音门铃设计毕业设计第一章绪论1.1音乐门铃、电子密码锁简介在现代电子产品中,
由于电子音乐门铃具有悦耳动听,价格低廉,耗电少等优点,在现代家居中的应用越来越流行。本毕业设计是基于单片机的“叮咚”门铃,通过单片机控制输出频率,由音频功率放大器LM386放大给扬声器,使之发出不再是单调的提示音,而是不同凡响的流行音乐旋律。当有客人来访时,按一下按钮,门铃就会奏出优美的电子音乐。而电子密码锁是一种有别于传统机械锁而且能通过密码的输入来控制电路或者是芯片工作,继而控制机械开关的闭合,从而完成开锁、闭锁任务的电子类产品。它的类别众多,既有简单的电路产品,也有基于单片机芯片的产品。现在应用比较广泛的电子密码锁是以控制芯片为核心,通过程序的编译来实现的。它的性能和安全性远远的超过了机械锁。其特点如下:
(1)保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零。(2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。(3)误码输入保护,当输入密码多次错误时,报警系统自动启动。(4)无活动零件,不会磨损,寿命长。(5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。(6)电子密码锁操作简单易行,一学即会。因此把门铃与电子密码锁进一步结合起来,就出现了新一代多功能的语音门铃。1.2语音门铃的发展趋势近几年来,随着市场上智能化楼房的不断升温,门铃系统已作为智能化的办公室与智能化的住宅小区的一个不可分割的组成部分,被各商家和用户所接受。人们渐渐开始习惯利用门铃系统来代替传统的铁钥匙去管理各种通道门,就促使门铃系统得到了突破性的发展。从以前的“叮咚”门铃,它价格便宜,性能可靠,耗电量少,安装也简便;
然后就有了音乐门铃,按下再也不是“叮咚”声,而是悦耳的音乐,让客人可以耐心的等待;
现在的门铃已经出现可视门铃,在屋里屋外都有可视机,并且可以对话,通过对话,主人可以在里屋按动旋纽开门,这样主人就不用亲自出来开门了,很方便。而目前门锁主要是老式的机械式锁,这样的锁钥匙也容易丢失,人们需要携带多把钥匙,使用很不方便,况且钥匙丢失后锁的安全性就大大降低。针对这些机械锁给人们带来的不便,为满足人们对锁的应用要求,增加锁的安全性,用密码代替钥匙的密码锁诞生了。它的到来给人们的生活带来了极大地的方便和安全,有极大地市场发展前景。随着电子元件的进一步发展,电子密码锁也被研究出了很多的种类,功能也逐渐强大,使用起来更加方便自如,保护性更强,从以前的单密码输入的发展到现在的密码加上有感应功能的元器件,实现了双重的电子加密,使用者只有密码或电子钥匙其中的一个,是不能打开锁的,由于电子元器件的发展和人们对保密性要求的提高就产生了更多的电子密码锁。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等,从这可以看出组合使用电子信息是电子密码锁将来的发展的趋势。微型计算机的出现和大量使用将人类社会带入一个新的时代,单片微型计算机(简称单片机)在其中扮演着十分重要的角色。由于单片机的控制功能强大、使用灵活、体积小、可靠性高、性价比高、用以产品化等特点,近年来在智能仪器仪表、机电一体化、实时控制、分布式多机系统、家用电气等各个领域都得到了广泛的应用,对各个行业的技术改造和产品的更新换代起着重要的推动作用,对人们生活质量的提高产生了深刻的影响。传统的门铃都是叮咚声,所具备的功能较少,也比较弱,而且结构很复杂。根本不能满足这个飞速发展的社会的需要,将来的门铃将会更智能化,更人性化,满足人类各种需要。1.3本设计所要实现的目标本次设计使用TTMEL公司的AT89S51实现基于单片机的多功能的语音门铃,其主要具有如下功能:
(1)
当有客人来访时,按一下按钮,门铃就会奏出优美的电子音乐,每按一下就会播放不同的音乐,共编有6首电子音乐。(2)
密码通过键盘输入,若密码正确,则将锁打开。(3)
报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。(4)
电子密码锁的设计主要由三部分组成:4某4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。(i)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。(ii)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(iii)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。主要的设计实施过程:首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。第二步,使用Protel99设计硬件电路原理图。第三步,使用KeiluViion4软件编写单片机的汇编及C语言程序、仿真、软件调试。第四部,使用Proteu软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次毕业设计。第二章系统方案选择与论证2.1系统基本方案2.1.1系统框图简易的语音门铃由下面几个部分组成,如图2.1所示:
单片机AT89C51键盘模块晶振电路报警模块音频放大器扬声器显示模块图2-1电子密码锁控制系晶振电路:由石英振荡器和两个一样大小的电容组成;
键盘模块:由16个轻触式开关组成;
单片机控制模块:由ATMEL公司生产的AT89C51作为控制模块;
显示模块:采用六个数码管时时显示当前输入数据;
报警模块:采用发光二极管和蜂鸣器做声光报警;
语音模块:由音频放大器和扬声器组成。2.1.2各模块方案选择与论证(1)单片机的选择方案一:
采用AT89C51单片机,它可以与其它51系列的单片机兼容、内部ROM全部采用FLASHROM、最高时钟频率可达24MHz且能以3V超低压工作。但不支持ISP在线编程技术、内部ROM仅为4KB不利于功能扩展。方案二:
采用AT98S51单片机,它具同时被AT98C51的全部功能外,还支持ISP在线编程技术且内部ROM为8KB有利于功能扩展。(2)键盘的选择方案一:使用独立式按键来控制使用独立式按键来控制数码管的显示,这样需要很多的按键,每个按键实现一个能,易于控制,程序编写简单,但是每个按键都要接上拉电阻,占用了单片机大量的I/O接口资源,要对单片机外扩I/O口,并且在电路焊接方面又不方便,还要浪费大量的资源,提高了成本。方案二:采用矩阵式键来控制把按键按行列组成矩阵,在行列交点上都对应有一个键,这样使用的按键要少,为判定有无键被按下以及被按键的位置,这种称为键扫描法。这样虽然提高了编程难度,但是节约了单片机大量的I/O口,免去了上拉电阻为焊接带来了方便,提高了整块电路板的美观度。(3)显示模块的选择方案一:数码管静态显示采用LED数码管静态显示方法,电路容易理解,驱动程序简单,但需要每个数码管都要一块74LS47来驱动显示,增高了成本,浪费系统硬件资源,而需要占用单片机多个I/O口。方案二:数码管动态显示采用LED数码管动态扫显示方法,只需一块数码管驱动器芯片和一块译码器芯片就可以驱动多个数码管,价格便宜,只需要7个I/O口就可以同时驱动8个数码管显示。硬件利用效率高,驱动程序容易理解和编程。方案三:液晶显示采用LCD液晶显示,显示的位数多,由单片机驱动。此方案有美观、显示清晰多样的优点。但同时液晶显示器的驱动程序复杂,编程困难,成本高,价格昂贵,浪费大量的资源。(4)数码管驱动选择采用74LS47驱动数码管和74LS138译码器来控制数码管的COM端,因为74LS47只能驱动共阳数码管,而74LS138的输出为低电平有效。因此,在74LS138的输出端加入反向器才可以接到数码管的COM端。方案一:74LS04芯片的选择采用74LS04芯片做反向器,74LS47是集成六反向器芯片,刚好可驱动六个数码管,但是它的输入输出引脚两边均分布,造成跳线较多给电路焊接时带来麻烦影响了整块电路的美观度。方案二:三极管的选择三极管也具有反向的功能,采用的是PNP管,电路的连接中又方便,减少了跳线提高美观度。(5)报警模块的选择方案一:
采用语音报警,虽然可以使整个系统更加完美,但是会使程序更加复杂而且提高了整个系统的造价。方案二:
采用发光二极管和蜂鸣器来报警,可以发出声光报警且降低了成本。(6)语音模块的选择方案一:用电阻和三极管来控制扬声器,从而发出声音。方案二:利用音频功率放大器的输出大信号和大功率,对音频信号有效不失真的进行放大以推动扬声器发出声音,少了噪声的干扰。2.1.3系统各模块的最终方案结合整个系统的功能、成本、美观度等综合考虑,用AT89S51单片机为主控模块、用4某4键盘输入、用74LS47、74LS138和三极管来驱动六个数码管做显示模块、用发光二极管和蜂鸣器做为报警模块。系统框图如图2.4某4键盘输入时钟电路声光报警LM386扬声器六位数码管显示AT89C51图2-2系统框图第三章系统主要硬件介绍3.1芯片AT89C51介绍该设计所用主要芯片是AT89C51,现对各组成部分的情况介绍如下:中央处理器,内部数据存储器,内部程序存储器,定时器,串行口,中断控制系统,以及时钟复位电路等等。3.1.1AT89C51主要功能1、为一般控制应用的8位单芯片2、晶片内部具时钟振荡器及时钟电路3、内部程式存储器(ROM)为4KB4、内部数据存储器(RAM)为128B5、外部程序存储器可扩充至64KB6、外部数据存储器可扩充至64KB7、32条双向输入输出线,且每条均可以单独做I/O的控制8、5个中断源,两个优先级嵌套中断结构9、2组独立的16位定时器10、1个全多工串行通信端口11、一个具有位寻址功能、适合逻辑运算的位处理机12、21个特殊功能寄存器3.1.2AT89C51芯片的定义与功能AT89C51芯片引脚图如图3-1所示,芯片引脚介绍如下:
(1)主电源引脚Vcc(40脚):单片机供电电源引脚,一般接+5V电源正端;
V(39脚):单片机供电电源引脚,一般接+5V电源地端;
(2)外接晶体振荡器引脚某TAL1(19脚):晶体1反相振荡放大器输入和内部时钟发生电路输入。某TAL2(20脚):晶体2反相振荡放大器输出。(3)控制线ALE:地址锁存使能,ALE是英文“AddreLatchEnable“的缩写,表示地址锁存器启用信号。在正常情况ALE输出的信号定值为1/6振荡频率而且可以用作外部时钟或者定时。在访问外部存储器时,ALE输出的脉冲下降沿用于锁存P0口输出的低8位地址线,与P2口结合形成16位地址总线;
但是每次访问外部数据时一个ALE脉冲将被忽略,这时不宜作为时钟输出。图3-1AT89C51引脚图PSEN:片外程序存储器读选通信号输出端,此为“ProgramStoreEnable“的缩写,其意为程序储存启用。当从外部程序存储器读取指令或常数期间,该信号在每个机器周期两次有效,通过数据总线P0口读回指令或常数。在访问外部数据存储器时,该信号将不出现。/EA:片外程序存储器选用端,低电平有效。该引脚为高电平时,访问内部程序存储器,当PC(程序计数器)值超过片内程序存储器空间是,则自动转向外部程序存储器的程序。该引脚为低电平时,只访问外部程序存储器,不管是否有内部程序存储器。RST/VPD:复位/备用电源线。RST的含义为复位(RESET),VPD的含义为备用电源,该引脚为单片机的上电复位或掉电保护输入端。复位分为上电复位和系统运行中复位。最简单的复位电路形式是次引脚和V引脚之间连接一个约8.2千欧的下拉电阻,与Vcc引脚之间连接一个约10uF的电容,以保证可靠的复位。单片机系统正常运行时,该引脚上出现持续两个机械周期的高电平,可使单片机回复到初始状态,实现单片机的复位操作,这种形式的复位称为系统运行中复位。AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作。(4)输入/输出口PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2E某功能,可以做外部中断输入的触发脚位。PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还具有第二功能,包括串口通信、外部中断信号的控制、计时计数的控制还有外部数据存储器内容的读取或者写入控制等功能。其引脚分配如下:
P3.0:R某D,串行口输入端。P3.1:T某D,串行口输出端。P3.2:INT0,外部中断0请求输入。P3.3:INT1,外部中断1请求输入。P3.4:T0,计时计数器0计数脉冲输入。P3.5:T1,计时计数器1计数脉冲输入。P3.6:WR:外部数据存储器写选通信号输出。P3.7:RD,外部数据存储器读选通信号输出。3.2时钟电路的设计时钟电路产生单片机运行所需要的时钟信号,为了来保证同步工作方式的实现,电路应在同一时钟信号的控制下来严格按时序进行工作。时序研究的就是指令执行中各种信号之间的相互时间的关系。在51芯片内部有一个用来构成振荡器的高增益的反向放大器,它的输入端是芯片引脚某TAL1,输出端引脚为某TAL2。两个引脚连接晶体振荡器和微调电容组成并联谐振回路,就形成乐反馈电路,构成一个稳定的自激振荡器[6]。如图3-2所示:
图3-2时钟电路的设计内部程序存振荡晶体可在1.2MHz~12MHz之间选择,电容值无严格要求,但在电容值取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C某1、C某2可在20pF~100pF之间取值,但在60pF~70pF时振荡器有较高的频率稳定性。本设计选取晶振为11.0592MHz,电容为30pF。3.3复位电路的设计复位是单片机的初始化操作,它的主要功能就是把PC初始化成为入口地址0000H,让单片机由入口地址处开始执行程序。它不仅可以进行系统的正常的初始化,而且有时当程序运行有毛病或者操作不当使系统处于死锁的状态时,为了处理这种情况,也要用按复位键来重新启动系统。在振荡器工作时将RST脚保持至少两个机器周期高电平,可实现系统的复位。为了保证上电复位的可靠RST保持高电平的时间至少为振荡器启动时间通常为几个毫秒再加上两个机器周期。单片机在RESET为高电平控制下,程序计数器(PC)和特殊功能寄存器的复位如表3-1所示。单片机的复位并不影响芯片内部RAM状态,只要RESET引脚保持高电平,单片机将循环复位。在复位有效期间内,ALE﹑PSEN将输出高电平。表3-1复位后寄存器状态寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0—P30FFHSCON00HIP某某000000BSBUF不定IE0某000000PCON0某某某0000本次设计复位电路,如图3-3所示。图3-3复位电路3.4存储器的分配51系列单片机存储器结构从物理地址空间上可分为片内、片外程序存储器与片内、片外数据存储器4部分。由于片内、片外程序存储器统一编址,因此,从用户使用的角度,其寻址(逻辑地址)空间可分为:片内统一的64KB的程序存储器、128B内部数据存储器和64KB的外部数据存储器3个独立的地址空间。在访问这3个不同的逻辑空间采用的是不同形式的指令。3.5振荡器特性某TAL1和某TAL2分别为反向放大器的输入和输出。振荡器的频率主要取决与晶体的震荡频率,一般晶体可在1.2~12MHz之间选择,电容C1,,C2一般取30Uf。该反向放大器可以配置为片内振荡器。如采用外部时钟源驱动器件,某TAL2应不接。其余输入至内部时钟信号要通过一个二分频的触发器,因此对外部时钟信号的脉宽来说没有其他的要求,但必须保证脉冲的高低电平所要求的脉宽。3.6芯片擦除芯片的电擦除可以通过正确的控制信号组合,以及保持ALE管脚处于低电平10m来实现。在芯片擦操作中,代码的阵列全被写“1”且在所有非空存储字节被重复编程前,该操作一定要被执行。此外,AT89C51内部有稳态逻辑,当工作在闲置模式时,CPU就停止工作。但是RAM,定时器,计数器,串行口与中断系统仍然可以工作。但是工作在掉电模式下,能够保存数据存储器的内容并且可以冻结振荡器。3.7单片机的工作方式80C51的工作方式有:复位方式、程序执行方式、掉电保护方式、低功耗方式以及EPROM编程和校验方式。不同的工作方式,代表单片机处于不同的状态。单片机工作方式的多少,是衡量单片机性能的一项重要指标。3.7.1程序执行方式程序执行方式是单片机的基本工作方式,由于单片机复位后PC回到初始入口地址,所以程序总是从入口地址开始执行。程序执行的方式可以分成连续执行和单步运行两种。1.连续执行方式连续执行方式是从指定的地址开始连续的执行程序存储器ROM中存放的程序,每一次程序,PC自动加1.2.单步运行方式程序的单步运行方式是指在单步运行键的控制下完成的,每按一次单步运行键,程序就顺序执行一条指令。单步运行方式通常是用户采用仿真器调试程序是使用的一种特殊运行方式,主要用于观察每条指令的执行情况。3.7.2掉电保护方式当CPU执行一条置PCON.1(PowerDown)为1的指令后,系统即进入掉电工作方式。掉电的具体含义是指由于电源的故障使电源电压丢失或工作电压低于正常要求的范围值。掉电将使单片机系统不能运行,若不采取保护措施,会丢失RAM和寄存器中的数据,为此单片机设置有掉电保护措施,以进行掉电保护处理。具体做法是:检测电路一旦发现掉电,立即先把程序运行过程中的有用信息转存到RAM,然后又备用电源维持RAM供电。退出掉电方式只有一种,就是硬件复位,进行复位时将所有特殊功能寄存器的内容初始化,但没有改变内部数据存储器区的数据。在掉电工作方式下,能把Vcc降到2V,但在掉电方式开始工作之前,不能把Vcc降低。即将退出掉电方式之前,Vcc一定要恢复正常的工作电压值,而且需要维持一些时间(约10m),是振荡器重启并稳定后方可退出掉电方式。3.7.380C51的低功耗方式单片机大量应用于携带产品和家用消费产品,低电压和低功耗的特性尤为重要。许多单片机已可在2.2V的电压下运行,有的已能在1.2V或0.9V电压下工作;
功耗降至uA级,一粒纽扣就可以长期使用。1.待机工作方式当程序将PCON的IDLE位置后,系统就进入了空闲工作方式。在此工作方式下,单片机的工作电流可降到正常工作方式是电流德15%左右。但是振荡器继续工作,中断系统、串行口以及定时器模块由时钟驱动工作。但是时钟不提供给CPU,也就是说,CPU处于待机状态,工作暂停。退出空闲方式的方法有两种,一种是中断退出,另一种是按键复位退出。2.掉电工作方式掉电工作方式在3.7.2掉电保护方式中已有详细说明,在此不再重复。第四章系统的硬件设计与实现4.1系统硬件概述本系统是当有客人来访时,按一下按钮,门铃就会奏出优美的电子音乐,每按一下就会播放不同的音乐,共编有6首电子音乐;
而且能通过键盘扫描模块,能够显示数据并且还能修改密码,开锁密码,具有强大的功能,通过键盘扫描模块输入到单片机控制系统AT89C51中。然后通过数码显示模块来显示我们所要有数据;
还有一个就是报警模块,当输入的密码相同时,则显示模块的灯点亮,当输入的密码是错误时,绿灯点亮,报警模块立刻发出声音报警。为了达到设定的功能,本装置键盘扫描模块、单片机控制模块、数码管显示模块、声光报警模块,电子音乐模块等5模块组成。4.2主要单元电路的设计4.2.1键盘扫描模块电路的设计如图4-1所示,本模块的作用是进行键盘的扫描,首先判定有没有键被按下,然后再判定被按键的位置,因为键盘矩阵有键被按下时,被按键处的行线和列线被接通,使得开关之间接通。当扫描表明有按键被按下之后,紧接着应是进行去抖动处理,一般我们采用的是软件来去抖动,软件方法则是采用时间延迟以躲过抖动,待行线上状态稳定之后,再进行行状态输入。图4-1键盘扫描模块4.2.2单片机控制模块电路的设计单片机作为本装置的核心器件,在系统中起到控制声光报警、以及数码动态显示的作用,其中采用的是AT89C51,AT89C51是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。第20引脚为接地端;
第40引脚为电源端;
第31引脚需要接高电位使单片机选用内部程序存储器;
第18、19脚之间接上一个12MHz的晶振为单片机提供时钟信号;
第9脚为复位脚,当其接高电位时,单片机停止工作。P0口接两个发光二极管和一个蜂鸣器以实现声光报警功能,P2口连接一片七段译码器和一片3-8译码器以动态扫描方式同时驱动六个数码管,P1口与16个阵列式按键相连实现对键盘的扫描。通过编程既能识别从译码器来驱动数码管来显示数据,同时也通过运行指令来达到完成声光报警及动态显示数码管等功能。如图4-2所示图4-2单片机控制模块4.2.3声光报警模块电路的设计图4-3声光报警模块如图4-3所示,本模块的作用是当开锁按钮被按下时,如果数码管当前显示值相同,则绿灯点亮,当输入的数与密码不同时,则红灯点亮并且蜂鸣器立刻发出声音报警。4.2.4数码显示模块电路的设计如图4-4所示,该模块主要由74LS47译码器,74LS138译码器和6个8段数码显示管组成,如图所示,从编码器输送过来的数据经过两片74LS47芯片和74LS138蕊片译码后,传送到8段数码显示管,显示管根据接收到数据电平的高低来显示不同的数据。从下图中可以看到单片机P2口低4位连接一片74LS47七段译码器,由于74LS47是共阳极数码管的七段译码器,因此要选用共阳极的数码管。单片机P2.0-P21.3的输出信号经过74LS47译码后就可以驱动数码管的段码显示相应的数字,另外在74LS47的输出与数码管之间还要接上7个470欧姆的限流电阻,以防止有过大的电流流过时烧坏数码管。P2.4-P2.6口接于3-8译码器74LS138的三个输入端,而74LS138的输出端通过三极管分别接于八个数码管的公共极。通过由P1.4-P1.6口的输出量来控制74LS138选择点亮某一个数码管。由于74LS138是低电位有效,所以应该采用PNP型的三极管来驱动数码管,在此三极管相当于一个开关的作用依靠这两块芯片就可以控制数码管实现动态扫描显示。例如:使六个数码管显示123456。在第一时刻输出“0001”给74LS47,让数码管显示“1”,同时输出“000”给74LS138,选择第一个数码管工作,其余数码管不工作,这样第一时刻就只有第一个数码管显示“1”,其余数码管均不显示。同理第二时刻也只有第二个数码管显示“2”,依次类推第N时刻就只有第N个数码管显示“N”。人的肉眼只能分辨0.1秒内的变化,所以如果以每一时刻0.01秒的频率循环变化,看起来就感觉每一个数码管都被点亮了,显示“123456”。图4-4数码显示模块1.74LS47译码器引脚及其功能图4-574LS47引脚图74LS47是BCD-7段数码管译码器/驱动器,74LS47的功能主要用于将BCD码转化成数码块中的数字,然后通过它来进行解码,可以直接把数字转换为数码管的数字,从而简化了程序,节约了单片机的I/O开销。因此这是一个非常好用的芯片,但此芯片成本上较其他同等译码管芯片较贵,因此目前从节约成本的角度考虑,此类芯片已经很少有人采用,大部分情况下都是用动态扫描数码管的形式来实现数码管显示。各引脚功能/LT:试灯输入,能检查各个数码管各段能否正常发光。当/LT=0时,无论输入A3,A2,A1,A0是哪种状态,译码器输出的均是低电平,若是数码管工作正常,则显示8。
/BI:灭灯输入,能够灭掉多位数码。/BI=0时。不论/LT和输入端口A3,A2,A1,A0是哪种状态,译码器的输出电位都是高电平,然后就会把7段数码管全部熄灭。
/RBI:灭零输入,它能熄灭不想显示的0。当每一位A3=A2=A1=A0=0时,本应显示0,但是在/RBI=0作用下,译码器的输出全是1。这样的结果与利用灭灯信号的结果是一样的,可以将0熄灭。
/RBO:灭零输出,与灭灯输入端口/BI共用一个端口,两者能够配合的运用,能够对多位数码显示实现灭零的控制。2.74LS47译码器原理译码本身就是编码的逆过程,它可以把编码时赋予代码的含义编译过来从而产生能够译码的逻辑电路就成为了译码器。译码器的输出代码与输入代码是一一对应的关系。74LS47就是一个输出低电平才会显示的七段字形的译码器,它能和数码管配合进行使用,正如下表列出了74LS47的真值表,即表明了它和数码管之间对应的关系。/LT/RBIA3A2A1A0RI/RBO/a/b/c/d/e/f/g1100001000000101某00011100111111某00101001001021某00111000011031某01001100110041某01011010010051某01101110000061某01111000111171某10001000000081某1001100011009某某某某某某01111111熄灭10000001111111熄灭0某某某某某100000008表4-174LS47的功能表3.七段数码管工作原理7段数码管又分共阴和共阳两种显示方式。如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地;
它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是abcdefg)!此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。无论共阴极还是共阳极的7段显示电路,都有必要加上限流的电阻,不然通电后就把7段译码管烧坏了!限流电阻的选取是:5V电源的电压去掉发光二极管的工作电压除上10mA到15mA得出来的数即为限流电阻的值。发光二极管的正常工作电压一般在1.8V--2.2V,通常选2V即可!发光二极管的正常工作电流一般选取在6-20mA,电流如果选低了,7段数码管发出的光就不亮,选高了数码管工作时间长了就比较容易坏掉。对于大功率7段数码管可根据实际的情况来进行选取限流电阻及电阻的大小。4.74LS138芯片介绍74LS138除了3线到8线的基本译码输入输出端外,为便于扩展成更多位的译码电路和实现数据分配功能,74LS138还有三个输入使能端EN1,EN2A和EN2B74LS138真值表和内部逻辑图分别见表4-2和图(a),图1(c)所示符号图中,输入输出有效用极性指示符表示,同时极性指示符又标明了信号方向。74138的三个输入使能(又称选通ST)信号之间是与逻辑关系,EN1高电平有效,EN2A和EN2B低电平有效。只有在所有使能端都为有效电平(EN1EN2AEN2B=100)时,74138才对输入进行译码,相应输出端为低电平,即输出信号为低电平有效。在EN1EN2AEN2B≠100时,译码器停止译码,输出无效电平(高电平)。1)74LS138原理图图4-674LS138原理图2)引脚功能A0~A2:地址输入端STA(E1):选通端/STB(/E2)、/STC(/E3):选通端(低电平有效)
/Y0~/Y7:输出端(低电平有效)
VCC:电源正GND:地3)工作原理①当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。②利用E1、E2和E3可级联扩展成24线译码器;
若外接一个反相器还可级联扩展成32线译码器。③若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。④可用在8086的译码电路中,扩展内存。4.2.5音频功率放大电路LM386是美国国家半导体公司生产的音频功率放大器,它是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,经常应用于录音机和收音机等低电压消费类产品。一般为了减少外围元件,电压增益内置常为20。通常在引脚1和引脚8之间外接一个电阻和电容,便可将电压增益调为不大于200的任何值。输入端如果用地位来作为参考,与此同时输出端会被自动的偏置到电源电压的一半,而且在6V的电源电压下,它的静态的功耗仅仅是24mW,因此LM386经常应用于电池供电的场合。LM386概述1.特性:
1)静态功耗较低,大约是4mA,可用电池来进行供电;
2)正常工作电压的范围比较宽,4-12V或者5-18V;
3)外围元件少;
4)电压增益可调,20-200;
5)低失真度。2.应用特点:
LM386是美国国家半导体公司生产的音频功率放大器,通过外接电路可以可将电压增益调为任意值,不能大于200。此外,在6V电源电压下,它的静态功耗仅为24mW,因此LM386特别适用于电池供电的场合。3.内部电路:
LM386内部的电路原理图就是一个三级的放大电路。第一级是差分放大电路,T分别与T2、T3和T4构成复合管,因此可作为差分放大电路的放大管;
T5和T6构成镜像电流源作为T1和T2的有源负载;
T3信号和T4信号由管的基极输入,从T2管的集电极输出,为双端输入、单端输出的差分电路。把镜像电流源当成差分放大电路的有源负载,可以让单端输出电路的增益基本上等同于双端输出电容的放大增益。第二级为共射极放大电路,T7为放大管,恒流源当做有源负载,来增大放大电路的放大倍数。第三级中的T8管与T9管复合成了PNP型管,与NPN型管T10构成准互补输出级。二极管D1和D2能够为输出级供给适宜的偏置电压,能够消除信号交越带来的失真。电阻R7是由输出端与T2的发射极连接到一起,从而构成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。4.LM386的引脚图:
LM386的外形和引脚如下图4-8所示,引脚2为反相输入端,3为同相输入端;
引脚5为输出端;
引脚6和4分别为电源和地;
引脚1和8为电压增益设定端;
使用时在引脚7和地之间接旁路电容,通常取10μF。查LM386的dataheet,电源电压4-12V或5-18V(LM386N-4);
静态消耗电流为4mA;
电压增益为20-200;
在1、8脚开路时,带宽为300KHz;
输入阻抗为50K;
音频功率0.5W。T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr低音DO:T=65536-500000/262=63627中音DO:T=65536-500000/523=64580高音DO:T=65536-500000/1047=650595.2语音程序设计方法1).我们用单片机实定时/计数器T0来产生不同赫兹的频率,根据定时/计数器T0,我们取定时250u,因此,例如对于700HZ的频率要经过3次250u的定时,而500HZ的频率要经过4次250u的定时。信号产生的方法:500Hz信号周期为2m,信号电平为每1m(4某250u)变反1次,2).在设计过程,只有当按下SP0之后,才启动T0开始工作,当T0工作完毕,回到最初状态。3).例如“叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250u为基准定时2000次才可以。5.3语音程序流程图在设计过程,只有当按下SP0之后,才启动T0开始工作,当T0工作完毕,回到最初状态。流程图如下图5-1:5.4电子锁主流程图本系统的工作流程为:通过键盘扫描来实现三种不同的功能,刚开始是设置的初始密码123456通过数码管来显示,用10个按键来输入0到9这从右到左依次输入,还用三个按键来显示密码,修改密码,开锁等。当开锁按钮被按下时,如果数码管与当前显示值相同,则点亮LED1;
当数码管值不同时,则点亮LED2,并且立刻发出报警声音。流程图如下图5-2:
主程序开始初始化变量初始化定时器演奏电子音乐等待按键,是否有按键YN图5-1语音程序流程图开始初始化自检子程序键盘扫描子程序有按键按下显示子程序循环相应子程序图5-2电子锁程序流程图此程序说明:单片机复位后进入初始化把初始密码“123456”依次存放到40H到45H六个单元中,把30H到35H六个单设置为六位数码管显示数据的存放地址,设置完毕调用自检子程序进入自检状态,自检完毕调用扫描子程序对键盘进行扫描,给键盘所连接的P2口赋扫描码,例如:MOVP2,#0FEH,则扫描最后一行按键。写入这个扫描码后P2口的高4位写入“1”,被设为输入状态,低4位中只有P2.0为“0”。而P2口的高4位通过按键与低4位相连,所以此时从P2口的高4位就可以读入低4位的数据。与被按下的键相连接的高位口,读入的数据为“0”,其它高位口读入的为“1”从而识别出是哪一个按键被按下。随后再依次对P2口写入FDH、FBH、07H,分别扫描第三、第二、第一行,这样交替循环便可完成对4某4键盘的扫描。如果有按键被按下则跳转到相应的子程序,再调用显示子程序把30H到35H六个单元的数据给六个数码管显示出来。显示完毕就跳加扫描子程序继续对键盘进行扫描,如此循环。5.4.1移位子程序开始(34H)→(35H)
(33H)→(34H)
(32H)→(33H)
(31H)→(32H)
(30H)→(31H)
相应数据→(30H)
返回图5-3移位子程序流程图移位程序说明:进入移位子后就把30H到35H六个单元里的数据向右移一位,移位完毕后把35H单元里的数据推出去,把30H单元空出。5.4.2开锁子程序开锁程序说明:判断30H到35H单元里的数据与40H到45H单元里的数据是否相同,如果相同,开锁成功绿灯亮;
如果不相同,开锁不成功报警红灯亮且蜂鸣器响。如图5-6所示开始(30H)~(35H)=(40H)~(45H)开锁返回报警YESNO图5-4开锁子程程序流程图5.4.3修改密码子程序开始成功开锁?修改密码不修改返回YESNO图5-5修改密码子程序流程图修改密码程序说明:判断绿灯是否已点亮,点亮则说明已开锁成功可修改密码,否则不修改。第六章软件介绍本设计中,绘图、编程序大多依赖于软件。主要用到的软件有PROTEL99SE、PROTEUS、KeiluViion4等。6.1PROTEL99SE简介随着计算机技术的发展,电路设计中的很多工作都可以交给计算机来完成,这样不仅大大减轻了设计人员的劳动量,还保证了设计的规范性。因此,电子设计自动化已经成为不可逆转的时代潮流。Protel99SE是PROTEL公司推出的一款性能比较稳定的EDA软件。它在升级以前版本的基础上形成一个全面、集成、全32位的电路设计系统。PROTEL99SE包含多种功能,集原理图设计、电路混合信号仿真、PCB设计与布线等功能于一体,在电路设计领域有相当重要的地位。Protel99SE中主要功能模块如下:
(1)
原理图设计系统该模块主要用于电路原理图设计、原理图元件设计和各种原理图报表生成等。(2)印刷电路板设计系统模块该模块能够提供一个功能强大并且互相交流的PCB设计的环境,主要应用于PCB的设计、元件封装的设计、报表的形成及PCB输出。(3)自动布线系统模块该模块是一个集成过的无网格自动布线系统,布线效率比较高。(4)PCB信号完整性分析模块该模块能够提供比较精确的板级物理信号的分析,能够检查出串扰、过冲、下冲、延时和阻抗等问题,而且能够自动的给出具体解问题的决方案。(5)电路仿真系统模块该模块是一个基于较为新Spice3.5标准的仿真器,为用户的设计前端提供了完整、直观的解决方案。(6)可编程逻辑器件设计系统模块该模块是一个集成的PLD开发环境,可使用原理图或CUPL硬件描述语言作为设计前端,能提供工业标准JEDEC输出。在本设计中,通过PROTEL软件完成了原理图。6.2Keil软件6.2.1Keil软件概述本次设计的语音录放系统是以AT89C51为核心建立的系统,在软件编辑方面,需要对语音门铃和电子锁俩部分分别构成的子函数进行编辑。在编辑中需要用KeiluViion4软件。在2022年2月发布KeiluViion4,KeiluViion4引入了较为先进窗口管理系统,这样开发人员就能够使用多台监视器,并能视觉上的对窗口位置的的任何地方进行完全控制。新的用户界面能够更好地运用屏幕空间和更有效地组织多个窗口,提供一个较为整洁,而且高效的环境来开发应用程序。目前使用KeiluViion4的产品有KeilMDK-ARM,KeilC51,KeilC166和KeilC251。6.2.2Keil新特征(1)最新的KeiluViion4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发;
(2)uViion4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口;
(3)uViion4在μViion3IDE的基础上,增加了更多大众化的功能;
(4)多显示器和灵活的窗口管理系统;
(5)系统浏览器窗口的显示设备外设寄存器信息;
(6)调试还原视图创建并保存多个调试窗口布局;
6.2.3Keil编译结果Keil编译结果,如图6-1、6-2所示。图6-1Keil编译结果(a)
图6-2Keil编译结果(b)
6.3PROTEUS简介6.3.1proteu软件概述Proteu软件的功能较为强大,它集电路的设计、制版及仿真等多种功能汇集于一身,不仅能够对电工、电子技术学科等所涉及的电路进行设计与分析,而且能够对微处理器进行设计和仿真,并且功能较为齐全,是近年来电子设计爱好者比较青睐的一款新型电子线路设计与仿真的软件。Proteu是一个基于Pro-SPICE混合模型仿真器的还有完整的嵌入式系统软硬件设计仿真的平台。它包含了ISIS和ARES应用软件。ISIS-----智能原理图输入系统,是系统设计与仿真的基本平台。ARES-----高级PCB布线编辑软件。在Proteu中,从原理图设计、单片机编程、系统仿真到PCB设计一气呵成,真正实现了从概念到产品的完整设计。Proteu的特点:①能够把单片机仿真和SPICE电路仿真结合起来。带有模拟电路的仿真、数字电路的仿真、单片机及其其外围电路组成的系统的仿真、键盘和LCD系统仿真的功能;
并有多种虚拟仪器,例如示波器、逻辑分析仪、信号发生器等。②能够实现主流单片机系统的仿真。③能够进行软件系统的调试功能。④具有强大的原理图绘制功能。总之,该软件是一款集合了单片机和SPICE分析于一身的仿真类软件,功能很是强大。Proteu真正超群之处在于它对单片机电路的设计与仿真。它与单片机的程序设计软件Keil兼容,能够把Keil编译好的“某.He某”文件置于入Proteu的单片机硬件中,从而实现软硬件一体的电路仿真。+6.3.2Proteu仿真过程1.打开Ptoteu软件,首先进入ProteuISIS编辑环境。选择File/NewDeign菜单项,在弹出的模板对话框中选择“DEFAULT”模板,并将新建的设计文件保存在自己所设定的文件夹下,文件名为LiuQi.DSN,如图6-3所示。图6-3ProteuISIS编辑环境2.放置元器件,单击对象选择器按钮,弹出“PickfromLibrarie”页面,在“Keyword”输入AT89C52,系统在对象库中进行搜索查找,并将搜索结果显示在“Reult”中,如图6-4,6-5所示。图6-4对象选择器窗口图6-5输入AT89C52后的对象库经过以上操作,在对象选择器窗口中,已有了AT89C52元器件对象,如图6-6所示。图6-6元器件对象3.在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置,单击鼠标左键,完成该对象的放置,如图6-7所示。若对象位置需要移动,将鼠标移动该对象上,单击鼠标的右键,此时该对象的颜色已变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。图6-7元器件放置图4.元器件之间的连线,Proteu的智能化体现在画线时能够进行自动检测。当把鼠标的指针接近元器件的连接点时,跟着鼠标的指针随即出现一个“某”号,代表找到了元器件的连接点。单击鼠标的左键,移动鼠标(不用拖动鼠标),将鼠标的指针靠近另一个元器件的连接点时,随即鼠标指针就出现一个“某”号,这就找到了元器件的连接点,与此同时屏幕上出现了粉红色的连接,单击鼠标左键,粉红色的的连接线就换成了深绿色,并且线形由直线自动变成了90°的折线,这是由于选中了线路自动路径功能。5.在Keil中设置选项卡Project→OptionforTarget‘Target’。设置好后单击“确定”按钮,如图6-8,6-9所示。图6-8OptionforTarget‘Target’设置(1)
图6-9OptionforTarget‘Target’设置(2)
6.Proteu仿真结果,如图6-10所示。图6-10Proteu仿真结果总结通过此次课程设计,让我进一步了解了对单片机的编程、电路的分析以及系统控制原理等专业知识的分析方法和解决实际问题的全面综合的锻炼。此次课程设计是一次很好的在单片机的基本原理、应用系统开发以及汇编语言的锻炼机会。此次课程设计无论从电路设计和程序编写都比较正规,同时也为日后在大三的毕业设计中打下坚实基础。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。在这个过程中,有很多值得总结的地方,尤其在应用Protel99画原理图,都需要对细节性的东西比较清楚,返工的几率才会比较少。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。毕业设计是我作为一名学生即将完成学业的最后一次作业,它既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,毕业设计是我对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;
是我在校期间向学校所交的最后一份综和性作业。这次对单片机实现语音门铃及电子锁功能的设计,加深了我对单片机的认识,经过查阅有关方面的书籍,使我获得了许多专业方面的知识,开拓了视野。通过对硬件电路和软件电路的设计,让我把实际生活和理论知识很好的结合在一起,并且更加巩固了我对单片机的学习。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我对单片机的发展历史和发展现状,以及单片机的硬件结构更加深入的、系统的了解,并能把所学的单片机的基本原理、应用系统开发过程,以及在常用编程设计思路技巧和日常生活紧密相连,让我真正体验到了实践与理论的统一。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高跟鞋销售心得总结
- 电子电器销售工作总结
- 2024全新酒店集团资产托管合作协议范本3篇
- 火箭升空课程设计
- 江苏省高三语文试卷分类汇编文学类文本阅读专题
- 幼儿美术小课程设计
- 新课标2022科学解读心得范文(7篇)
- 2024年一件代发运动器材代理合同3篇
- 接受单位捐款感谢信(8篇)
- 师范生个人求职信范文
- 24.教育规划纲要(2024-2024)
- 2023年12月江苏省启东市高新区(近海镇)公开招录7名村干部笔试历年高频考点难、易错点荟萃附答案带详解
- 2023-2024学年江苏省扬州市八年级上册期末地理模拟试题(含解析)
- 我的家乡陇南
- 2023-2024学年苏州市八年级语文上学期期末考试卷附答案解析
- 压力钢管安装施工方案
- 广东省深圳市南山区2023-2024学年六年级上学期期末科学试卷
- 医保按病种分值付费(DIP)院内培训
- 青少年生涯规划测评
- 2024年中国海洋石油集团有限公司招聘笔试参考题库含答案解析
- 人寿审计培训课件
评论
0/150
提交评论