华南理工大学广州学院工业自动化训练嵌入式实验报告.docx
- 文档编号:5427875
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:9
- 大小:275.02KB
华南理工大学广州学院工业自动化训练嵌入式实验报告.docx
《华南理工大学广州学院工业自动化训练嵌入式实验报告.docx》由会员分享,可在线阅读,更多相关《华南理工大学广州学院工业自动化训练嵌入式实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
华南理工大学广州学院工业自动化训练嵌入式实验报告
工业自动化技术强化训练Ⅰ
(单片机方向)
实验报告书
学生姓名:
李泽寰
指导老师:
冯梓安、容爱琼
班级及专业:
14机械创新班
学号:
201430118043
2016年7月7日
题目:
基于51单片机的LCD密码锁设计方案
摘要
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
本方案硬件部分是由AT89C51单片机、LCD1602(16x2型)、矩阵按键、电源电路和报警电路等几部分组成。
软件主要由C语言编程。
该密码锁利用单片机技术,通过矩阵按键输入、保护密码,并由LCD显示密码输入,从而实现对密码的判断和报警。
关键字:
单片机AT89C51,密码锁,LCD1602,矩阵按键
目录
一、整体方案说明4
1.1、本密码锁应用的知识4
1.2、功能说明5
1.3、总体结构框图5
二、小组分工5
三、硬件电路说明5
3.1、AT89C51单片机5
3.2、LCD1602(16x2型)6
3.3、4X4矩阵按键7
3.4、有源蜂鸣器7
3.5、电路图8
四、软件编程说明8
4.1、功能函数解释8
4.2、主函数解释9
五、调试说明10
六、个人感想10
一、整体方案说明
本密码锁是利用8051单片机的控制结合LCD1602和矩阵按键输入方法,设计的一个LCD密码锁,可以用在需要密码输入的场合中,例如要当门禁用时,需要实际配合电子门锁。
1.1、本密码锁应用的知识
1、AT80C51编程方法
2、1602LCD(16x2型)显示
3、密码比较处理的设计方法
4、4x4矩阵键盘扫描输入和按键赋值
5、有源蜂鸣器的使用方法
1.2、功能说明
1、使用LCD显示器来显示密码输入的相关消息及提示
2、可以显示5位数字/字符密码
3、内定一组数字密码为:
8011
4、密码输入正确则在LCD上显示“correctanswer”,输入错误则在LCD上显示“erroranswer”
5、密码输入错误有短暂的蜂鸣器错误提示
6、密码输入判断完之后清空所输入的密码并跳转到密码输入界面
1.3、总体结构框图
二、小组分工
小组分工明确,黄昱鑫负责模块资料搜索和整理,高哲轩负责在Proteus中画出电路图、测试各个模块的功能并整理程序,李泽寰负责实现密码的多位显示、密码保护以及密码清除功能。
三、硬件电路说明
3.1、AT89C51单片机
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能参数:
与MCS-51产品指令系统完全兼容;4k字节可重擦写Flash闪速存储器;1000次擦写周期;全静态操作:
0Hz-24MHz;三级加密程序存储器;128×8字节内部RAM;32个可编程I/O口线;2个16位定时/计数器;6个中断源•可编程串行UART通道;低功耗空闲和掉电模式。
3.2、LCD1602(16x2型)
1602引脚标号和作用
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.3、4X4矩阵按键
用4条I/O线作为行线,4条I/O线作为列线组成的键盘。
在行线和列线的每个交叉点上,设置一个按键。
而这样的按键中按键的个数是4X4个。
这样的行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。
程序设计思路:
扫描的工作方式,就是P1.7~P1.5轮流输出低电平,然后读入P1.3~P1.0,判断,如果有按下,就是低电平,没按下的都是高电平。
3.4、有源蜂鸣器
多谐振荡器由晶体管或集成电路构成。
当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
3.5、电路图
其中:
1602LCD:
D0-D7=P0^0-P0^7;RS=P2^0RW=P2^1E=P2^2;
矩阵按键:
P1^0-P1^7;
蜂鸣器:
P2^7;
四、软件编程说明
4.1、功能函数解释
voiddelay1ms(uintc):
可调时间延时,1ms。
voiddelaylong():
固定时间延时。
voidbeep():
输出一定频率的脉冲来控制蜂鸣器。
ucharkeyscan():
按键扫描,获取所按矩阵按键的键值,为LCD的显示做准备。
voidlcd_writecom(ucharcom):
LCD写命令函数,为数据的写入做准备,为写数据指明通道。
voidlcd_writedate(uchardate):
写数据开始的准备,标明开始写数据,然后开始写入数据。
voidlcd_init():
LCD的初始化,为LCD的使用做准备。
voidlcd_show_title():
LCD上显示标题(YourPassword...);
4.2、主函数解释
voidmain()
{
ucharasd=0,g=0;
lcd_init();//LCD初始化
while
(1)
{
key=keyscan();//按键扫描
lcd_show_title();//显示标题
lcd_writecom(0x80+0x40+a);//显示密码,a为密码的个数超过4从一开始
lcd_writedate('*');//密码用'*'表示
table[a]=key;//储存输入密码
if((table[4]=='Y')&&a==4)//按确定键判断密码的正确性
{
if((table[0]==result[0])&&(table[1]==result[1])&&(table[2]==result[2])&&(table[3]==result[3]))
{//比较输入密码
a=-1;
lcd_writecom(0x80+0x40);
for(asd=0;asd<16;asd++)
{
lcd_writedate(di_4[asd]);//如果正确显示correctanswer
}
delaylong();
lcd_writecom(0x01);
}
else
{
a=-1;
lcd_writecom(0x80+0x40);//错误显示erroranswer
for(asd=0;asd<16;asd++)
{
lcd_writedate(di_3[asd]);
}
beep();//蜂鸣器报警
delaylong();
lcd_writecom(0x01);//清屏
}
}
}
}
五、调试说明
调试我们采用的是自底向上的过程,首先单独调试了按键赋值的函数,然后单独调试了LCD1602模块,确定没问题后我们就尝试使用矩阵按键在LCD1602上显示一位数,后来又用算法实现可以显示输入的五位数,后来为了密码的安全,我们尝试用‘*’覆盖输入的密码在LCD上显示出来,最后我们把密码存在数组里,并和正确密码比较出最种结果。
六、个人感想
通过这次嵌入式的学习,我感受到了自动化控制的魅力;本来不会动,没有任何反应的东西,在我的编程下按我的想法运作,十分有意思。
这次的学习也让我把理论知识化为实际的运用,让我对嵌入式有了新的了解。
这次的工业自动化实习(嵌入式)使我有了很多新的想法,让我在实际训练中找到了自己的不足,让我看到了如今社会行业的变化。
随着时代的进步,机器正在进一步代替人类工作,改变人们的生活,而嵌入式正是其中的一种。
我将在嵌入式上下狠功夫,把嵌入式学好,做出更厉害的东西。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华南理工大学 广州 学院 工业 自动化 训练 嵌入式 实验 报告