下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 ATmegal128综合实验电子密码锁电子密码锁

ATmegal128综合实验电子密码锁电子密码锁.doc

ATmegal128综合实验电子密码锁电子密码锁

linfan55
2018-09-06 0人阅读 举报 0 0 暂无简介

简介:本文档为《ATmegal128综合实验电子密码锁电子密码锁doc》,可适用于工程科技领域

电子密码锁一、实验目的在单片机的产品设计中人机界面是非常重要的部分而且随着系统的日益复杂以及人们对产品的人机交互能力的要求不断提升常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程而X键盘的操作和LCD显示是人机界面设计的基础内容掌握这些基础设计能力加深对人机界面的认识同时提高人机界面系统设计能力。基本要求是:熟悉ATmega试验系统。掌握LCD原理及使用方法。掌握X键盘的扫描原理。初步掌握ATmega单片机C语言的一般编程技巧。初步掌握ATmega系统调试的一般步骤及方法。二、实验内容本实验将实现六位数的电子密码锁。要求使用X行列式键盘作为输入并用LCD实时显示。具体要求如下:开机时LCD显示“”初始化密码为“”密码可以更改。按下“#”则显示全部清零为“”并显示“QuitClear”。随时可以输入数值并在LCD上实时显示‘*’。当键入数值时为了保密按从左到右依次显示‘*’可键入值为~。按下“D”键则表示确定键按下进行密码对比。如相符则在LCD第一行显示“======”第二行显示“PasswordRight”扬声器也同时提示“密码正确”如不符则LCD第一行显示“”第二行显示“PasswordWrong”并且扬声器同时提示“密码错误”。按下“B”键进入修改密码状态扬声器同时提示“输入新密码”。按下“*”键如当前在修改密码状态则第一次按下“*”键保存第一次输入的新密码第二次按下“*”键则保存第二次输入的密码并且比较两次输入的密码是否一致若一致LCD第一行显示“”第二行显示“PasswordUpdated”,扬声器同时提示“密码已修改成功”若不一致则LCD显示“InputWrong”提示“两次输入不一致”。如当前不在修改密码状态则提示“操作错误”。按下“A”键如当前在已经通过密码验证的状态则显示当前的密码如当前在尚未通过密码验证状态则LCD第一行显示“”第二行显示“PasswordWrong”并且扬声器同时提示“密码错误”。按下“C”键退出通过密码验证状态进入尚未通过验证状态。键盘面板码值分配如下图所示:二三硬件原理()TextLCD模块的原理及构成LCD是一种采样液晶控制透光度技术来实现色彩的显示器。根据驱动方式可分为单纯的矩阵方式和动态矩阵方式。它是多用于电子计算机和手机的显示器件液晶通了电压之后具有向某一方向排列的性质利用此性质和偏光性使通有电压的部分变黑。LCD具有使用方便、功耗小的特点是在小规模携带计算机系统的使用方面最简单、具有超强功能的显示装置。用于LCD的电子元件是由具有流动性的有机分子液晶按一定规律排列而成的。利用分子排列受外界电场影响时变化的性质而做出来的显示装置就是液晶显示器(LCD)LCD的面板和控制其集成于一个模块只要控制器通过数据总线进行数据传送便可显示所要现实的文字或图形。x的TextLCD模块是由LCD控制器HD和驱动HD组成。LCD控制器的内部具有输入输出缓冲器、指令寄存器和数据寄存器。数据寄存器与DDRAM和CGRAM相连。对应液晶画面相的DDRAM的地址列号第一行ABCDEF第二行ABCDEFDDRAM具有X位的位置所以可以记录个位文字。显示行的行和行的地址分别是XXF和XXF。从表中可以看出行的最后一个地址和行的开始地址不是连续的这跟显示移位有关。硬件原理图如下:()X键盘扫描原理:键盘按其接线方法有:直接式键盘、行列式键盘(又称矩阵键盘)、串转并键盘等在本设计中采用X的行列式键盘即键盘排列为行、列共个按键。X键盘的电路连线如下图所示分别定义这个按键盘的键值为~。单片机与该电路连接时使用个端口作为输出口接条行扫描线使用个端口作为输入口接条列扫描线在此介绍中使用的PC~这个端口作X键盘的扫描PC~接行扫描线PC~接列扫描线。硬件连线图如下:行列式键盘的操作一般完成两个任务一是检测是否有键被按下二是识别被按下的键是哪一个。一般会采用行列扫描法可以同时完成上述两项任务。基本的扫描原理是:先使行扫描线全部输出高电平然后读取列扫描线的状态得到与按键横向位置对应的位列码如果有键被按下则对应的列扫描线必然会被读回高电平如果无键按下则读取的列码必定全是(低电平)。这也就可以判断有无按键的按下了。一旦检测到有键按下时还需要有一个延时消抖操作以消除按键时带有的抖动信号一般延时在ms左右即可。延时后如还能检测到有按键按下则可确定当前是有键按下可进入获取键值的操作。获取键值时采用行列依次扫描的方法。首先使第一行扫描线输出高电平其它的行扫描线输出低电平然后读取列扫描线的状态得到列码如果本行无键按下则得到的列码为全并扫描下一行如本行有键按下则会读取到对应的列码值并退出扫描进行键值计算。当第一行扫描没有检测到按键时则扫描第二行即置第二行扫描线输出高电平其它行扫描线输出低电平其它与前面所述类似。在行列扫描时可以用一个变量记录下当前扫描的行号在计算键值时可以利用此行号以及读回的列码得知是哪一行、哪一列上的按键按下了。如:当SW按下时应该检测出第一行扫描时读取到有效的列码(PC~)。)音频输出人们所能听得到的声音是模拟形态。为了将这些模拟声音保存到PC等数字机器中必须先转换成数字形态。而要让人们听到所保存的数字音频就要将数字数据转换为模拟形态后输出。如下图所示通过采样时钟对模拟输入进行采样转换为数字数据。这些数字数据可以进行压缩或者可以转换成其他格式。而若要将这些数字数据转换成模拟数据后输出就要先解压缩或转换格式后才能通过模拟转换器转换输出。模拟音频数据是连续的。为了将模拟数据转换成数字数据一定时间间隔取值这个过程叫采样。信号的采样周期必须大于模拟信号变化周期的倍。采样值的大小由数字符号的种类决定。在位的数字系统中由‘’‘’个的符号中一个决定。四程序流程图根据设计要求的功能程序主要分为三部分即:行列键盘扫描部分按键功能实现部分。按键功能实现根据不同的键值进行分支处理以完成设计要求的不同控制功能按键控制主要完成数据输入、显示刷新控制等。程序主流程主要完成键盘扫描、键值处理键值分支控制的任务流程图如下图所示:X键盘的扫描方法在前面已有介绍在此仅把流程图给出。键盘扫描流程图主流程图Key=数字键输入密码Key=B进入修改状态Key=*确认修改新密码Key=C退出Key=D校对密码Key=#显示清零Key=A显示当前密码开始键盘扫描针对键值分支初始化密码在数字系统中操作模拟数据的方法AnalogOutputAnalogInputDigitallyEncodedsamplesAnalogtoDigitSampleClockPAMsamplesDAADX键盘初始化LCD初始化音频输出初始化初始化

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/7

ATmegal128综合实验电子密码锁电子密码锁

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利