毕业设计(论文)基于AT89C51单片机的电子密码锁的设计_第1页
毕业设计(论文)基于AT89C51单片机的电子密码锁的设计_第2页
毕业设计(论文)基于AT89C51单片机的电子密码锁的设计_第3页
毕业设计(论文)基于AT89C51单片机的电子密码锁的设计_第4页
毕业设计(论文)基于AT89C51单片机的电子密码锁的设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四川托普信息技术职业学院1摘摘 要要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。 电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电

2、子锁一日千里的跃进。本设计以单片机at89c51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计) ,实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本

3、系统各项功能已达到本设计的所有要求。基于以上思路,本次设计使用 atmel 公司的 at89c51 实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1) 设置 6 位密码,密码通过键盘输入,若密码正确,则将锁打开。(2) 报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。电子密码锁的设计主要由三部分组成:44 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有 led 提示灯,报警蜂鸣器等。密码锁设计的关键问题是实现密码的输入、开锁、报警等功能。关键词:单片机;密码锁;电子锁。四川托普信息技术职业学院2目

4、录目录第第 1 1 章章 绪论绪论.41.11.1 引言引言.41.2 电子密码锁的背景.51.3 电子锁设计的意义的本设计特点.51.4 电子密码锁的发展趋势.6第第 2 2 章章 系统总体设计与原理系统总体设计与原理.72.12.1 系统结构图系统结构图.72.2 系统组成.82.3 系统原理分析.8第第 3 3 章章 系统硬件电设计系统硬件电设计.93.1 主控芯片 at89c51 单片机的简介.93.2 晶振时钟电路.123.3 复位电路设计.123.4 44 矩阵键盘.123.5 发光二极管 led.133.6 蜂鸣器.143.7 串口引脚功能介绍.143.8 其它引脚.153.9

5、电路图的绘制.15图图 3 39 9 完整电路图完整电路图.153.10protel 99 se 简介:.163.11 使用到的元器件列表.17第第 4 4 章章 软件程序设计软件程序设计.184.2 软件设计流程图.184.2 具体功能软件实施.19第第 5 章章 系统调试系统调试.205.1 程序调试用到的软件及工具.205.2 keil c51 简介.205.3 调试过程.21第第 6 章章 心得体会心得体会.23第第 7 章章 参考文献参考文献.24附附 录录.251.1 电子密码锁 pcb.251.2 源程序清单.25四川托普信息技术职业学院3第第 1 1 章章 绪论绪论1.1 引言

6、随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为” ,虽无钥匙亦不会乱闯。然而,那些毫无道德

7、观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。 ”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。1.2 电子密码锁的背景随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等

8、等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。 (如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。四川托普信息技术职业学院41.3 电子锁设计的意义的本设计特点单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(cpu) 、随机存取存储器(ram) 、只读存储器(rom) 、输入/输出端口 (i/0)等主要

9、计算机功能部件都集成在一块集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能 ic 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化

10、了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。 电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用 at89c2051 单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。(1)系统设置 6 位密码,密码通

11、过键盘输入,若密码正确,则将锁打开。(2)密码由用户自己设定,在开锁状态下,指示灯被点亮。(3)具有自动报警功能,报警由蜂鸣器发出报警声。(4)两种情况下可报警:一是密码输入错误 3 次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入 6 位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯不被点亮,并要求重新输入密码,重新输入密四川托普信息技术职业学院5码的次数不能超过 3 次,若 3 次输入的密码都不正确,则发出报警信号。1.4 电子密

12、码锁的发展趋势从目前的技术水准和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都胡涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使

13、得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键

14、盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其它类型电子防盗锁的辅助输入手段。四川托普信息技术职业学院6第第 2 2 章章 系统总体设计与原理系统总体设计与原理2.1 系统结构图2.2 系统组成如图 21 所示系统主要由 at89c51(51 系列)、数码管、蜂鸣器、led、44矩阵键盘、复位电路等组成2.3 系统原理分析(1)系统工作原理分析:使用 at59c51 单片机、44 矩阵键盘、led、蜂鸣器等。矩阵键盘分别为(s1-s9)1、2、3、4、5、6、7、8、9,s10 为数字“0”,(s12s16)对应的按键

15、值分别为 1216。(2)根据按键值,指定每个按键对应的输入数字和信息。数码管电源214x4 键盘复位电路ledat98c51振荡电路蜂鸣器四川托普信息技术职业学院7如图 23 所示为每个按键代表的数字和输入信息。当键盘扫描程序扫描到s10 键被按下时,将其代表的按键值“0”通知 cpu,cpu 根据事先规定,就会知道输入的数字是“0”(3)输入数字和密码对比。 先将设定的密码用一个数组保存,本例的密码 “123456”和“ok”确认信息可用如下数组保存: unsigned char d=1,2,3,4,5,6;/ 设定密码 在主程序接受到数字和信息后,通过逐位对比的方法进行判断。输入的数字经

16、对比正确时,程序才继续顺序执行,否则,程序拒绝执行。系统开始显示“input”提示输入密码;输入密码时,led 显示电路显示为“-”,当密码输入完毕按下 ok 键时,对输入密码与设定的密码进行比较,若密码正确则发光二极管被点亮锁打开;若密码不正确,若连续 3 次输入不正确,则发出警报声同时锁定键盘。 为了防止恶意尝试,系统才用若连续输入 3 次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,同时也能够保护合法用户的正常使用。s4 s3 s2 s14 3 2 1s8 s7 s6 s58 7 6 5s12 s11 s10 s912 ok 0 9s16 s15 s14 s1316 15 1

17、4 13图 23 矩阵键盘中每个按键代表的数字和输入信息四川托普信息技术职业学院8第第 3 3 章章 系统硬件电设计系统硬件电设计3.1 主控芯片 at89c51 单片机的简介at89c51 是一种带 4k 字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能 cmos8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 atmel 高密度非易失存储器制造技术制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能 8 位 cpu 和闪烁存

18、储器组合在单个芯片中,atmel 的 at89c51 是一种高效微控制器。主要特性: 与 mcs-51 兼容 4k 字节可编程闪烁存储器 寿命:1000 写/擦循环 数据保留时间:10 年 全静态工作:0hz-24mhz 三级程序存储器锁定 1288 位内部 ram 32 可编程 i/o 线 两个 16 位定时器/计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路管脚说明: vcc:供电电压。四川托普信息技术职业学院9 gnd:接地。 p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口的管脚第一次写 1 时,被定

19、义为高阻输入。p0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2 口当用于外部程序存

20、储器或 16 位地址外部数据存储器进行存取时,p2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器的内容。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接收输出 4个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3 口将输出电流(ill)这是由于上拉的缘故。 p3 口也可作为 at89c51 的一些特殊功能口,如下表所示: p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 /int0(外部中断 0)

21、p3.3 /int1(外部中断 1) p3.4 t0(记时器 0 外部输入) p3.5 t1(记时器 1 外部输入) p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通) p3 口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的四川托普信息技术职业学院10高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出

22、的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ale 禁止,置位无效。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen 有效。但在访问外部数据存储器时,这两次有效的/psen 信号将不出现。/ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh) ,不管是否有内部程序存储器。注意加密方式 1 时,/ea 将内部锁定为reset;当/ea 端保持高电平时,此间内部程序存储器。 xtal1:反向振荡放大器的输入及内部时钟工作

23、电路的输入。 xtal2:来自反向振荡器的输出。3.2 晶振时钟电路单片机 xial1 和 xial2 分别接 30pf 的电容,中间再并个 12mhz 的晶振,形成单片机的晶振电路。图 32 晶振电路四川托普信息技术职业学院113.3 复位电路设计 图 33 复位电路3.4 44 矩阵键盘如图 32 所示,本系统采用 44 矩阵键盘,16 个按键分为输入数字键: 0、1、2、3、4、5、6、7、8、9、12、13、14、15、16;功能键 ok。矩阵键盘。图 34 44 矩阵键盘四川托普信息技术职业学院123.5发光二极管 led图 35由于 led 使用 p0 口驱动要加上上拉电阻如图 3

24、5。3.6 蜂鸣器图 36由于蜂鸣器使用 p0 口驱动要加上上拉电阻如图 36。四川托普信息技术职业学院133.7 串口引脚功能介绍单片的 p0 口外接数码管,作为密码输入显示器;rd 外接蜂鸣器,当 rd被置 0 时,蜂鸣器发出声音;rxd 口外接发光二极管用作系统工作状态提示。3.8 其它引脚ale 引脚悬空,复位引脚接到复位电路、vcc 接电源、vss 接地、ea 接电源3.9 电路图的绘制用protel 99 se绘制的完整电路图如下: p1.01p1.22p1.33p1.44p1.55p1.66p1.77p1.88rst9p3.0/rxd10p3.1/txd11p3.2/int012

25、p3.3/int113p3.4/t014p3.5/t115p3.6/wr16p3.7/rd17xtal218xtal119gnd20p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427p2.7/a1528psen29ale30ea31p0.7/ad732p0.6/ad633p0.5/ad534p0.4/ad435p0.3/ad336p0.2/ad237p0.1/ad138p0.0/ad039vcc40u1u1s1sw-pbs5sw-pbs6sw-pbs7sw-pbs2sw-pbs8sw-pbs9sw-pbs10

26、sw-pbs3sw-pbs11sw-pbs12sw-pbs13sw-pbs4sw-pbs14sw-pbs15sw-pbs16sw-pbr1res2y1crystald1led+5vc1capc2capr2res2p26c3electro1r4res2vccgndgnd+5vls1speakergndq2pnpc4capgndr3res2vccr5res2p00p01p02p03p04p05p06p00p01p02p03p04p05p0612jp1header 2vccgndgndq1pnpp26p07p07vccabfcgdedpy1234567abcdefg8dpdp101099ds?dpy

27、_7-seg_dp四川托普信息技术职业学院14图 39 完整电路图3.10protel 99 se 简介:protel99se是protel公司近10年来致力于windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。因而今天的protel最新产品已不是单纯 的pcb(印制电路板)设计工具,而是一个系统工具,覆盖了以pcb为核心的整个物理设计。 最新版本的protel软件可以毫无障碍地读orcad、pads、accel(pcad)等知名eda公司设计文件,以便用户顺利过渡到新的eda平台。protel99 se共分5个模块,分别是原理图

28、设计、pcb设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、pld设计。 以下介绍一些protel99se的部分最新功能:可生成30多种格式的电气连接网络表;强大的全局编辑功能;在原理图中选择一级器件,pcb中同样的器件也将被选中; 同时运行原理图和pcb,在打开的原理图和pcb图间允许双向交叉查找元器件、引脚、网络四川托普信息技术职业学院15既可以进行正向注释元器件标号(由原理图到pcb),也可以进行反向注释(由pcb到原理图),以保持电气原理图和pcb在设计上的一致性;满足国际化设计要求(包括国标标题栏输出,gb4728国标库); * 方便易用的数模混合仿真(兼容spice 3

29、f5);支持用cupl语言和原理图设计pld,生成标准的jed下载文件; * pcb可设计32个信号层,16个电源-地层和16个机加工层;强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查; 智能覆铜功能,覆铀可以自动重铺; 提供大量的工业化标准电路板做为设计模版; 放置汉字功能; 可以输入和输出dxf、dwg格式文件,实现和autocad等软件的数据交换; 智能封装导航(对于建立复杂的pga、bga封装很有用); 方便的打印预览功能,不用修改pcb文件就可以直接控制打印结果; 独特的3d显示可以在制板之前看到装配事物的效果; 强大的cam处理使您轻松实现输出光绘文件、材料清单、钻孔

30、文件、贴片机文件、测试点报告等; 经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从pcb启动; 反射和串扰仿真的波形显示结果与便利的测量工具相结合。注:由于资金和设备限制,以上pcb电路设计过程属于理论化,只作为电路板设计的一个流程。本电路的实物模型,本人还是采用万用电路板来完成。3.11 使用到的元器件列表名称型号数量电源插座两芯1蜂鸣器11 位数码管(共阳)1四川托普信息技术职业学院16电源5v1发光二极管0805 红1发光二极管0805 绿19013(npn)19012(pnp)2电容0.1uf08055电阻10k1微动开关12自锁开关用于管理电源1单片机紧锁座dip4

31、01晶振11.0592mhz1电容33pf08052电容10uf1电阻1k 8052电阻10k1电阻330r08051电位器10k 改变输入电压,为可变电阻1stc89c52dip401图 310 第第 4 4 章章 软件程序设计软件程序设计本系统程序部分使用 c 语言编写,c 语言是一种高级程序设计语言,它的优点是简洁明了、可移植性高。主要完成,开始时数码管显示提示“input”输入密码。输入密码后按下确认键,系统会将所输入与系统密码进行比对。若输入密码正确则显示“pass”开锁。然后可以选择上锁或者修改密码。开锁后,按下上锁“lock”键,系统上锁并返回;选择修改密码则可以对系统进行修改密

32、码操作。在修改密码前要输入正确旧的密码。正确输入旧密码之后,会有提示输入两次新密码,若两次密码一致,则修改成功。期间操作出现失误,系统会返回初始状态,操作错误超过 3 次,系统会锁定键盘,并报警用以防止恶意试探密码。4.2 软件设计流程图四川托普信息技术职业学院17主程序开始 正确密码正确与否i/o 口初始化,lcd 初始化执行主控循环;蜂鸣器产生响警示。指示灯 led 亮。错误 图 414.2 具体功能软件实施4.2.1 开始等待流程 系统开始一直显示提示“input”,并判断有否按键,当有键按下跳出等待。 四川托普信息技术职业学院18图 424.2.2 密码检查功能本系统使用数组 pass

33、word6存储密码,系统初始化对数组负值password61,2,3,4,5,6相当于键盘上的 1,2,3,4,5,6。输入密码的时候,先将输入的每一位密码分别放置在数组 check6中,然后再将 check6与 password6的每一位分别对照。若每一位都相等,密码检查通过。四川托普信息技术职业学院19 43第第 5 5 章章 系统调试系统调试5.1 程序调试用到的软件及工具调试本程序需要用到 keil c51,及 51 开发板一块及其配套的下载烧录软件5.2 keil c51 简介keil c51 是美国 keil software 公司出品的 51 系列兼容单片机 c 语言软件开发系统

34、,与汇编相比,c 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 c 来开发,体会更加深刻。keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 keil 四川托普信息技术职业学院20c51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 c51 工具包的整体结构: uvision 与 ishell 分别是 c51 for windows 和for dos 的集成开发环境(ide),可以完成编辑

35、、编译、连接、调试、仿真等整个开发流程。开发人员可用 ide 本身或其它编辑器编辑 c 或汇编源文件。然后分别由 c51 及 a51 编译器编译生成目标文件(.obj)。目标文件可由 lib51 创建生成库文件,也可以与库文件一起经 l51 连接定位生成绝对目标文件(.abs)。abs 文件由 oh51 转换成标准的 hex 文件,以供调试器 dscope51 或 tscope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 eprom 中。5.3 调试过程首先打开 keil c51 主程序,新建工程,新建文本框写入程序,保存,检查是否有语法错误,经

36、反复检查无误后汇编,生成 51 单片机可执行的 hex 文件。然后用 51 开发板相匹配的烧录软件把 hex 文件写入单片机。图 53 keil c51 调试介面图 52 单片机烧录软件介面四川托普信息技术职业学院21本次调试采用 proeus 软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下 1,2,3,4,5,6 后,按下 ok 键后,二极管亮,表示密码正确开门。如图 51图 51 密码正确开门四川托普信息技术职业学院22第第 6 6 章章 心得体会心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节

37、,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提

38、高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在老师和同学的帮助下,终于游逆而解。非常感谢!四川托普信息技术职业学院23第第 7 7 章章 参考文献参考文献1单片机原理及及应用王迎旭编 机械工业出版社 20012单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 3 黄志君,高峰,

39、王建.轮胎压力监测系统j.广西工学院学报.2006(4):912.4 单春贤,韩钧等. 一种集成度较高的轮胎压力监测系统设计j. 拖拉机与农用运输车,2006(6):3338.5张洪润 单片机应用技术教程 北京:清华大学出版社,19976沙占友 a study of the control system with intelligent temperature sensors.icemi 第四届国际电子测量学术会议论文集,电子测量与一起学报.第 13 卷,1998(8) ,istp 收录7 the intel microprocessors architecture,programming,a

40、nd interfacing .高等教育出版社(影印版),2001 20-081201-05-018 jonathan d. nash, douglas r. caldwell, michael j. zelman, and james n. moum a thermocouple probe for high-speed temperature measurement in the ocean. manuscript received 18 august 1997, in final form 9 november 1998:1447-1449. 9omega engineering tec

41、hnical reference.thermocouple home page http:/ using thermocouple sensors cryogenic control systems, inc. http:/ 录录1.1 电子密码锁 pcb1.2 源程序清单 四川托普信息技术职业学院25矩阵式键盘实现的电子密码锁#include /包含 51 单片机寄存器定义的头文件sbit p14=p14; /将 p14 位定义为 p1.4 引脚sbit p15=p15; /将 p15 位定义为 p1.5 引脚sbit p16=p16; /将 p16 位定义为 p1.6 引脚sbit p17

42、=p17; /将 p17 位定义为 p1.7 引脚sbit sound=p37; /将 sound 位定义为 p3.7unsigned char keyval; /储存按键值/*函数功能:延时输出音频*/ void delay(void) unsigned char i;for(i=0;i200;i+) ; /*函数功能:软件延时子程序*/ void delay20ms(void) unsigned char i,j;for(i=0;i100;i+) for(j=0;j60;j+) ; /*函数功能:主函数*/ void main(void) unsigned char d =0,8,0,8,

43、7,4,11; /设定密码 ea=1; /开总中断et0=1; /定时器 t0 中断允许 tmod=0 x01; /使用定时器 t0 的模式 1th0=(65536-500)/256; /定时器 t0 的高 8 位赋初值tl0=(65536-500)%256; /定时器 t0 的高 8 位赋初值tr0=1; /启动定时器 t0keyval=0 xff; /按键值初始化while(keyval!=d0) /第一位密码输入不正确,等待 ; 四川托普信息技术职业学院26while(keyval!=d1) /第二位密码输入不正确,等待 ;while(keyval!=d2) /第三位密码输入不正确,等待 ;while(keyval!=d3) /第四位密码输入不正确,等待 ;while(keyval!=d4) /第五位密码输入不正确,等待 ;while(keyval!=d5) /第六位密码输入不正确,等待 ; while(keyval!=d6) /没有输入“ok” ,等待 ; p3=0 xfe; /p3.0 引脚输出低电平,点亮 led/*函数功能:定时器 0 的中断服务子程序,进行键盘扫描,判断键位*/ void time0_interserve(void) interrupt 1 using 1 /定时器 t0 的中断编号为 1,使用第一组寄存器 unsigned char i; tr0

温馨提示

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

最新文档

评论

0/150

提交评论