毕业设计4LXW单片机课程设计Word下载.docx
- 文档编号:7441017
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:23
- 大小:208.03KB
毕业设计4LXW单片机课程设计Word下载.docx
《毕业设计4LXW单片机课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《毕业设计4LXW单片机课程设计Word下载.docx(23页珍藏版)》请在冰点文库上搜索。
12345678
(2)用户可以自行设定和修改密码,只有输入原设定的正确密码后才能修改密码。
(3)开锁密码错3次要报警,并死锁30分钟。
报警期间若输入密码正确,则停止报警。
(4)系统上电显示当前时间,并可设置当前时间。
(5)可设置管制时间区。
在管制时间区内,执行开锁操作和修改密码的操作均非法,并出发报警。
(6)掉电后密码和时钟信息不丢失。
(7)成本要比较低,硬件和软件都尽可能简洁可靠,易于批量生产。
基于以上功能要求,我提出两种设计方案:
方案一:
将密码锁要实现的功能用软件编程,用89C51的定时/计数器来实现时钟功能,并将密码信息和时间信息都写入EEPROM芯片,即24C02芯片以防掉电丢失。
方案二:
将密码锁要实现的功能用软件编程,用89C51的定时/计数器来实现时钟功能,并给整个系统加备用电源以防掉电丢失。
方案三:
将密码锁要实现的功能用软件编程,用具有内置锂电池的DS12887芯片代替24C02芯片来保存所有信息。
比较三方案:
方案一存在三个不缺陷,第一,虽然能保护密码信息掉电不丢失,但是一旦掉电,时间即停止运行,每次上电都必须重新设置时间;
第二,时间部分需要用软件来实现,增加了编程的难度,同时加长了程序的长度;
第三,EEPOOM芯片的擦除次数有限。
方案二可以解决方案一的部分缺陷,但是给整个系统加备用电源,成本增加,体积增大,可靠性降低。
方案三使用具有内置锂电池的DS12887时钟芯片,该芯片不但可以保护时间信息掉电不丢失,同时还可以保护用户RAM的信息不丢失,将密码信息存入DS12887的用户RAM中即安全又可靠;
DS12887芯片能自动产生时间信息,免去了编写时钟程序的麻烦。
因此,选择方案三进行设计。
4器件选择与简介
本系统是基于AT89C51单片机的简易电子密码锁,由于本系统需要键盘和显示电路,考虑到AT89C51的I/O口不够,扩展一片可编程I/O芯片8255A,别外本系统需要时钟功能和掉电不丢失的功能,因此使用内置锂电池的时钟芯片DS12887,同时,DS12887配合一块廉价的
4.1AT89C51芯片简介
4.1.1AT89C51单片机内部结构
图 1
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
•中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
•数据存储器(RAM)
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
•程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
•定时/计数器(ROM):
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
•并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
•全双工串行口:
8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
•中断系统:
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
•时钟电路:
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
下图是MCS-51系列单片机的内部结构示意图。
图2
4.1.2MCS-51的引脚说明
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
如图3
图3
Pin9:
RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。
8051的复位方式可以是自动复位,也可以是手动复位,见下图4。
此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
图4
·
Pin30:
ALE/
当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。
而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。
更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
如果单片机是EPROM,在编程其间,
将用于输入编程脉冲。
Pin29:
当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。
Pin31:
EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。
如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。
显然,对内部无程序存储器的8031,EA端必须接地。
在编程时,EA/Vpp脚还需加上21V的编程电压。
4.2时钟芯片DS12887介绍
DS12887是美国达拉斯半导体公司(Dallas)最新推出的并行接口实时时钟芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与目前IBMAT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。
它所提供的世纪字节在位置32h,世纪寄存器32h到2000年1月1日从19递增到20。
采用DS12887芯片设计的时钟电路不需任何外围电路和器件,并具有良好的微机接口。
DS12887芯片具有微功耗,外围接口简单,精度高,工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟系统。
4.2.1DS12887主要功能简介
(1)内含一个锂电池,断电情况运行十年以上不丢失数据。
(2)计秒,分,时,天,星期,日,月,年,并有闰年补偿功能。
(3)二进制数码或BCD码表示时间,日历和定闹。
(4)12小时或24小时制,12小时时钟模式带有PM和AM指示,有夏令时功能
(5)MOTOROLA和INTEL总线时序选择。
(6)有128个字节RAM单元与软件接口,其中14个字节作为时钟和控制寄存器,114字节为通用RAM,所有RAM单元数据都具有掉电保护功能。
(7)可编程方波信号输出。
(8)中断信号输出(IRQ)和总线兼容,定闹中断,周期性中断,时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。
4.2.2DS12887原理及管脚说明
DS12887内部由振荡电路,分频电路,周期中断、方波选择电路,14字节时钟和控制单元,114字节用户非易失RAM,十进制、二进制计加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。
DS12887管脚分配如图5。
图 5
Vcc:
直流电源+5V电压。
当5V电压在正常范围内时,数据可读写;
当Vcc低于4.25V,读写被禁止,计时功能仍继续;
当Vcc下降到3V以下时,RAM和计时器供电被切换到内部锂电池。
MOT(模式选择):
MOT管脚接到Vcc时,选择MOTOROLA时序,当接到GND时,选择INTEL时序。
SQW(方波信号输出):
SQW管脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。
AD0—AD7(双向地址/数据复用线):
总线接口,可与MOTOROLA微机系列和INTEL微机系列接口。
AS(地址选通输入):
用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。
DS(数据选通或读输入):
DS/RD管脚有两种操作模式,取决于MOT管脚的电平,当使用MOTORO2LA时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;
在读周期,DS指示DS12887驱动双向总线的时刻;
在写周期,DS的后沿使DS12887锁存写数据。
选择INTEL时序时,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。
R/W(读/写输入):
R/W管脚也有两种操作模式。
选MOTOROLA时序时,R/W是一电平信号,指示当前周期是读或写周期,DS为高电平时,R/W高电平指示读周期,R/W信号是一低电平信号,称为WR。
在此模式下,R/W管脚与通用RAM的写允许信号(WE)的含义相同。
CS(片选输入):
在访问DS12887的总线周期内,片选信号必须保持为低。
IRQ(中断申请输入):
低电平有效,可作微处理的中断输入。
没有中断的条件满足时,IRQ处于高阻态。
IRQ线是漏极开中输入,要求外接上接电阻。
RESET(复位输出):
当该脚保持低电平时间大于200ms,保证DS12887有效复位。
4.2.3DS12887内部功能
DS12887内部框图如图6
图6
地址分配
DS12887的地址由114字节的用户RAM。
10字节的存放实时时钟时间,日历和定闹RAM及用于控制和状态的4字节特殊寄存器组成,几乎所有的128个字节直接读写。
时间、日历和定闹单元
时间和日历信息通过读相应的内存字节来获取,时间、日历和定闹通过写相应的内存字节设置或初始化,其字节内容可以是二进制或BCD形式。
时间可选择12小时制或24小时制,当选择12小时制时,小时字节的高位为逻辑“1”代表PM。
时间、日历和定闹字节是双缓冲的,总是可访问的。
每秒钟这10个字节走时1秒,检查一次定闹条件,如在更新时,读时间和日历可能引起错误,三个字节的定闹字节有两种使用方法。
第一种,当定闹时间写入相应时,分、秒、定闹单元,在定允许闹位置高的条件下,定闹中断每天准时起动一次。
第二种,在三个定闹字节中插入一个或多个不关心码。
不关心码是任意从C0到FF的16进制数。
当小时字节的不关心码位置位时,定闹为每小时发生一次;
同样,当小时和分钟定闹字节置不关心位时,每分钟定闹一次;
当三个字节都置不关心位时,每秒中断一次。
非易失RAM
在DS12887中,114字节通用非易失RAM不专用于任何特殊功能,它们可被处理器程序用作非易失内存,在更新周期也可访问。
中断
RTC实时时钟加RAM向处理器提供三个独立的、自动的中断源。
定闹中断的发生率可编程,从每秒一次到每天一次,周期性中断的发生率可从500ms到122μs选择。
更新结束中断用于向程序指示一个更新周期完成。
中断控制和状态位在寄存器B和C中,本文的其它部分将详细描述每个中断发生条件。
晶振控制位
DS12887出厂时,其内部晶振被关掉,以防止锂电池在芯片装入系统前被消耗。
寄存器A的BIT4-BIT6的其它组合都是使晶振关闭。
方波输出选择
15级分频抽头中的13个可用于15选1选择器,选择分频器抽头的目的是在SQW管脚产生一个方波信号,其频率由寄存器A的RS0-RS3位设置。
SQW频率选择器与周期中断发生器共享15选1选择器,一旦频率选择好,通过用程序控制方波输出允许位SQWE来控制SQW管脚输出的开关。
周期中断选择
周期中断可在IRQ脚产生500ms一次到每122μs一次的中断,中断步率同样由寄存A确定,它的控制位为寄存器B中的PIE位。
更新周期
DS12887每一秒执行一次更新周期,保证时间、日历的准确。
更新周期还比较每一定闹字节与相应的时间字节,如果匹配或三个字节都是不关心码,则产生一次定闹中断。
2.2.4、状态控制寄存器
DS12887内部寄存器A:
UIP
DV2
DV1
DV0
RS3
RS2
RS1
RS0
UIP=I:
更新已到,不能读/写DS12887;
UIP-O:
更新末到,能读/写DS12887。
DV2、DV1、DV0应设置为010,表示打开晶振,允许计时。
RS3、RS2、RS1、RS0为方波频率选择位,产生方波周期
中断。
DS12887内部寄存器B:
SET
PIE
AIE
UIE
SQWE
DM
24/12
DSE
SET=O:
时间更新正常进行,每秒计数1次;
SET=1:
禁止更新,程序可初始化时间和日历。
PIE=I:
允许周期中断;
PIE=O:
禁止周期中断。
AIE=I:
允许报警中断;
AIE-0:
禁止报警中断。
UIE=I:
允许更新结束中断;
UIE-O:
禁止更新结束中断。
SQWE为方波允许位。
SQWE=I:
将RS3、RS2、RS1、RS0选定的方波输出。
DM=I:
BCD码;
DM--O:
二进制。
该位不受复位信号影响。
24/12:
1表示24小时制;
0表示12小时制。
DSE为夏时制允许位。
DSE=I:
采用夏时制;
DSE=0:
不采
用夏时制。
DS12887内部寄存器C:
IRQF
PF
AF
UF
IRQF为中断申请标志。
PF为方波周期中断标志。
PF=1:
方波周期结束,申请中断。
AF为闹铃中断标志。
AF=1:
当前时间与闹铃时间匹配时即刻申请中断。
UF为更新周期结束中断标志。
UF=I:
更新周期结束时申请中断。
DS12887内部寄存器D:
VRT
VRT为内部锂电池状态。
vRT_1:
锂电池正常;
VRT=0:
锂电池耗尽。
4.38255芯片简介
4.3.18255引脚功能
RESET:
复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。
RD:
读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
PA3--140--PA4
PA2--239--PA5
PA1--338--PA6
PA0--437--PA7
RD--536--WR
CS--635--RESET
GND--734--D0
A1--833--D1
A0--932--D2
PC7--1031--D3
PC6--1130--D4
PC5--1229--D5
PC4--1328--D6
PC0--1427--D7
PC1--1526--VCC
PC2--1625--PB7
PC--1724--PB6
PB0--1823--PB5
PB1--1922--PB4
PB2--2021--PB3
A1、A0:
端口地址总线,8255中有端口A、B、C和一个内部控制字寄存器,共4个端口,由A0、A1输入地址信号来寻址。
4.3.28255方式控制字格式说明
方式控制字格式说明:
D7
D6
D5
D4
D3
D2
D1
D0
D7:
设定工作方式标志,1有效。
D6、D5:
A口方式选择
00—方式0
01—方式1
1×
—方式2
D4:
A口功能(1=输入,0=输出)
D3:
C口高4位功能(1=输入,0=输出)
D2:
B口方式选择(0=方式0,1=方式1)
D1:
B口功能(1=输入,0=输出)
D0:
C口低4位功能(1=输入,0=输出)
8255可编程并行接口芯片工作方式说明:
方式0:
基本输入/输出方式。
适用于三个端口中的任何一个。
每一个端口都可以用作输入或输出。
输出可被锁存,输入不能锁存。
方式1:
选通输入/输出方式。
这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。
方式2:
双向总线方式。
只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。
4.4CD4017简介
CD4017为带有10个译码输出及一个进位输出的5级约翰逊计数器。
该器件有清除功能,当清除(RST)为电平时强制Q1—Q9为低电平,Q0和CO为高电平,当ENA为低电平时,CLK上升沿计数,Q0—Q9通常为低电平,每个输出仅在10个CLK脉冲的个同期内依次变为高电平。
5硬件电路的设计
电路系统框图如下:
图七
5.1主控器件及扩展
由AT89C51和8255A组成的核心部分如图所示
8255A的数据口和AT89C51的P0口相连,A1、A0分别与P21、P20相连,CS与P27相连,这样就确定了5288的地址:
PA口—7C00H、PB口—7D00H、PC口—7E00H、控制口—7F00H。
5.2时钟及看门狗电路
由DS12887和CD4017组成的看门狗电路如图所示
将DS12887数据地址复用口AD接到AT89C51的P0口,使能端CE接AT89C51的P26口这样便可确定DS12887的起始地址为:
BF00H。
中断引脚IRQ接AT89C51的INT0,将DS12887设置为时钟更新周期结束中断,这样,每过一秒钟,DS12887就向AT89C51申请一个中断,AT89C51响应中断后从DS12887中读取时间信息并送显示,这样就完成的时钟部分的设计。
DS12887的SQW脚为方波输出脚,它给计数器4017提供定时时钟脉冲,单片机的P11口与4017复位脚RST相接(高电平有效),一旦P11口输出高电平脉冲,则4017被复位,Q0端为高电平,Q1~Q9均输出低电平,4017重新开始计数。
4017的Q3端输出的信号经二极管D1后到达单片机AT89C51的复位端RST。
由于是Q3输出复位信号,则4017的CLK只需3个脉冲,Q3即输出高电平信号,可预设DS12887的输出方波周期为0.5s,那么,该电路的看门狗周期为1.5秒。
如果在1.5秒内,P12端不能输出高脉冲复位4017,则整个电路将被复位一次。
SQW端一旦开始允许方波输出,不管单片机是否死机都可输出定时方波,这样,通过DS12887的SQW端,外加一片廉价的4017就可以构成单片机的看门狗电路。
5.3键盘部分
键盘部分如图所示
键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 LXW 单片机 课程设计