小型数字系统设计报告硬件.docx
- 文档编号:17897091
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:15
- 大小:276.38KB
小型数字系统设计报告硬件.docx
《小型数字系统设计报告硬件.docx》由会员分享,可在线阅读,更多相关《小型数字系统设计报告硬件.docx(15页珍藏版)》请在冰点文库上搜索。
小型数字系统设计报告硬件
河北工程大学科信学院
课程设计说明书
(2011/2012学年第1学期)
课程名称:
小型数字系统设计
(1)
题目:
密码锁(硬件)
专业班级:
学生姓名:
学号:
指导教师:
赵建明、高艳芬
设计周数:
1周
二〇一一年十二月二十日
一、设计目的
通过课程设计进一步加深对基础理论和基本知识的理解,掌握相关软硬件应用系统设计开发的基本方法,提高解决实际问题和创新实践的能力。
利用单片机原理及应用、计算机组成原理、微型计算机技术、嵌入式系统等课程理论知识进行实践。
同时,学会查寻资料、方案比较,进一步拓展在生产工艺及工程设计方面的实际知识。
二、设计功能要求
要求使用4X4行列式键盘作为输入,扩展6个LED数码管。
具体要求如下:
1.开机时数码管显示“000000”,初始化密码为“123456”,密码可以更改,并保存在RAM中。
2.按下“#”,则显示全部清零为“000000”。
3.随时可以输入数值,并在LED数码管上实时显示,当键入一个新数值时,原来显示的数字左移一位,并在最右边的一位上显示出新键入的键值,键值为0~9。
4.按下“D”键,则表示确定键按下,则进行密码对比,如相符则在LED数码管上显示“======”以示通过;如不符,则显示“------”。
5.按下“*”键,如当前在已经通过密码验证的状态,则根据当前输入的号码更新原有的密码;如当前在尚未通过密码验证状态,则显示“------”。
6.按下“A”键,如当前在已经通过密码验证的状态,则显示当前的密码;如当前在尚未通过密码验证状态,则显示“------”。
7.按下“C”键,退出通过密码验证状态,进入尚未通过验证状态。
三、设计方案
采用一种是用以AT89C51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。
其原理图如下所示:
89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51的主要特性
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24MHz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
芯片管脚说明
VCC:
供电电压。
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口为一个内部上拉电阻的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”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
1602LCD介绍
1602LCD是应用范围最广的带背光字符型液晶模块,它可以显示两行,每行16个字符,广泛用于各种便携式仪器仪表中。
通过实验掌握液晶模块的驱动方法。
它的封装为SIP16,管脚分布如下图:
管脚功能
1602字符型LCD通常有14引脚线或16引脚线,多出来的两条是背光电源线Vcc(15脚)和地线GND(16脚),其控制原理和14脚的LCD完全一样。
其各个管脚功能如下表所示:
引脚
符号
功能说明
1
VSS
一般接地
2
VDD
接电源(+5V)
3
V0
液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高
4
RS
RS为寄存器选择高电平1时选择数据寄存器,低电平0时选择指令寄存器
5
R/W
R/W为读写信号线高电平1时进行读操作,低电平0时选择指令寄存器
6
E
E或EN端为使能端,下降沿使能
7
DB0
低4位三态双向数据总线,0位为最低位
8
DB1
低4位三态双向数据总线,1位
9
DB2
低4位三态双向数据总线,2位
10
DB3
低4位三态双向数据总线,3位
11
DB4
高4位三态双向数据总线,4位
12
DB5
高4位三态双向数据总线,5位
13
DB6
高4位三态双向数据总线,6位
14
DB7
高4位三态双向数据总线,7位为最高位
15
BLA
背光电源正极
16
BLK
背光电源负极
显示地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
00H
01H
02H
03H
04H
05H
06H
07H
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
40H
41H
42H
43H
44H
45H
46H
47H
48H
49H
4AH
4BH
4CH
4DH
4EH
4FH
1602LCD指令说明
1602液晶模块内部的控制器共有11条控制指令(0为低电平,1为高电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移。
S:
屏幕上所有文字是否左移或者右移,高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关。
高电平表示开显示,低电平表示关显示。
C:
控制光标的开与关。
高电平表示有光标,低电平表示无光标。
B:
控制光标是否闪烁。
高电平闪烁,低电平则不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线。
N:
低电平时为单行显示,高电平时为双行显示。
F:
低电平时显示5*7的点阵字符,高电平时显示5*10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电位表示忙,此时模块不能接收命令或者数据,低电平则表示不忙。
指令10:
写数据。
指令11:
读数据。
AT24C04芯片
本设计中为了在系统掉电时能够保存系统设置的密码,使用了具有IC总线接口的E2PROM的24C04芯片来保存密码锁的密码。
其电路原理图如下:
AT24C04芯片特性:
AT24C04是美国Atmel公司的低功耗CMOS型E2PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。
AT24C04中带有的片内地址寄存器。
每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。
所有字节均以单一操作方式读取。
为降低总的写入时间,一次操作可写入多达8个字节的数据。
I2C总线是一种用于IC器件之间连接的二线制总线。
他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。
管脚功能:
SCK串行时钟:
AT24C04串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。
SDA串行数据/地址:
AT24C04双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与开漏输出或集电极开路输出进行线或(wire-OR)。
A0、A1、A2器件地址输入端:
这些输入脚用于多个器件级联时设置器件地址,这些脚悬空时默认值为0。
当使用AT24C04时最大可级联8个器件。
如果只有一个AT24C04被总线寻址,这三个地址输入脚(A0、A1、A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2)必须连接到Vss。
WP写保护:
如果WP管脚连接到Vcc,所有的内容都被写保护只能读。
当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。
四、硬件电路设计
AT89C51
单片机
开锁驱动电路
1602LCD显示电路
错误锁定电路
指示控制电路
矩阵
键盘
控制
延时报警电路
图硬件模块设计方案
Ⅰ键盘电路设计
使用矩阵键盘,所以本设计4*4采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
其硬件电路图如下所示:
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。
对键的识别通常有两种方法:
一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
具体的功能设计如下表:
按键
键名
功能说明
0——9键
数字键
输入密码
*键
重新设定密码
设定新密码
#键
清除键
是显示器清零
A键
显示键
显示当前密码
C键
退出键
回到未验证状态
D键
确定键
比较密码
ⅡLED显示电路
本系统设计的显示电路是为了给使用者以提示而设置的。
本系统的显示采用了LCD1602作为显示模块,其能够同时显示16*02即32个字符。
LCD在系统中,其D0-D7引脚分别接单片机的P0口,VSS和VDD分别接电源和地线,VEE为液晶亮度调节按钮(可接电位器),RS为数据或命令的选择端接P2.0,RW为读写的选择端接P2.1,E为使能信号接P2.2。
显示电路的电路原理图如下:
Ⅲ开锁电路
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。
电路图如下所示。
当P2.7口输出低电平时,二极管发光,表示开锁。
Ⅳ报警电路
报警模块由蜂鸣器和单片机组成。
选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。
蜂鸣器电路如图3.4所示。
当89C51输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
报警电路图如下:
Ⅴ总电路图
P1口通过连接1个矩阵键盘,作为密码输入和功能选择按键;P0口接LCD1602的8位数据通信线;P2.0,P2.1,P2.2接LCD控制端;P3.2和P3.3接AT24C04。
五、心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在同学的帮助下,终于游逆而解。
非常感谢!
六、课程设计参考资料
[1]清源工作室.Protel99SE原理图与PCB及仿真[M].北京:
机械工业出版社,
[2]孙德文.微型计算机技术[M].北京:
高教出版社,2002.11
[3]张培仁.十六位单片微处理器原理及应用(凌阳SPCE061A)[M].北京:
清华
[4]雷思孝.凌阳16位单片机原理及应用[M].西安电子科技大学出版社
[5]王田苗.嵌入式系统设计与实例开发(第2版)[M].北京:
清华大学出版社
[6]黄智伟.凌阳单片机课程设计指导[M].北京:
北航
[7]胥静.嵌入式系统设计与开发实例详解[M].北京:
北航,2005.1
生产实习
评 语
生产实习
成 绩
指导教师
(签字)
年 月 日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 数字 系统 设计 报告 硬件