毕业设计(论文)基于AT89C52单片机的无限密码锁设计

上传人:无*** 文档编号:80534041 上传时间:2022-04-25 格式:DOC 页数:57 大小:713.52KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于AT89C52单片机的无限密码锁设计_第1页
第1页 / 共57页
毕业设计(论文)基于AT89C52单片机的无限密码锁设计_第2页
第2页 / 共57页
毕业设计(论文)基于AT89C52单片机的无限密码锁设计_第3页
第3页 / 共57页
资源描述:

《毕业设计(论文)基于AT89C52单片机的无限密码锁设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C52单片机的无限密码锁设计(57页珍藏版)》请在装配图网上搜索。

1、哈尔滨工业大学华德应用技术学院毕业设计(论文)摘 要随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。随着人们生活水平的提高,如何实现防盗这一问题也变的尤为重要,传统的机械锁,由于其构造的简单,安全性能低,无法满足人们的需要,各种电子密码锁应运而生。本系统采用AT98C52单片机做为主控芯片设计了一款可以多次修改密码具有密码错报警功能和无线开锁功能的无线遥控密码锁,本系统主要包括:矩阵键盘输入模块、LCD液晶显示模块、错误报警模块、掉电存储模块,无线开锁模块,所采用的编程语言是C语言。关键词AT89C52单片机;LCD液晶显示;NRF905无线模快;锁Abs

2、tractAlong with the electronic products to intelligent and continuous development of miniaturization, microcontroller has become a electronic product research and development first controller. As people living standard rise, how to realize the burglar this problem has become particularly important,

3、the traditional mechanical lock due to its simple structure, safety performance is low, cant satisfy peoples needs electronic combination lock arises at the historic moment.The system USES AT98C52 microcontroller as the main control chip design in a multiple cipher amending with password wrong alarm

4、 function and wireless lock function wireless remote control trick lock, this system mainly include: matrix keyboard input module, LCD module, error alarm module, power lost storage module, wireless lockpicking module, mainly programming language is C.Keywords AT89C52 microcontroller LCD display NRF

5、905 wireless mould fast Lock目 录摘要IAbstractII第1章 绪论11.1 课题开发背景11.2 立题目的和意义11.3 国内外现状21.4 系统完成的功能2第2章 方案论证42.1 主控芯片的选择42.2 无线模块的选择42.3 键盘的选择52.4 液晶模块的选择62.5 本章小结6第3章 硬件系统设计73.1 系统硬件的总体设计73.2 元器件的选择83.3 各功能模块的介绍与设计93.3.1 主控芯片的介绍93.3.2 无线模块的介绍与设计123.3.3 LCD1602液晶显示模的介绍与设计143.3.4 串行EEPROM存储电路设计163.3.5 键盘

6、电路设计183.3.6 报警电路设计193.3.7 开锁电路设计203.4 本章小结21第4章 系统软件设计224.1 软件系统的总体设计224.2 键盘输入密码开锁软件程序设计234.3 液晶显示程序设计244.4 存储和读出程序设计264.5 无线发送程序设计284.6 无线接收程序设计294.7 本章小结30第5章 系统调试315.1 系统硬件调试315.1.1 最小系统的调试315.1.2 液晶模块的调试315.1.3 键盘输入部分的调试345.1.4 AT24C04存储部分的调试355.1.5 无线模块的调试365.1.6 报警电路调试385.2 系统软件调试385.3 系统整体调试

7、395.4 调试中遇到的问题和解决方法395.5 本章小结40结论41致谢42参考文献43附录144附录246附录348附录44953第1章 绪论1.1 课题开发背景随着人们生活质量的提高和安全意识的加强,如何更好的防盗这一问题也变得尤为重要,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,已远远不能满足人们的需要,各种系列的密码锁广泛进入人们的生活和工作,因而密码锁系统的安全性就变得至关重要。电子式的密码锁,它具有成本相对不高,密码量大,不易破译的优点,但是这些电子密码锁系统都采用的是固定式的键盘,也就是将键盘固定在保险箱的面板上或用户的门上,这就使得用户在运作时没有隐蔽性,极易被人看见和偷

8、拍而使得密码不安全,因而使用的安全性不高。电子式密码锁的市场占有量最大,因为它的成本低,安全高,运作简单,最能符合用户的需要,但当前市面上的电子式的密码锁也有它的不足,因此对它进行必要的改造将势在必行。为了克服当前市面上的电子式密码锁的不足以满足社会需求,提出将无线遥控方法与密码技术相结合,在保证原有密码锁系统性能的基础上设计新型的无线遥控密码锁系统来克服固定键盘式的密码锁的不足,不仅能实现键盘输入解锁,还能进行远距离遥控解锁,完成一锁多解目的,在避免他人偷窥的情况下使用遥控器解锁,所以毕业论文范文采用了无线遥控密码锁设计。1.2 立题目的和意义随着科技的发展以及人们生活水平的大幅度提高,特别

9、是近几年国内经济的发展以及科学技术的不断发展,人们对防盗的要求也是越来越高,同时对使用的便捷性也有了更高的需求,传统的锁防盗效果已经满足不了现代社会的防盗需求,还存在着需要随身带着钥匙的不便,如果钥匙不慎丢失被他人利用,就有可能造成使不良之人乘虚而入等诸多弊端。因此近几年一种新型的电子密码锁应运而生。电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常的问题,而且密码输入错误时还有报警声,大大增加了密码锁防盗功能。同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和仿造的缺陷,方便了锁具的使用。随着人们生活水平的提高如何实现家庭防盗的问题也尤其的

10、突出,传统的锁由于其构造简单,所以被撬的事件屡见不鲜,电子锁由于具有保密性高、使用灵活性好、安全系数高等优点,受到了广大用户的青睐。1.3 国内外现状目前,国内最常用的锁是20世纪50年代意大利人设计的机械锁,其结构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,帮安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜质地较软,容易损坏。四是机械钥匙易于复制,不适于诸如宾馆等公共场所使用。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁(

11、如指纹辨别、IC卡识别)也相继问世,但这类产品的物点是针对特定的指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程序上限制了这类产品的普及和和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。根据国外的资料统计显示,装有电防盗装置的商业区或居民区盗窃犯罪率平均下降30%左右。目前西方发达国家已经大量地应用这种智能门禁系统,但在我国的应用还不是很广泛,但是随着科技的发展和生活水平的不断提高使用密码锁应该是一个必然趋势。1.4 系统完成的功能

12、本系统的设计主要是为了解决当前市面上传统的锁所存在的不足,近而设计出一款无线遥控密码,本系统的具体功能实现如下。1. 设计密码用户将想设的密码通过密码修改键进行修改,首先按下密码修改键,然后在逐渐输入号码,最后按下确认键即可。2. 密码显示为了帮助用户确认是否有键按下,特在电路中设置了液晶显示电路;而为了防止密码外泄;显示时,并不是显示用户按下的数字信息,而是以一个特定的字母符号提醒用户是否有键按下。有键按下,就会显示出字符-“*”,无键按下,则不会显示字符。这样既巧妙的提醒了用户又保护了用户密码,此乃本设计可靠性优点之一。3. 本机键开锁当用户键入正确密码后,再按确认键,便会自动开锁,如果键

13、入完密码后不按确认默认放弃开锁。4. 密码错误报警当用户键入错误密码时,系统就会报警,由蜂鸣器发出报警声。当连续三次出现密码错误时,则系统会长期报警不止。这时必须按复位方可停止。此乃本设计安全可靠性之二。5. 遥控解锁当有特殊情况发生时,或怕有人偷窥到密码时,或不想用键盘开锁时,可选用遥控器来解锁。此乃本设计安全可靠性之三。第2章 方案论证由于电子密码锁是一种通过密码输入法来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁任务的电子产品。它的种类繁多,有简易的电路产品,也有基于芯片的的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心。其性能和安全性以大大超过了机械锁,特点如下。1

14、保密性好,编码量多,随机开锁成功率几乎为零。2密码可变,用户可以经常更密码,防止密码被盗,同时也可以避免因人员的更替而使锁的保密性下降。3密码输入保护。当输入密码错误时,报警系统自动启动。要想设计一个良好的系统,器件的选型也是很重要的,以下就是本系统各模块的选择。2.1 主控芯片的选择在本系统设计中所需要的I/O输入输出口为32个,综合各方面的因素考虑,本控制系统设计的硬件选用ATMEL公司生产的AT89C52作为主控中心。AT89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写的Flash只读程序存储器

15、和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统及80C52产品引脚结构。AT89C52芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 字节内部RAM,32个外部双向输入/输出(I/O)口,1个6向量两级中断结构,3个16位可编程定时计数器,1个全双工串行通信口,片内振荡器及时钟电路。2.2 无线模块的选择在本系统中采用遥控

16、方式来进行开锁的主要目的就是保证锁的安全性更高,确保数据在传输过程中的准确无误,更加方便人们使用。方案一在最初设计本系统时首先想到的遥控开锁器件是红外开锁,红外线IrDA.简称IR.是一种无线通讯方式。可以进行无线数据的传输自1974年发明以来得到很普遍的应用,如红外线鼠标、红外线打印机、红外线键盘等等。红外传输是一种点对点的传输方式不能离的太远,最多1-2米。通讯过程中不能移动要对准方向且中间不能有障碍物,遇障碍物通讯中断也就是不能穿墙而过。红外通讯技术的主要目的是取代线缆连接进行无线数据传输,功能单一,扩展性差,红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是

17、一种人的眼睛看不到的光线。由于红外线的波长较长,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通讯的场合,进行点对点的直线数据,所以本方安不可行。方案二采用NRF905做为遥控开锁的器件,NRF905单片无线收发器工作由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成。ShockBurst工作模式的特点是自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置。NRF905工作频段有很多,但433MHZ开放ISM频段可免许使用,它的最高发射速率50KBPS,10dbm发射功率条件下,配置外置鞭状天线有效通信距离在300米左右。室内通信良好

18、通信效果,4层之间可实现有效通信,抗干扰性能强,很强的扰障碍穿透性能。单次最多可发送接收32字节,并可软件设置发送/接收缓冲区大小2/4/8/16/32字节170个频道,可实现多点网络通讯内置硬件8/16位CRC校验,数据传输稳定,降低系统开发难度,内置SPI接口,最高SPI时钟可大10M,也可通过I/O口模拟SPI实现。2.3 键盘的选择由于本系统要使用14个按键,其中数字键10个(09),特殊功能键4个,要使用独立式按键需要14个I/O口,这样以来I/O口的占用量太大,浪费I/O资源,所以选用4*4的矩阵键盘,这样可以省下6个I/O资源。2.4 液晶模块的选择在设计本系统使用首先想到的用来

19、显示的器件是LCD1286或LCD1602,LCD12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个(1616点阵)汉字,但价格比较高,LCD1602只能用于字符显示,不能显示汉字,但价格比较便宜,由于本系统只是用液晶来进行简单的信息提示,并不涉及到太复杂显示,所以本设计采用性价比较低的LCD1602液晶做为显示器件。2.5 本章小结本章主要是对本设计系统中使用的主要器件的选择做了一个详细的说明,将本系统中所选的器件和其它器件做比较,从而体现出所选器件的优势所在,提高本系统的整体性能。第3章 硬件系统设计3.1 系统

20、硬件的总体设计本系统主要是使用无线技术来实现无线开锁的设计,但是仍然保持了原有密码锁的基本功能,系统主要有两大部分分别为:无线密码开锁部分和基本密码锁开锁部分。其中基本密码开锁包括:键盘输入模块、LCD液晶显示模块、报警模块、存储模快、电源转换电路模块、无线接收模块、开锁模块。无线密码开锁部分包:电源转电路模块、无线发送模快。无线遥控密码锁的系统硬件框图如图3-1,图3-2所示。AT89C52键盘输入模块显示模块报警模块开锁电源转换电路存储模块无线接收模块图3-1无线密码锁的接收和键盘锁硬件框图各功能模块的具体功能如下。1键盘输入模块:用一个4*4的矩阵键盘,通过键盘输入的正确与否来执行相应的

21、操作。2LCD液晶显示模:同样是针对键盘输入的正确与否来执行相应的提示信息。3报警模块:当用户出现输入密码不正确时发出报警信息。4存储模快:主要实现对初始密码的存储和修改后密码的存储,防止掉电后密码丢失。5电源转换电路模块:由于单片机的工作电压为5V,但无线模块的最好工作电压为3.3V,那么这时就需要搭一个电源转换电路。6无线发送模块:将无线发送模块中键盘输入的值传送给无线接收模块。7无线接收模块:将对无线发送模块传过来的值在接收端进行相应的处理。AT89C52键盘输入模块无线发送模块块电源转换电路图3-2无线密码锁的发射硬件框图3.2 元器件的选择经过对市场的调研,综合各方面的因素考虑,本系

22、统的设计采用以下几款元器件。1主控芯片:AT89C522无线模块:NRF9053EEPROM:AT24C044LCD液晶:ZL1602C25报警器:1个蜂鸣器6键盘:一个4*4矩阵键盘3.3 各功能模块的介绍与设计3.3.1 主控芯片的介绍AT89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C52是一种带8K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非

23、易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性18K字节可编程闪烁存储器 2寿命:1000写/擦循环3数据保留时间:10年4全静态工作:0Hz-24MHz5三级程序存储器锁定61288位内部RAM732可编程I/O线8两个16位定时器/计数器95个中断源 10可编程串行通道11低功耗的闲置和掉电模式12片内振荡器和时钟电路AT89C52是一个40引脚的芯片,如图3-3所示。引脚说明VCC:供电

24、电压。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口为一个内部上拉

25、电阻的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”后,它们被内部上拉为高电平,并用作输

26、入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C52的一些特殊功能口,如下所示。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平

27、用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/E

28、A/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。其余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,

29、但必须保证脉冲的高低电平要求的宽度。图3-3AT89C52引脚图3.3.2 无线模块的介绍与设计JL-RF905模块使用Nordic公司的NRF905芯片开发而成。JL RF905 单片无线收发器工作在 433/868/915MHZ 的 ISM 频段由一个完全集成的频率调制器一个带解调器的接收器一个功率放大器一个晶体震荡器和一个调节器组成。无线模块各引脚功能如表3-1所示。表3-1NRF905引脚功能介绍管脚名称管脚功能说明1VCC电源电源+1.93.6 DC2TX_EN数字输入TX_EN=1 TX模式 TX_EN=0模式3TRX_CE数字输入使能芯片发射或接收4PWR_UP数字输入芯片上电5

30、uCLK时钟输出本模块该脚废弃不用,向后兼容6CD数字输出载波检测7AM数字输出地址匹配8DR数字输出接收或发射数据完成9MISOSPI接口SPI输出10MOSISPI接口SPI输入11SCKSPI时钟SPI时钟12CSNSPI使能SPI使能13GND地接地14GND地接地NRF905特点1433/868/915Mhz 开放ISM频段免许可证使用(亚洲地区客户使用433Mhz)。2最高工作速率50kbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合,传输距离:开阔地传输500米,距离传输视具体环境而定。3接收灵敏度:-100dBm,最大发射功率:10mW (+10dBm),瞬间最大工

31、作电流30mA,125频道,满足多点通信和跳频通信需要。 4内置硬件CRC 检错和点对多点通信地址控制。 5低功耗1.9 - 3.6V 工作,一般情况下,请使用3.3V供电待机模式下状态仅为2.5uA ,收发模式切换时间 0;x-)for(y=110;y0;y-);/初始化函数void init()lcden=0;write_com(0x38);/打开显示模式设置write_com(0x0c);/打开显示,光标等待设置未零write_com(0x06);/当读或写一个字符后地址指针加一,且光标加一,当写一个字符后整频显示左移,write_com(0x01);/清零指令write_com(0x8

32、0);/指针所指位置init();write_com(0x80);/指针所指位置for(count3=0;count316;count3+)write_date(table1count3);/第一行显示INPUT THE PASSPORD:delay(5);write_com(0x80+0x40);for(count3=0;count316;count3+)write_date(table2count3);/开机显示FFFFFFFFdelay(5);4.4 存储和读出程序设计本设计中数据的存储芯片选用的是AT24C04,该芯片是串行的EEPROM,支持I2C总线数据传送协议。在本系统中主要用来

33、做掉电存储器,能将输入的数据存入AT24C04,也能从AT24C04中读出,程序流程图如图4-5所示。开始初始化AT24C04向AT24C04中写入要存储数据据延时从AT24C04中读出存储数据延时结束图4-5存储和读出程序流程图存储程序核心程序代码如下所示。sda=1;delay(5);scl=1;delay(5);for(i=0;i8;i+)write_add(i,kk); delay2(100);for(i=0;i8;i+)mimai=read_add(i);delay(5);4.5 无线发送程序设计将无线模块NRF905的一端设置成发送模式,程序流程图如图4-6所示。开始初始化NRF9

34、05设置成发送模式发送数据结束图4-6无线发送程序无线发送程序核心程序代码如下所示。void TxPacket(uchar tab_key) uchar i; /Config905(); CSN=0; SpiWrite(WTP); / Write payload command SpiWrite(tab_key); / Write 32 bytes Tx data CSN=1; Delay(1); / Spi disable CSN=0; / Spi enable for write a spi command SpiWrite(WTA); / Write address command fo

35、r (i=0;i4;i+) / Write 4 bytes address SpiWrite(TxAddressi); CSN=1; / Spi disable TRX_CE=1; / Set TRX_CE high,start Tx data transmission Delay(1); / while (DR!=1); TRX_CE=0; / Set TRX_CE low 4.6 无线接收程序设计将无线模块NRF905的另一端设置成接收模式,程序流程图如图4-7所示。图4-6无线接收程序无线接收程序核心程序代码如下所示。void RxPacket(void) uchar i; Delay(

36、1); / TRX_CE=0; / Set NRF905 in standby mode Delay(100); TRX_CE=0; CSN=0; / Spi enable for write a spi command Delay(1); SpiWrite(RRP); for (i = 0 ;i 1 ;i+) TxRxBufi=SpiRead(); / Read data and save to buffer songyujing CSN=1; Delay(10); TRX_CE=1; 4.7 本章小结本章主要对系统的软件总体设计进行了论述,并对各个功能进行分别说明,分析了本系统在软件部分所

37、做的工作,给出了本系统各部分的程序流程图以及核心程序代码。第5章 系统调试调试在整个设计系统占有很重要的位置,调试首先是测试整个系统中各个模块的的软硬件是否好使之后再进行整体连调看看各功能模块是不是按照自己最初设计的方案下常运行。5.1 系统硬件调试焊接是实现硬件电路连接最重要的一步,不仅要考虑器件的摆放位置的美观性,还要考虑在放置一个器件时会不会对它附近的器件有干扰,在焊接电路板之前,首先要对所用的器件进行检测(包括焊接电路时所使用的导线),确定器件都是正常后才能往电路板上焊接。在焊接的时候,要注意不要有虚焊出现,如果不认真的将每点焊好,就会出现虚焊的现象,到时只能用万用表每点的查,很是繁锁

38、。另外在焊器件的时候,要一个一个模块的去焊接,以方便焊完调试。确定无误后才进行下一个模块焊接。在焊接时还要注意有些元器件是有正负极性的,焊接时候不要把正负极接错,以免上电后出现短路从而导致芯片烧坏的情况。当整个电路焊接完成后,就需要对整个电路的连通性进行检测,最常用的检测方式是用万用表,看该连通的地方是否连通,不连通的地方是否存在连通的问题,一定要在接通电源前仔细检查,否则接通电源后某地方出现短路,会损毁器件。5.1.1 最小系统的调试为了确保最小系统的准确无误,首先用万用表对最小系统的各个引脚的连线情况进行了检查,保证各引脚的接线正常后编写了一段简单的测试单片机各引脚是否好使的程序,将P0口

39、、P1口、P2口、P3口分别写入0X55然后用万用表测试P0P3口的各引脚输出是不是5V,1V跳变试显示。对过简单的程序测试,证明最小系统是好使的。5.1.2 液晶模块的调试液晶模块的调试主要是检查液晶显示器能是否正常工作,即能是否正常显示字符。液晶的接线很简单,VSS接地,VDD接+5V电源,VL接电位器,RS接P3.2,R/W接地,E接P3.0,D0D7接P0.0P0.7,BLA接电源BLK接地,最初用万用表进行检查各条线路该导通的地方都导通,编写简单的在液晶上显示字符的程序却不能显示,液晶只是亮蓝光,多次重新写入还是不能显示,重新用万用表对硬件电路进行检查,发现其中有一第导线的连接处存在

40、虚焊问题。将焊点重新接好后再次将程序写入时,液晶上能正常显示以设置好的字符。以下是简单的在液晶显示器上显示字符的程序。#includesbit lcden=P30; /LCD使能端 sbit lcdrs=P32; /LCD 数据/指令(H/L)选择端 unsigned char mytable0=ABCDEF;unsigned char mytable1=A handsome boy!;unsigned char num,num0,num1;void delay(unsigned int z) /延时子函数 z*1ms unsigned int x,y;for(x=z;x0;x-)for(y=

41、110;y0;y-);void write_com(unsigned char c) /写命令子函数 lcdrs=0; /低电平选择为 写指令 P0=c; /把指令写入P0口 delay(5); /参考时序图 lcden=1; /开使能 delay(5); /读取指令 lcden=0; /关闭使能 void write_data(unsigned char d) /写数据子函数 lcdrs=1; /高电平选择为 写数据 P0=d; /把数据写入P0口 delay(5); /参考时序图 lcden=1; /开使能 delay(5); /读取数据 lcden=0; /关闭使能 void initi

42、alize() /LCD初始化函数 lcden=0;write_com(0x38); /设置16x2显示,5x7点阵显示,8位数据接口 write_com(0x0e); /00001DCB,D(开关显示),C(是否显示光标),B(光标闪烁,光标不显示) write_com(0x01); /清屏指令 write_com(0x06); /000001NS,N(地址指针+-1),S(每写完一个字符,整屏移动) void main() initialize(); /初始化LCD write_com(0x80+0x10); /第一行,前头空5格显示 for(num0=0;num06;num0+) /显示6个字符 write_data(mytable0num0); delay(10);write_com(0x80+0x50);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!