基于Proteus软件的4*4矩阵键盘设计与仿真
图2-5:添加文件到工程命令
在添加文件对话框中,找到要添加到工程中的源程序文件。注意:在对话框中的文件类型默认为\源文件 (*.c) \,如果你要添加到工程中的是汇编语言程序,则在文件类型中必须选中“Asm 源文件 (*.a*; *.src) ”, 以*.asm为扩展名的汇编源程序才会出现在文件列表框
双击该文件lich1.asm,即可将该文件添加到工程当中,另外也可以单击lich1.asm选中
该文件,再点击\按钮,也可以把文件加入工程中。
图2-6: 选中ASM源程序,加入到工程中
点击Add按钮后,把文件添加到工程中,再点击“关闭”按钮,返回到主界面。
当给工程添加源程序文件成功后,工程管理器中的“Source Group 1”文件夹的前面会出现一个“+”号,单击“+”号,展开文件夹,双击即可打开该文件进行编辑修改源程序
11
基于Proteus软件的4*4矩阵键盘设计与仿真
图2-7: 文件成功加入工程
第八步:工程目标'Target 1'属性设置。如下图7所示,在工程项目管理窗中的\
1\文件夹上右击,出现下拉菜单,点击“目标'Target 1'属性”命令,就进入目标属性设置界面。
工程目标'Target 1'属性设置对话框大部分使用默认设置即可,我们主要设置其中的“目标”、“输出”、“调试”三个页面,下面对这三个页面的设置进行介绍。
1、工程目标属性设置。该页面单片机的晶振频率,把晶振的频率改为11.0592
图2-8:晶振频率设置
2、工程输出设置。该页面设置注意:如果要进行单片机写片实验,则一定要把“E生成HEX文件”选项选中,程序编译后才能生成我们写单片机需要的HEX格式目标文件。
3、工程调试设置。“调试”页面设置。该页分为左右两半,左半边是软件仿真设置,而右半边是硬件仿真设置,当你使用软件仿真时,选中左边的“S使用仿真器”;如果你使用硬件仿真器,那么就按下图所示设置硬件仿真,同时把仿真器连接到你的电脑串口上。
4、串口设置 。把通信波特率选择38400。
12
基于Proteus软件的4*4矩阵键盘设计与仿真
图2-9:串口设置
第九步:源程序的编译与目标文件的获得
至此,我们已经完成了从源程序输入、工程建立、工程详细设置的工作,接下来我们在文本编辑窗中继续输入或修改我们的源程序,使程序实现我们的目标,在检查程序无误后保存工程。接着如下图12所示,点击“构造目标”快捷按钮,进行源程序的编译连接,源程序编译相关的信息会出现在输出窗口中的“构造”页中。下图12显示编译结果为0错误,0警告,同时产生了目标文件lich1.hex。我们可以对源程序进行反复修改,再编译,直到没有错误为,每次修改源程序后一定要保存。
图2-10:源程序的编译
13
基于Proteus软件的4*4矩阵键盘设计与仿真
第三章 系统总体设计
3.1系统原理
键盘为4*4矩阵式连接,一共有16个按键。
工作原理为:P1端的低四位为列,高四位行。所先置低四位为低,高四位为高,当有按键按下时高四位就会有某位被拉低。只要判断高四位不为全高就说明有按键按下。判断有按键按下后就要判断是某位按下的,方法为,选将高四位的某一位置低。判断低四位是否有低电平出现。依次对高四位的每位置低并判断低四位出现的低电平。如高四位某位置低后低四某也有出现低电平。这样就能判断出低四位与高四位相连的位某位按键被按下了。通过定义好的编码就可以查出是某个按键被按下了,程序将按键值通过查表并发送到LED上显示。
3.2电路组成
3.2.1键盘部分
键盘是一组按键的集合,它是最常用的单片机输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机通讯。键是一种常开型按钮开关,平时(常态)键的两个触点处于断开状态,按下键时它们才闭合(短路)。键盘分编码键盘和非编码键盘,闭合键的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等;而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用得更多的是非编码键盘。 判别键值方法
我们选用的4×4键盘,使用扫描法扫描键值。过程如下:
① 判别有无键按下。由单片机I/O口向键盘送(输出)扫描字,然后读入(输入)行线状态来判断。其方法是:向列线输出全扫描字00H,即把全部列线置为低电平,然后将行线的电平状态读入累加器A中。如果有按键按下,总会有一根行线被拉至低电平,从而使行输入不全为“1”。
②判断键盘中哪一个键按下。由列线逐列置低电平后,检查行输入状态。其方法是:依次给列线送低电平,然后查所有行线状态,如果全为“1”,则所按下之键不在此列。如果不全为“1”,则所按下之键必在此列,而且是在与低电平行线相交的交点上的那个键。
③ 确定键盘上每个键的键值。键值赋值的最直接办法是将行、列线按二进制顺序排
14
基于Proteus软件的4*4矩阵键盘设计与仿真
列,当某一键按下时,键盘扫描程序执行到该列置“0”电平,读出各行状态为非全“1”状态,这时的行、列数据组合成键值。 ④ 键盘与单片机接口
矩阵式键盘适用于按键数量较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。一个4*4的行、列结构可以构成一个有16个按键的键盘。 3.2.2LED显示
单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED(Light Emitting Diode),近几年也有配置CRT显示器的。而目前在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
单片机中通常用七段LED构成字型“8”,另外,还有一个小数点发光二极管以显示小数位!这种显示器有共阴和共阳两种!发光二极管的阳极连在一起的(公共端)称为共阳极显示器,阴极连在一起的称为共阴极显示器。 (1) LED显示结构与原理
LED(Light Emintng Diode)是当外加电压超过额定电压时发生击穿而发出可见光。LED的工作电流通常在2—20mA范围内,工作压降2V左右,使用时必须加限流电阻。单片机应用系统通常使用8个发光二被管显示器。其中7个发光二极管构成7笔字形,另一个构成小数点,通称7段LED。LED分为共阴极接法(8个发光二极管阴极连在一起)和共阳极接法(8个发光二极管的阳极接在—起)。通过控制这个公共端,可使该位亮或暗。如共阴极端接地或共阳极接高电平,则该位显示器有效,反之无效。
一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划(段) a_g,另一个小数点为dp发光二极管。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。 (2) LED显示器接口及显示方式
LED显示器有静态显示方式和动态显示方式两种。静态显示就是当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另一个字符为止。LED显示器工作于静态显示方式时,各位的共阴极接地;若为共阳极则接+5V电源。正因为如此,静态显示器的亮度较高。这种显示方式编程容易,管理也较简单,但占用I/O口线资源较多。因此,在显示位数较多的情况下,一般都采用动态显示方式。动态扫描是将各个LED数码管的7段字线并联使用,而每个数码管的公共极(共阴极或共阳极)分别通过驱动器接I/O的一个口线。当轮
15

