收藏 分销(赏)

基于单片机的电子密码锁设计-毕业设计 (STC90C51单片机、AT24C02存储器、LCD1602液晶显示器).pdf

上传人:曲**** 文档编号:459812 上传时间:2023-10-11 格式:PDF 页数:56 大小:3.93MB
下载 相关 举报
基于单片机的电子密码锁设计-毕业设计 (STC90C51单片机、AT24C02存储器、LCD1602液晶显示器).pdf_第1页
第1页 / 共56页
基于单片机的电子密码锁设计-毕业设计 (STC90C51单片机、AT24C02存储器、LCD1602液晶显示器).pdf_第2页
第2页 / 共56页
基于单片机的电子密码锁设计-毕业设计 (STC90C51单片机、AT24C02存储器、LCD1602液晶显示器).pdf_第3页
第3页 / 共56页
基于单片机的电子密码锁设计-毕业设计 (STC90C51单片机、AT24C02存储器、LCD1602液晶显示器).pdf_第4页
第4页 / 共56页
基于单片机的电子密码锁设计-毕业设计 (STC90C51单片机、AT24C02存储器、LCD1602液晶显示器).pdf_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、摘要自古以来,锁作为人类人身安全以及财产安全的重要保障,成为生活中不可缺少的 一部分。随着历史的发展,社会的进步,人们越来越重视对锁的改进,因此锁这类产品 被赋予越来越多的高科技元素。电子锁只需用户记住一组密码,无需携带金属钥匙,免 除了人们随身携带钥匙的烦恼,而被越来越多的人所欣赏,具有较高的应用价值。本论文设计了一款基于单片机的的电子密码锁。设计了 STC90c 516RD+单片机最小 系统,LCD1602显示模块、掉电存储模块、实时时钟模块、键盘输入模块、继电器开锁 模块、报警模块和USB供电模块。采用C语言编写了软件程序,完成了调试和测试。本论文所设计的电子密码锁实现了密码输入、密码保

2、护、密码检测、密码修改、还 原初始密码、错误报警、待机显示时间以及掉电记忆功能。关键词:STC90c51单片机;AT24c o2存储器;LCD1602液晶显示器;DS1302时钟芯 片;密码锁ABSTRACTSinc e the anc ient times,the l o c k is an impo r tant guar antee o f per so nal safety and pr o per ty safety,and bec o me an indispensabl e par t o f l ife.With the devel o pment o f histo r y,

3、the pr o gr ess o f the so c iety,peo pl e pay mo r e and mo r e attentio n to impr o vement o f l o c k,so this k ind o f l o c k pr o duc ts ar e endo wed with mo r e and mo r e high-tec h el ements.El ec tr o nic l o c k just r emember a set passwo r d,witho ut having to wear the metal k ey peo p

4、l e c ar r y metal k ey fr o m tr o ubl es,and by mo r e and mo r e peo pl e appr ec iate,has higher appl ic atio n val ue.This paper designed a el ec tr o nic c o ded l o c k based o n MCU.STC90C516RD+MCU minimum system is designed,the LCD 1602 displ ay mo dul e,a po wer sto r age mo dul e,r eal-ti

5、me c l o c k mo dul e,k eybo ar d input mo dul e,r el ay l o c k mo dul e,al ar m mo dul e and USB po wer suppl y mo dul e.Using C l anguage to wr ite the so ftwar e pr o gr am and c o mpl eting the debugand test.In this paper the design o f el ec tr o nic l o c k ac hieves the fo l l o wing func ti

6、o ns:passwo r d detec tio n,passwo r d pr o tec tio n and passwo r d input,passwo r d mo dific atio n,initial passwo r d sto r age,er r o r al ar m,standby displ ay time and memo r y func tio n when po wer suppl y dr o p.Keywo r ds:STC90C51 mic r o c o ntr o l l er;AT24C02 memo r y;LCD 1602 LCDdispl

7、 ay;DS1302timek eeping c hip;A c o mbinatio n l o c k目录第一章绪论.11.1 本设计的背景.11.2 本设计的目的及意义.21.3 本设计的主要内容.2第二章电子密码锁系统设计方案.32.1 系统的组成.32.2 电子密码锁系统设计方案.4第三章硬件电路设计.53.1S TC90C51单片机介绍.53.2 液晶显示模块.83.3键 盘输入模块.103.4D S1302实时时钟模块.133.5 E2PROM存储模块.173.6报 警器、开锁模块.203.7晶 振、复位模块.213.8电 源供电模块.22第四章系统软件设计.234.1 主程序模

8、块设计.234.2 键盘扫描模块程序设计.244.3 密码验证程序设计.254.4 密码修改程序设计.264.5 实时时钟模块程序设计.27第五章实验及调试.285.1 电路板设计及焊接过程.285.2 程序调试及下载.295.3 调试结果及实物图.31第六章结束语.34参考文献.35附录.36外文资料.43中文翻译.48谢辞.52天津工业大学本科毕业论文第一章绪论1.1 本设计的背景随着电子技术的发展,计算机的使用使得人类进入一个新时代,单片微型计 算机在其中发挥着十分重要的作用。单片机发展到现在,种类繁多、性能各异。以单片机为核心的各类电子产品也层出不穷。本设计便是基于单片机的电子密码 锁

9、的设计系统。在日常生活及工作中,住宅的安全防范、公司的文档以及一些个人资料的保 存大都以加锁的办法来解决。如果使用传统的机械锁,人们需要携带多把钥匙,使用起来不方便,且钥匙丢失后安全也受到威胁。随着科学技术的不断发展,人 们对日常生活中的安全保险器件的要求越来越高。目前市面上常见的遥控式电子防盗锁主要有光遥控和无线电遥控两类。非遥 控电子密码锁从目前的技术水平和市场认可程度看,使用最广泛的是键盘式电子 密码锁,该产品主要被用于保险箱、保险柜和仓库,还有一部分应用于金库和运 钞车。卡式电子防盗锁(使用各种“卡”作为钥匙的电子防盗锁)是当前最为活 跃的产品。生物特征防盗锁以人的某些先天特征(如指纹

10、、视网膜、声音等)作 为“钥匙”,这些特征几乎不可复制,是独一无二的。因此,利用生物特征做密 码的防盗锁,也特别适合安防行业注重“验明正身”的特点。为满足人们对锁的 使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全 性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械 式密码锁,克服了机械式密码锁密码量少、安全性欠缺的缺点,使密码锁在各个 方面都有较大的提高。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能电子密码锁,它除具有电子密码锁的功能外,还引入了 智能化管理、专家分析系统等功能,从而使密码锁

11、具有很高的安全性、可靠性,应用日益广泛。目前我国的安防市场,电子锁整体水平尚处于国际上70年代左右,电子密 码锁的成本高,且市场上仍以按键电子锁为主,磁芯式和卡片钥匙式电子锁已引 进国际先进水平。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还 不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望 通过不断的努力,使电子密码锁在我国也能得到广泛应用。1天津工业大学本科毕业论文1.2 本设计的目的及意义随着社会物质财富的增长和人们生活水平的提高,安全成为现代居民生活的 焦点。而锁自古以来就是守门的铁将军,人们对它要求甚高,不仅要求可靠防盗,还要求使用方便,这也是制锁行业长

12、期以来研发的主题。传统的门锁既要求随身 携带大量的钥匙,又要担心钥匙丢失后可能产生的后果。另外,如:宾馆、办公 楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙 随身携带也诸多便。伴随单片机的问世,带微处理器的密码锁应运而生,它除具 有传统门锁的功能外,还引入了智能化、科技化的功能,从而使密码锁变得更加 安全和方便使用。目前西方欧美国家已经大量应用智能门禁系统,可以通过多种 更加安全更加方便可靠的方法来实现大门的管理。但电子密码锁在我国的应用还 不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常 生活中得到广泛应用,这也是一个国家生活水平的体现。很多行

13、业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现 家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被 撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考 虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。采用单片机作为 密码锁的控制核心,可以使密码锁更加的“智能”化,实现如按键有效指示、输 入错误指示、解码有效指示、控制开锁电平、定时中断、控制报警、密码修改等 功能,可在意外泄露密码情况下及时修改密码。密码可以取6位十进制密码,共 一亿组不重复,保密性强。使人们的生活有了更多的安全保障。因此,研究电子 密码锁及扩大其生产和应用,有着非常

14、重要的意义。1.3 本设计的主要内容本论文所设计的电子密码锁,采用STC公司的STC90c 516RD+芯片作为控 制核心,主要内容如下:(1)主控系统设计方案;(2)键盘输入模块设计;(3)LCD1602显示器显示模块的设计;(4)掉电存储(E2pROM AT24c o2)模块的设计;(5)晶振、复位、开锁、供电模块的设计;(5)DS1302实时时钟模块的设计;(6)系统软件程序设计。2天津工业大学本科毕业论文第二章电子密码锁系统设计方案2.1系统的组成在本设计中,由于需要设计制作出电路板成品供调试,演示。因此,硬件电 路的设计在本设计方案中是比较重要的组成部分。经过对毕业设计课题题目要求

15、的研究和查阅资料,列出了如下几个模块:单片机最小系统整体模块、键盘扫描 输入密码开锁模块、液晶显示模块、掉电存储模块、密码错误报警模块、供电模 块、晶振、复位电路模块。其组成框图如图2-1所示:图2-1电子密码锁系统组成框图该系统的工作过程是经供电模块上电后利用键盘输入模块进行输入控制,将 控制指令、数据信息传送到单片机,通过单片机的软件数据处理,配合复位电路 以及晶振电路来驱动密码锁开锁和报警电路蜂鸣器报警,从而实现该电子密码锁 的各项功能。3天津工业大学本科毕业论文2.2电子密码锁系统设计方案要想做出一个完善的系统方案,就得充分分析电子密码锁设计题目中要求的 各项功能。题目中要求以单片机为

16、控制核心,利用键盘、液晶显示屏、串口、指 示灯,蜂鸣器等模块,最终设计成集有等待状态显示时间、输入密码、修改密码、密码正确与否指示、报警、密码保护、一键还原初始密码等功能。在此要求基础 上对各模块硬件进行选型。(1)芯片选择。题目中要求基于51单片机设计,因此我选择了一款功能完 善,且价格低廉,性能稳定口碑较好的STC90C51系列芯片。(2)键盘选择。常用的键盘有独立键盘和矩阵键盘,由于需要输入09十 位数字,且配合开锁、锁定、改密键。按键数不应少于13,因此我选 择了 4x4矩阵键盘,因为这种形式的键盘结构,能够有效的提高单片 机系统I/O 口的利用率。(3)显示模块。采用LCD 1602

17、液晶显示器,2行16列的显示面积足够满足 本设计的需求。(4)时钟模块。DS1302,是一种高性能、低功耗的实时时钟芯片。能够完 成年月日周时分秒的计时。可设置备用电源充电方式,当单片机掉电 状态下可继续工作。(5)存储模块。选择采用具备I2C接口的芯片AT24C系列E2PROMo方便 掉电存储密码。(6)报警模块。采用蜂鸣器长鸣作为报警信号。电路简单易实现。(7)开锁电路模块。采用继电器控制开锁电路。4天津工业大学本科毕业论文第三章硬件电路设计3.1 STC90C51单片机介绍单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理功 能的中央处理器CPU、随机存储器RAM、只读存储

18、器ROM、多种I/O 口和中断 系统、串行口、定时器/计时器等功能集成到一块硅片上构成一个小而完善的微 型计算机系统。这样一块芯片具有一台计算机的属性,因而被称为单片微型计算 机,简称单片机。器器 其或薪 仿下电脑图3-1单片机开发系统组成本设计所使用的单片机为STC90C516RD+,该款单片机编程方便,与标准 8051芯片兼容,速度更快,抗干扰能力更强。下面介绍一下该型号单片机的结 构、特点及内部主要部件的工作原理。STC90c 516RD+系列单片机是宏晶科技推出的新一代超高速/低功耗的单片 机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期 可任意选择,内部集

19、成MAX810专用复位电路,时钟频率在12MHz以下时,复 位脚可直接接地。STC90c516RD+单片机特点如下。1.增强型6时钟/机器周期,12时钟/机器周期8051 CPUo2.工作电压:5.5V-3.8V(5V 单片机)/3.8V-2.4V(3V 单片机)。3.工作频率范围:040MHz,相当于普通8051的080MHz.。4.用户 应用程序空间 4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/61K/字节。5.片上集成1280字节/512/256字节RAM。6.通用I/O 口(35/39个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(

20、普 通8051传统I/O 口)。P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,5天津工业大学本科毕业论文作为I/O 口用时,需加上拉电阻。7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3到5秒即可完成。8.E2PROM 功能。9.看门狗。10.内部集成MAX810专用复位电路,外部晶体12M以下时,可省外部复位 电路,复位脚可直接接地。11.共2个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使 用。12.外部中断4路,下降沿中断或低电平触发中断,Po wer Do wn模式可由外 部中

21、断低电平触发中断方式唤醒。13.通用异步串行口(UART),还可用定时器软件实现多个UART。14.工作温度范围:0-75C/-40-+85C。15.封装:LQFP-44,PDIP-40,PLCC-44。STC90c 51RC/RD+系列单片机中包含中央处理器(CPU)、程序存储器(Fl ash)、数据存储器(SRAM)、定时器/计数器、UART串口、I/O接口、E2PROM 看门狗等模块。STC90c51RC/RD+系列单片机几乎包含了数据采集和控制中所需 的所有单元模块,可以称的上是一个片上系统。本设计中为方便焊接需要,降低制板成本,单片机采用了 PDIP40封装。封 装图如图3-2所示:

22、T2/P1.0 T2EX/P1.1Pl.2 Pl.3Pl.4Pl.5Pl.6 Pl.7RST RXD/P3.0 TXD/P3.1 INTO/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7XTAL2 XTAL1=S ws712345678910111213141516171819204039383736353433323130292827262524232221n=m n n n n n=n n n n n n n n n nvc cPO.O/ADO PO.1/AD1 PO.2/AD2 PO.3/AD3PO.4/AD4PO.5/AD5 PO.6/AD

23、6 PO.7/AD7 EA _ALE/PROG PSENP2.7/A15 P2.6/A14P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10P2.1/A9P2.0/A8STC9OC51图3-2单片机封装图(40引脚)6天津工业大学本科毕业论文单片机的输入/输出接口,简称I/O 口,是单片机与外部各种器件“对话”的唯一途径,是单片机应用的最直接单元。下面对STC90c51系列单片机各I/O 口的功能作简单的介绍。P0 口功能P0 口既可以作为输入/输出口,又可以作为地址/数据总线使用。P0 口作为地址数据总线时,8051的地址总线为16位,这16位被分为高低两个 8位部分,其

24、中高8位由P2 口提供,低八位由P0 口提供。在不使用地址总线时,P2和P0 口可单独作为普通I/O 口使用。P0 口作为通用I/O 口使用时,应先向端口写“1”,例如执行程序P0=0 xFF”,这样会将P0.0P0.7端口置于输入状态,当P0 口作为输出口使用时,其输出形 式为漏极开路输出,即处于高阻浮空状态,因此,要外界上拉电阻来实现端口的 输出功能。P1 口功能P1 口是一个有内部上拉电阻的准双向口,每一位口线能独立用作 输入或输出线。作输入时,必须先向端口写“1”端口由内部上拉电阻提拉成高 电平,同时也能被外部输入源拉成低电平,即当外部输入为高电平时,该口线为 高电平,而输入低电平时,

25、该口线为低电平。P1 口其他功能STC90c 51RC/RD+系歹I单片机中,PL0和P1.1 口具有第二 功能:PL0可作为定时器/计数器2的外部计数触发输入端T2;P1.1可作为定时 器/计数器2的外部控制输入端T2EXoP2 口功能P2 口的结构位、引脚上拉电阻同P1 口,但是由于P2 口要用作地 址总线的高8位,因此,P2 口比P1 口多一个输出控制部分。P2 口作为通用输 入/输出口时,其操作与P1 口完全相同。P3 口是一个多用途的端口,也是一个准双向端口,作为第一功能使用时,其功能同P1 口。当作为第二功能使用时,其每一位的功能定义如表3-1所示:表3-1 P3 口第二功能表端口

26、第二功能端口第二功能P3.0RxD,串行输入口P3.4T0,定时器/计时器0外部输入P3.1TxD,串行输出口P3.5T1,定时器/计时器1外部输入P3.2INTO,外部中断。输入P3.6WR,外部数据存储器写选通P3.3INT1,外部中断1输入P3.7RD,外部数据存储器读选通P4 口功能P4 口是一个多用途的端口,也是一个准双向口。作为第一功能使 用时,其功能同P1 口。P4 口的部分端口也具有第二功能,其第二功能如表3-2 所示:7天津工业大学本科毕业论文表3-2 P4 口第二功能表端口第二功能P4.21NT3,外部中断3输入引脚P4.3INT3,外部中断2输入引脚P4.4PSEN,外部

27、程序存储器读选通输出信号P4.5ALE,地址锁存允许信号输出引脚/编程脉冲输入引脚P4.6EA,内外存储器选择引脚每个I/O端口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲区,5个数据输出锁存器与端口号P0P4同名,皆为特殊功能寄存器。因此,CPU 数据从并行I/O端口输出时可以得到锁存,数据输入时可以得到缓冲。3.2 液晶显示模块在日常生活中,液晶的使用非常普遍,尤其在电子产品领域,液晶显示模块 已经成了标准的显示器件,在计算器、万用表、电子表等许多家用产品中都可以 看到液晶的身影,它主要用来显示图形、数字和专用符号等。LCD1602是一款常用的字符液晶显示器,可显示1行16个字符或

28、2行个字 符。LCD 1602液晶模块内部带有标准字库,内部的字符发送存储器存储了 160 个5*7点阵字符和32个5*10的点阵字符。另外,还有用于字符生成的64字节 RAM,供用户自定义字符。这些字符有阿拉伯数字、英文字母的大小写、常用 的符号和日文假名等。每一个字符都有一个固定的代码,这个代码就是对应字符 ASCII码。LCD1602的工作电压在4.55.5V之间,典型值为5V,工作电流2.0mA,字符尺寸295*4.35(W*H)mm。LCD1602的各引脚功能说明如表3-3所示:表3-3 LCD1602各引脚功能说明引脚符号描述功能说明1VSS电源地2VDD电源3V0对比度调整外接分

29、压电阻,调节对比度,接地对比度最高4RS数据/命令选择高电平选择操作数据存储器,低电平选择操作指令寄存器5RW读写选择高电平时执行读操作,低电平时执行写操作,6E使能高电平使能714D0 D7数据I/O双向数据输入/输出8天津工业大学本科毕业论文15BLA背光正极通过10。左右的电阻接到VDD16BLK背光负极连接VSSLCD1602内部有三类寄存器,分别是DDRAM:显示数据RAM,用来寄存 待显示的字符代码,LCD1602共有80个字节的DDRAM;CGROM:字符生成 器ROM,LCD 1602内置了 192个常用字符的字模,存于CGROM中;CGRAM:允许用户自定义的字符生成器RAM

30、,用户可以通过液晶的通信接口向这些寄存 器中写入自己的自模数据(8个),但这些数据在掉电后会消失,因此称为RAM0。LCD1602的DDRAM共有2行,每行40个字节,共80个字节,但是在使 用的时可以只使用前16个,内部DDRAM地址与屏幕的实际对应位置如图3-3 所示:OOH 01H 02H 03H 04H 05H 06H 07H 08H 09H OAH OBH OCH ODH OEH 0FH40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH 4CH 4DH 4EH 4FH图3-3 LCD 1602 DDRAM地址与屏幕显示位置对应关系LCD16

31、02在正常使用之前需要根据用户的要求进行初始化,具体过程如下。(1)上电并等待15ms以上(2)写指令0 x38H,将液晶的显示模式设置为16*2显示,5*7点阵,8 位数据接口。(3)延时 5ms。(4)写指令0 x38H,尚未开始工作,不需要检测忙信号。(5)延时 5ms。(6)写指令0 x38H。(7)延时5ms,连续设置3次,确保初始化成功。(8)写命令OxO8H,关显示。(9)写命令OxOl H,清屏。(10)写命令设置光标。(11)写命令OxOFH,开显示。初始化完成,可以向LCD 1602写字符。LCD1602应用电路如图3-4所示:9天津工业大学本科毕业论文为了方便编程,这里选

32、用了 8位并行数据接U,加上通信握手信号RS、R/W、EN共占用单片机的11位I/O 口线。本设计中,为了节约能源,加入了光敏电阻电路,来进行调节。当白天或者 光线强的时候,背光关闭;反之背光亮起,方便读出显示信息。背光电路如图 3-5所示:图3-5背光调节电路3.3 键盘输入模块键盘是单片机系统中一个很重要的模块,是实现人机对话接口常用的器件。通过它人们可以向计算机输入数据、传送命令、控制CPU运行,以实现特定的 目的。键盘实际上就是一组按键开关,当按下按键时使得两根导线接通,从而给 单片机相应的I/O 口输入一个信号;而按键释放时,两根导线又恢复成断路状态,10天津工业大学本科毕业论文从而

33、又给单片机相应的I/O 口输入一个相反的信号。单片机就是根据这些输入信 号来判断是否有键按下,以及按下的是什么键,从而实现对应的操作。键盘电路的特点:一是随机性,操作人员对键盘的操作是随机的;二是抖动 性,这是键盘的机械性决定的。根据这两个特点可以得出以下的接口设计原则。(1)键盘的电平与系统总线电平相兼容。(2)单片机要能有效地抑制键盘抖动。本设计中单片机对抖动的抑制是由 软件实现的。在一般电路设计中,按键按下闭合的过程中,其触点电压变化过程总要出现一些如图3-6所示的毛齿波:毛齿波的长短与开关的机械特性有关,一般为510ms。在键盘扫描程序中,当按键被按下时,加入一条简单的延时语句,就可以

34、有效的避免按键抖动的影响。本设计中我们采用4*4矩阵键盘,将16个按键排成4行4歹U,第一行将每 个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成 列线,这样便一共有4行4列共8根线,我们将8根线连接到单片机的8个I/O 口上,通过程序扫描键就可检测16个键。无论是独立键盘还是矩阵键盘,单片 机的检测机理都是一样的,也就是检测与该键对应的I/O 口是否为低电平。矩阵 键盘两端都与单片机I/O 口相连,因此在检测时需人为通过单片机I/O 口送出低 电平。检测时,先送一列为低电平,其余几列全为高电平(此时我们确认了列数),立即轮流检测一次各行是否有低电平,若检测到某一行为低电

35、平(这时我们又确 定了行数),则我们便可确认当前被按下的键是哪一行哪一列的,用同样方法轮 流送各行各列一次低电平,轮流检测一次各行是否为低电平,这样即可检测完所 有的按键,当有按键被按下时便可判断出按下的是哪一个键。当然我们也可以将 行线置低电平,扫描列是否有低电平。这就是矩阵键盘检测的原理和方法。矩阵键盘应用电路如图3-7所示:11天津工业大学本科毕业论文图3-7矩阵键盘电路原理图16 个按键分别定义为 1、2、3、4、5、6、7、8、9、0、*、#、A、B、C、D。其中*键定义为上锁功能键,#定义为确认功能键,D定义为修改密码功能键,A 定义为显示时间功能键,B、C未定义功能。各按键具体位

36、置如图3-8所示:o o n no o o o图3-8矩阵键盘键值布局图12天津工业大学本科毕业论文3.4 DS1302实时时钟模块实时时钟RTC(Real Time Cl o c k)是指可以像时钟一样输出实际时间的电子 设备,一般来说RTC是集成电路,通常称为时钟芯片。目前,在很多嵌入式仪 表中往往需要采集带时标的数据并保存起来,以便于用户后期对数据进行观察和 分析。本设计中使用的是常见的时钟芯片DS1302。DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历寄存器和31字节静态存储RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、时、分、日

37、、星期、月、年的信息,每月的天数和 闰年的天数可自动调整,时钟操作可通过12/24和A/P标志位决定采用24小时 和12小时格式。DS1302与单片机之间能简单的采用同步串行的方式进行通信仅 需要用到三个口线:CE时钟控制线,I/O数据线,SCLK串行时钟线。实时时钟、RAM的读/写数据以1个字节或多达31个字节的字符组方式通信。DS1302工作 时功耗很低,保持数据和时钟信息时功率小于ImW。DS1302的主要性能指标如 下。(1)实时时钟具有能计算2100年之前的秒、分、时、日、星期、月、年的 能力,还有闰年调整功能。(2)内部含有31字节的静态数据存储RAMo(3)串行I/O 口方式使得

38、引脚数量最少。(4)宽范围工作电压2.05.5V。(5)工作电流:2.0V时,小于300nA。(6)读/写实时时钟或RAM数据时有单字节传送和多字节两种传送字符组 方式。(7)简单的3线接口。(8)与 TTL 兼容,VCC=5Vo(9)可选工业级温度范围-4085。(10)对VCC1有可选的涓流充电能力。DS1302引脚及封装图如表3-4所示:13天津工业大学本科毕业论文表3-4 DS1302引脚说明及封装图引脚符号描述封装1VCC2主电源弓1脚2XI32.768k Hz晶振引脚VcC2 匚X1匚X2匚GND匚0Zl Vcci SCLK I/O RST3X24GND地5RST时钟控制线6I/O

39、串行数据输入/输出线7SCLK串行时钟线DS13028VCC1电池电源引脚DS1302有关日历、时间的寄存器共有12个,如表3-5所示。其中有7个寄 存器存放的数据格式为BCD码形式。通过向寄存器写入命令字实现对DS1302 的操作。例如,如果要设置某时刻秒的初始值,需要先写入命令字80H,然后才 能向秒寄存器写入初始值;如果要读出某事某刻秒的值,需要先写入命令字81H,然后才能从秒寄存器读取数据。表3-5 DS1302有关日历时间的寄存器寄存器 名称命令字取值范围各位名称写读76543210秒寄存器80H81H00 59CH10秒秒分寄存器82H83H00 59010分分小时寄存器84H85

40、H01 12,00 2312/240AM/PM时时口寄存器86H87H01-28,29,30,310010 n月寄存器88H89H01-1200010月月周寄存器8AH8BH01-0700000周日年寄存器8CH8DH00 9910年年控制寄存器8EH8FH一WP0000000秒寄存器(80H、81H)的位7定义为时钟暂停标志(CH)。当该位置为1 时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运 行。“10秒”为秒的十位数字,“秒”为秒的个位数字。小时寄存器(84H、85H)的位7用于定义DS1302是运行12小时模式还是 24小时模式。当为高时,选择12小时模式。

41、在12小时模式时,位5是AM/PM 位,当为1时,表示PM;在24小时模式时,位5是第二个10小时位。14天津工业大学本科毕业论文周寄存器(8AH、8BH)DE位2、位1、位。是周的个位数字(周日)。控制寄存器(8EH、8FH)的位7是写保护位(WP),其他7位均置为0。在任何对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保 护位防止对任一寄存器的写操作。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为C0H-FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读/写所 有R

42、AM的31个字节,命令控制字为FEH(写)、FFH(读)。将命令字写入DS1302,每一个数据的传送由命令字节进行初始化,DS1302 的命令字节格式如表3-6所示:表3-6 DS1302的命令字节格式1 RAM/C K A4 A3 A2 Al AO R/W最高位位7为1时,允许写入;若为0,则禁止写入。位6为。表示存取日 历时钟数据;为1表示存取RAM数据。接着5个位是RAM或时钟寄存器的内 部地址。最后一位为0,表示写;为1表示读。DS1302的读写操作 DS1302采用同步串行接口于单片机之间进行通信,无论是读操作还是写操作,每次通信都必须由单片机发起。在物理上,DS1302 的串行接口

43、由3个引脚组成,分别是CE、SCLK、和I/O。(1)CE时钟控制当CE从低电平变为高电平时,启动一次数据传输。芯片 的CE引脚具有两个功能:第一,CE打开访问控制逻辑,允许访问芯片内部的 移位寄存器;第二,可以用CE引脚来终止单字节或多字节数据传输。一个时钟 周期由一系列的SCLK引脚的上升沿和下降沿组成。对于数据输入,I/O引脚上 的数据位必须在时钟线的上升沿出现之前有效;对于数据输出,在时钟线的下降 沿出现后,I/O引脚上的数据位有效。当CE为低电平时,终止所有的数据传输,I/O 口线变为高阻态;当CE变为高电平时,SCLK必须为低电平。(2)DS1302数据输入(写入)当单片机发出8个

44、SCLK周期向DS1302写 入写控制字(控制字的bitO为0)后,数据可以在接下来的8个SCLK引脚的上 升沿被写入DS1302。在发送一个字节数据的时候要注意先发低位。DS1302单字 节写时序如图3-9所示:15天津工业大学本科毕业论文SINGLE BYTE WRITERST J Ls c-I/O-(R/W AO A1 A2 A3 A4 R/C 1/DO D1 D2 D3 D4 D5 D6 D7)图3-9 DS1302单字节写时序(3)DS1302数据输出(读出)当单片机发出8个SCLK周期向DS1302写 入读控制字(控制字bitO为1)后,数据会在接下来的8个SCLK引脚的下降沿 出

45、现在DS1302的I/O引脚上,此时,单片机可以从I/O引脚读取数据。在读一 个字节数据的时候,最先读到的数据位为字节数据的低位。DS1302单字节读操 作时序如图3-10所示:SINGLE BYTE READRST J Lsclk jmnnnjmnrLmTRRnK-1/O(R/W AO A1 A2 A3 A4 R/C)图3-10 DS 1302单字节读时序DS1302实时时钟的应用电路如图3-11所示:3Y32.768 TXTAL+5TBT1A VCC2 VCC1A XI SCLKj-X2 roGND CEDS 1302P25P24-P23Batter y图3-11实时时钟模块原理图本设计中

46、,选择使用了纽扣电池为DS1302芯片供电,以保证当系统关闭时 时钟模块依旧可以正常运行,下次启动系统,读出的时间是准确的。16天津工业大学本科毕业论文3.5 E2PROM存储模块在单片机系统中,由于串行总线的接口比较简单,有利于系统设计的模块化 和标准化,提高系统的可靠性,降低成本,所以串行总线的应用十分广泛。在众 多的串行总线中,由于12c总线只需两根线,支持带电插拔,有大量的外围接口 芯片,因而经常被单片机系统采用。12c总线的优点是简单、有效,并且占用的空间非常小,减少了电路板的空 间和芯片引脚的数量,降低了互联成本,总线的长度可高达8m。目前,具备12c 接口的芯片已有很多,如AT2

47、4C系列E2PROM PCF8563日历时钟芯片、PCF8576LCD驱动器及PCF8591A/D转换器等。电可擦除可编程只读存储器e2prom可分为并行和串行两大类。并行 e2prom的读写数据通过8位数据总线传输,而串行e2prom的数据是一位一 位地传输。与并行方式相比,虽然串行传输速度较慢,但由于它具体体积小、占 用I/O 口少、价格低廉和电路简单等优点,被广泛应用于智能仪器中。AT24C02是美国Atmel公产生产的低功耗CMOS串行E2pROM(电可擦除存 储器),这款芯片的引脚及封装,如图3-12所示:图3-12AT24C02芯片引脚说明及封装图共有8个引脚,各引脚功能如下:(1

48、)AO、Al、A2:片选或页面选择地址输入端。选用不同的E2PROM 存储器芯片时,其意义不同,但都要接固定电平,用于多个器件级 联时的芯片寻址。(2)Vss:接地。(3)SDA:串行数据(地址)1/0端,用于串行数据的输入月俞出。这个 引脚是漏极开路驱动端,可以与任意数量的漏极开路或集电极开路 器件“线或”连接。(4)SCL:串行时钟输入端,用于输入/输出数据的同步。在其上升沿时,串行写入数据;下降沿时,串行读取数据。(5)WP:写保护端,用于硬件数据的保护。WP接地时,对整个芯片 17天津工业大学本科毕业论文进行正常的读/写操作;WP接电源Vc c时,对芯片进行数据写保护。(6)Vc c:

49、电源电压,接+5V。AT24c o2芯片的读写方式AT24C02系列串行E2PROM寻址方式字节的高4位为器件地址,且固定为 1010B:低3位为器件地址引脚A2A0。S器件地址0A字节地址L数据字节AP图3-13 24C02写时序示意图S器件地址0A字节地址高8位A字节地址低8位A数据字节AP图3-13所示为24C02芯片的单字节写时序示意图。主机首先发送起始信号,随后给出器件地址,在收到应答信号后,再将字节地址写入24C02芯片的地址 指针,最后是准备写入的数据字节。对于多于8位的地址,主机需连续发送两个 8位地址字节,并写入24C02芯片的地址指针。24C02系列芯片的读操作方式与写操作

50、类似,所不同的是要将数据传送方向 位置1。图3-14给出了分别为立即地址读取、随机地址读取和顺序地址读取3 种不同的法操作方式。采用立即地址读取方式时,主机无须发送要读的字节地址,24C02系列芯片会自动从上次访问地址的下一个地址处读取数据,即上次访问地 址为ADD,则芯片会从ADD+1的地址处开始读取数据。S器件地址1A数据字节AP立即地址读取示意图S|器件地址|0|A|要读的字节地址|Akr|器件地址|A|数据字节|瓦|P 随机地址读取示意图S 器件地址|0|A|要读的字节地址|A|Sr|器件地址|A数据字节11 A.数据字节N A P顺序地址读取示意图图3-14不同读操作方式的示意图如果

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 行业资料 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服