课程设计制作单片机的4X4矩阵键盘_第1页
课程设计制作单片机的4X4矩阵键盘_第2页
课程设计制作单片机的4X4矩阵键盘_第3页
课程设计制作单片机的4X4矩阵键盘_第4页
课程设计制作单片机的4X4矩阵键盘_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要2第一章硬件部分3第一节 AT89C513第二节4*4矩阵式键盘6第三节LED数码管8第四节硬件电路连接10第二章软件部分12第一节所用软件简介12第二节程序流程图14第三节程序17第三章 仿真结果19心得体会21参考文献22摘要电子信息行业将是人类社会的高科技行业之一,是设施现代化的基础,也是 人类通往科技巅峰的直通车。电子行业的发展很重要,而计算机技术是现代科技 发展的重要组成部分。矩阵式键盘控制系统可以提高效率,是进行按键操作管理的有效方法,它可 以提高系统准确性,有利于资源的节约,降低对操作者本身的要求。并能正确、 实时、高效地显示按键信息,以提高工作效率和资源利用率。矩阵式键

2、盘是当今使用最为广泛的键盘模式,该系统以X个端口连接控制 N*N个按键,并通过单片机,显示在LED数码管上。单片机控制键盘显示系统, 可以对不同的按键进行实时显示,其核心是单片机、键盘矩阵电路和数码管显示 电路。4*4矩阵式键盘以AT89C51单片机为核心,主要由矩阵式键盘电路、显示 电路等组成,软件选用C语言编程。单片机将检测到的按键信号转换成数字量, 显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,广泛应用于各种 场合。2345673910111213141516打181920TXD F3.1 W0P3.2 SmP3.3 T0P3.4 T_K.5 WP3.6 P3.7 XTAL2

3、 XTALl YSS10J/2.3.4.567 11 11 11 11 11 1* 11 FFFFFFFFATOO9C5 -403938373535343332IT3D2928272625列2322IT第一章硬件部分第一节 AT89C51AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器, 俗称单片机o AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且 价廉的方案。引脚如图所示' VCC PO.OP0.1P0.2P0.3

4、P0.4P0.5P0.6P0.7EAATPP2.7P2.6P2.5P2.4P23P2.2P2.1P2.0图1 AT89C51管脚图AT89C51其具有以下特性: 与MCS-51兼容4K字节可编程FLASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定128X8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路特性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内 部RAM, 32个I/O接口,两个16位定时/计数器,一个5向量两级中断结

5、 构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降 至OHz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式 停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续 工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部 件工作直到下一个硬件复位。管脚说明:VCC:供电电压。GND:接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电 流。当P0 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FI

6、ASH进行校验时,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

7、口当用于外部程序存储器或16位地址 外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时, 它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输 岀其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址 信号和控制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4 个TTL门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作 输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由 于上拉的缘故。P3 口也可作为AT89C51的一些特殊功能口,如下表所示:P3. 0 RXD (审行输入口)

8、P3. 1 TXD (串行输出口)P3. 2 /INTO (外部中断0)P3. 3 /INT1 (外部中断1)P3.4 T0 (记时器0外部输入)P3. 5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的 高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存 地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的

9、1/6。因 此它可用作对外部输出的脉冲或用于定时U的。然而要注意的是:每当用 作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在 SFR8EH地址上置0。此时,ALE只有在执行MOVX, MOVC指令是ALE才起作 用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止, 置位无效。/PSEN:外部程序存储器的选通信号。在山外部程序存储器取指期间, 每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出现。/EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器 (OOOOH-FFFFH),不管是否有内部程序存储器。注意加

10、密方式1时,/EA将 内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V编程电源(VPP)oXTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输岀。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以 配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱 动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发 器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平 要求的宽度。第二节4*4矩阵式键盘1. 2.1矩阵式键盘介绍矩阵式键盘

11、(或者叫行列式键盘)常应用在按键数量比较多的系统之中。这 种键盘山行线和列线组成,按键设置在行、列结构的交义点上,行、列线分别接 在按键开关的两端。行列式键盘可分为非编码键盘和编码键盘两大类。编码键盘 内部设有键盘编码器,被按下键的键号山键盘编码器直接给出,同时具有防抖和 解决重键的功能。非编码键盘通常采用软件的方法,逐行逐列检查键盘状态,当 有键按下时,通过计算或查表的方法获取该键的键值,通常,计算机通过程序控 制对键盘扫描,从而获取键值,根据计算机扫描的方法可以分为定时扫描法和中 断扫描法两种。本系统中的4*4矩阵式键盘结构简单,按键数较少,釆用非编码式键盘,当 有键按下时,山单片机通过程

12、序扫描确定键值,并将获得的键值通过LED数码管 显示出来,4*4矩阵式键盘结构及键值分布如下图: S E HEJ H E BS H S EEl 0 E E图3键盘键值分布1. 2. 2键盘扫描原理为了更加贴近实际应用,本系统采用中断式扫描法,这样可以节约单片机开 销,提高单片机工作效率,使得单片机在没有键盘输入时可以处理其他工作,其 具体工作过程为:在没有键按下时矩阵键盘行线接高电平,列线接低电平,当某个键被按下时, 该按键所在行线电位被拉低,触发单片机的外部中断INTO,进入中断子程序, 在中断程序中,单片机对矩阵键盘进行扫描以确定按下的键值,扫描过程如下:1、检测行线电平,确定是否有按键被

13、按下;2、延时去抖动;3、重新确认是否有按键被按下,若有,扫描键值,若没有,返回主程序;4、扫描键值,首先行线接高电平,列线接低电平,对行线电平进行检测, 以确定按下的键所在的行;5、行线接低电平,列线接高点平,对列线电平进行检测,确定按下的键所 在的列;6、将扫描所得的按键值送入LED数码管显示。第三节LED数码管LED (发光二级管)显示器件是计算机控制控制系统中的廉价输出设备,它 由多个发光二极管组成,能显示许多种字符。由于制作材料不同,LED可以发 岀红、黃、篮、紫等各种单色光,一个发光二级管正常发光时的电流大约为10mA, 本系统中使用的是七段共阴极LED数码管。图4、5所示为七段共

14、阴极LED显示器件的结构及外形图。七段LED显示 器件就是将7个发光二极管按一定的方式组合在一起,如图4所示。ab c d e fgCOM图47段LED显示器件外形图aaaCOM图57段LED显示器件结构图下表给出了共阴极7段LED显示器件所能显示的部分字符与7段控制显示代码的对应关系表1共阴极7段LED显示器件所能显示的部分字符与7段控制显示代码的对应关系显示字符控制显示代码(十六进制)显示字符控制显示代码(十六进制)106A7725BB7C34FC39466D5E56DE7967DF71707H7687FP7396F-4003F不显示00在本系统中,4*4键盘共有16个键,对其编号09,

15、AF,所以用一个7段 数码管静态显示即可满足即时显示按键信息的要求。所谓静态显示,就是当显示 器件显示某个字符时,相应的显示段(发光二级管)恒定地导通或截止,直到显 示另一个字符为止。这种显示方式显示一个字符时,只需要微处理器送一次代码,因此占用机时少,而且显示稳定可靠,其缺点是,使用元器件相对较多,且线路 比较复杂,相对而言成本较高,比较适合显示位数较少的情况。第四节硬件电路连接14.1单片机始终电路时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种 电路形式得到:内部振荡和外部振荡。单片机内部有一个用于构成振荡器的高增 益反向放大器,引脚XTAL1和XTAL2分别是此放大电

16、器的输入端和输出端,由于 釆用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种 方式,如图6所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振 荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一 起可构成一个自激振荡器并产生振荡时钟脉冲。图6中外接晶体以及电容C1和C2构成并联谐振电路,它们起稳定振荡频率、 快速起振的作用,其值为30pF左右,晶振频率选11.0592MHz。1.4.2单片机复位电路为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后 可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是

17、靠外电路来实现的,在正常运行情况下,只要RST引脚上出 现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续 为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存 器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0, 内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作 有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图6中R2、R3和C3组成上电复位电路,其值R2、R3取为1KQ, C3取为 10pFo1.4.3矩阵式键盘电路4*4矩阵式键盘接于单片机的P2 口,P2.0P2.

18、3接行线,P2.4P2.7接列线, 初始化和无按键按下时,P2.0P2.3输出高电平,P2.4P2.7输出低电平,当 P2.0P2.3中某个位为低电平时说明有按键按下,触发单片机中断完成相应功能,键盘与单片机的连接如图5.1.4.4 LED数码管显示电路LED显示器接在单片机的P1 口,其中P1.0P1.6接LED的控制端,P1.7接 COM端,工作时P1.7端始终输出低电平,P1.0P1.6根据要显示的字符输出相 应的数据。LED与单片机的连接如图5,1.4.5中断触发电路本系统采用中断处理方式,可以提高单片机的数据处理能力,有利于节能。 山矩阵键盘连接电路可知,无按键按下时,行线始终为高电

19、平,当有按键按 下时,相应的行线被拉为低电平,利用这一规律设汁按键的中断触发电路:将四条行线接到74LS21 (4输入与门)经过与运算后接到单片机的P3.2 (INTO) 口, 设置INTO为下降沿触发,当行线中任意一条为低电平时,触发INTO中断,单 片机调用中断子程序检测键值并输出到LED显示。电路图如图6.此外,长时间无按键按下时,为了节能,可以关闭LED显示,单片机关闭LED显示通过外部电路触发INT1中断完成。如图6所示,其中R1为1K。复位 电路接在P3.3(INT1)口,设置INT1中断为低电平触发方式,当OFF按键按下时 P3.3输入低电平,触发INT1中断,单片机调用相应中断

20、程序使P1输出全为低电平,LED不显示字符XICRYSTAL丄C2aXUL1PJOAOJ PJ tuwiPJ7JU12P2JUDPJ 4心PJPJCJUKMHruwrP2t*JWl AUP2HAM P24ACFXP2!AOP1®pzi-AMP1.1P12POP14Pi VTJOP2*TTP»1 P1 P"叫的 ra 'toU1«3o宁JJJ-0汗0 JjU2A图6系统硬件连接图第二章软件部分第一节所用软件简介2.1.1 KeilKe订C51是美国Ke订Software公司出品的51系列兼容单片机C语言软件 开发系统,与汇编相比,C语言在功能上、结

21、构性、可读性、可维护性上有 明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加 深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具, 全Windows界面,并将这些部分组合在一起。其方便易用的集成环境、强大的 软件仿真调试工具也会令你事半功倍。Keil C51生成的目标代码效率非常之 高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能 体现高级语言的优势。1. 系统概述Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就 能体会到Keil C51生成的LI标代

22、码效率非常之高,多数语句生成的汇编代 码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2. Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整 个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。 然后分别曲C51及C51编译器编译生成H标文件(.OBJ)。H标文件可曲 LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对日 标文件(.ABS)o ABS文件由OH51转换成标准的Hex文件,

23、以供调试器 dScope51或tScope51使用进行源代码级调试,也可山仿真器使用直接对LI 标板进行调试,也可以直接写入程序存贮器如EPROM中。使用独立的Keil仿真器时,注意事项仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。仿真器上的复位按钮只复位仿真芯片,不复位目标系统。仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM, 不能使用片外ROM:但仿真器外引插针中的31脚并不与仿真芯片的31脚 相连,故该仿真器仍可插入到扩展有外部ROM (其CPU的/EA引脚接至低 电平)的目标系统中使用。2.1.2 ProteusProt

24、eus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调 试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概 念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件 和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051. HC11、 PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年 乂增加了 Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在 编译方面,它也支持IAR、Keil和MPLAB等多种编译器。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

25、 它是U前最好的仿真单片机及外圉器件的工具。虽然LI前国内推广刚起步,但已 受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作 者的青睐。广泛应用于各个领域。Proteus为用户提供了丰富的资源,主要有:1. Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等 数千种元器件,有30多个元件库。2. Proteus可提供的仿真仪表资源:示波器、逻辑分析仪、虚拟终端、 SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直 流电流表。理论上同一种仪器可以在一个电路中随意的调用。3. 除了现实存在的仪器外,Proteus还提供了 一个图形显示功能,

26、可以 将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相 似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输 入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。4. Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。在PROTEUS绘制好原理图后,调入已编译好的H标代码文件:*.HEX, 可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS是单片机课堂教学的先进助手。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实 例运行过程形象化。前者可在相

27、当程度上得到实物演示实验的效果,后者 则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在 相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路 连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS 提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、 提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了 培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设 计手段。它具有设计灵活,结果、过程的统一的特点。可使设

28、计时间大为 缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用 中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机 多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软 件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使 用Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,学生 普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。 实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作, 能极大提高单片机系统设计效率。因此,Proteus有较高的推广利用

29、价值。第二节程序流程图开始主E呈序初始化LED数码管设宜中断INTO、INTI触发方式开中断INTO. INTI接通矩阵键盘行线高电平,列线低电平执行INTO中断服务程序执行INT1中断服务程序图7主程序流程图图8中断服务程序流程图第三节程序#include<reg51 h>void main()Pl=0x00;TCON=0x01;IE=0x85;while(l)P2=0x0f;void counterO(void) internipt 0char key,key_h,key_I,delay;初始化LED数码管设置INTO、INTI触发方式使能INTO、INTI中断接通矩阵键盘if

30、(P2!=0x0f)for(delay=0;delay< 1 OO;delay+);if(P2!=0x0f)P2=0x0f;key_h=P2A0x0f:P2=OxfO;/INTO中断服务程序确认是否有键按下延时去抖动重新确认是否有键按下key_l=P2AOxfO;key 二 key_h+key_I;switch(key)case 0x11 :Pl=0x06;break;检测按键所在行检测按键所在列确定按键值并送入LED显示case 0x21:P1 =0x5b;break;case 0x41:P1 =0x4f;break; case 0x81:P1 =0x66;break;case Ox

31、12:P 1 =0x6d;break;case Ox22:P 1 =0x7d;break;case 0x42:P 1 =0x07:break;case Ox82:P 1 =0x7f;break;case 0xl4:Pl=0x6f;break;case 0x24:P 1 =0x3f;break;case 0x44:P 1 =0x77:break;case 0x84:P 1 =0x7c;break;case Ox 18:P 1 =0x39;break;case Ox28:P 1 =0x5e;break;case 0x48: P1 =0x 79: break;case Ox88:Pl =0x71;break;default: Pl=OxOO;break;voidcounter 1 (void) internipt 1/INTI中断服务程序char i;if(P3A3=0)确认OFF键是否按下延时去抖动for(i=0;i<100:i+);if(P3A3=0)P1=0x00;重新确认复位键是否按下关闭LED显示第三章仿真结果本章举儿个方针结果的例子丄C12Z37TeT7 TTTT.>XI柏卜CRYSTALPJ0AO5 P3 tdUJt P3 2AXX2 PJ 3 AIM P “心 P3t»

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论