版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、碎原理与应用孵显示4X4矩阵键盘的權盘号III学 院:物理与电子工程学院 专 业:自动化班 级:13级7班学 号 名:梁检满指导教师:马世榜日 期:2013年12月31日单片机大作业目录目录1引言12设计方案22.1 4*4 矩阵式键盘概述 22.2设计要求22.3设计思想23硬件电路设计33.1单片机控制系统原理33. 2单片机主机系统电路 33.2.1时钟电路73.2.2复位电路73.2.3单片机最小系统73.3译码显示电路84软件设计114.1软件流程图114.2源程序115总电路原理图18参考文献19I单片机大作业引言1引言电子信息行业将是人类社会的高科技行业
2、之一,是设施现代化的基础,也是 人类通往科技巅峰的直通车。电子行业的发展很重要,而计算机技术是现代科技 发展的重要组成部分。矩阵式键盘控制系统可以提高效率,是进行按键操作管理的有效方法,它可 以提高系统准确性,有利于资源的节约,降低对操作者本身的要求。并能正确、 实时、高效地显示按键信息,以提高工作效率和资源利用率。矩阵式键盘是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N 个按键,并通过单片机,显示在 LED数码管上。单片机控制键盘显示系统,可以 对不同的按键进行实时显示,其核心是单片机、键盘矩阵电路和数码管显示电路。 4*4矩阵式键盘以AT89C51单片机为核心,主要由矩阵式键
3、盘电路、显示电路等 组成,软件选用C语言编程。单片机将检测到的按键信号转换成数字量,显示于 LED显示器上。该系统灵活性强,易于操作,可靠性高,广泛应用于各种场合。1单片机大作业硬件电路设计2设计方案2.1 4*4矩阵式键盘概述矩阵式键盘又称行列键盘,它是用N条I/O线作为行线,N条I/O线作为列线 组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样既降低了成本, 又提高了精确度,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单, 但占用I/O 口资源较多,不适合在按键较多的场合应用。并且在实际应用中经常 要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器 按
4、键等,至少都需要12到16个按键,在这种情况下如果用独立式按键的话,显 然太浪费I/O端口资源,为了解决这一问题,就使用矩阵式键盘。最常见的键盘 布局如图2-1所示。一般由16个按键组成,在单片机中正好可以用一个 P 口实现 16个按键功能,这也是在单片机系统中最常用的形式。能实时在LED数码管上显示按键信息。显示按键信息,FB73EA62D951图2-1键盘布局2.2设计要求单片机的P1 口的P1.0P1.7连接4X4矩阵键盘,P0 口控制一只数码管, 当4X4矩阵键盘中的某一按键按下时,数码管上显示对应的键号。例如,1号键按下时,数码管显示“1” 14号键按下时,数码管显示“ E”等等。2
5、.3设计思想程序中将AT89C51单片机的引脚置高电平,单片机通过读取 IO引脚的电平, 在根据读取的数据去查找数组中相应的按键值,然后在送到数码管也就是P0 口去 显示.(AT89C51单片机通过IO 口来读取键盘的电平,再通过程序来查找对应的 数值,在送到数码管去显示)。需要设备如下AT89C51单片机:处理设备LED数码管:输出设备4X4矩阵键盘:输入设备3硬件电路设计3.1单片机控制系统原理图3-1单片机控制系统原理框图3. 2单片机主机系统电路AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。内 部自带2K字节可编程FLASH存储器的低电压、高性能COM八位微
6、处理器,与In tel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储 器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、 造价最低廉、效率最高的微控制系统,省去了外部的RAM ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。AT89C51AT89C51 是一种带 4K 字节 FLASH存储器(FPEROFlash Programmable and Erasable Read Only Memory )的低电压、高性能 CMOS 8位微处理器,俗称 单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器
7、的单片 机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示10AT89C51PI .0P1.1PI 2P1.3P1.4P13PI .6P1.7RSTP3 O/RXD P3.1/TXDP3 .27TNTOP3.3/INTr pj.4rro P3 S/TlP3.6WR P3
8、.7/SbXTAL2XTAL1GKDVCC器器PO.PO.器XPSEMP2,7P2.-6P2.5P2-4P2.3P2-2P2JP2.O4039Ts373635T13332Ti30272671图3-2外形及引脚排列主要特性:与MCS-51兼容 4K字节可编程FLASH存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0HZ-24MHZ三级程序存储器锁定 128X8位内部RAM 32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明:VCC供电电压。GND接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收
9、 8TTL门电流。当P0 口的管脚第一次写 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 口缓冲器
10、可接收,输出4个TTL门电流,当P2 口被写“ 1”时,其管脚被内部上拉电阻拉高, 且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制 信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL门电流。当P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。
11、作 为输入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为 AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD (串行输入口)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
12、当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数 据存储器时,将跳过一个ALE脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置0。此时,ALE只有在执行 MOVX MOVC旨令是ALE才起作用。另外, 该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问
13、外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPF)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大 器可以配置为片内振荡器。石晶陶瓷振荡均可采用。如采用外部时钟源驱动 器件,XTAL2应不接。有余输入至内部
14、时钟信号要通过一个二分频触发器, 因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。AT80C5119 2Q671617ISP1.Q P1-1P1-2 P1需P1.4PI-5P1.6P1.7 R5TPl D RXD PH 1 TXD P3.2ETP3 4T0 P3.5.-T1 P3_6 WK PM 丁 RD XTaT 7 XTAL1GSD2 工2-2_2-92-2_ PPPPPPPPJP121图3-3 单片机主机系统图321时钟电路时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种 电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡
15、器 的高增益反向放大器,引脚XTALI和XTAL2分别是此放大电器的输入端和输出端, 由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用 这种方式,如图3-3所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了 内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐 振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图3-3中外接晶体以及电容C2和C3构成并联谐振电路,它们起稳定振荡频 率、快速起振的作用,其值为 30pF左右,晶振频率选11.0592MHz。3.2.2复位电路为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后 可使CPU及系
16、统各部件处于确定的初始状态,并从初始状态开始正常工作。单片 机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平, 单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH 堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清 0,内部RAM勺 状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况, 即上电复位和手动(开关)复位。本系统采用上电复位方式。图3-2中R1和Cl组成上电复位电路,其值 R取为1KQ, C取为10pF。3.2.3单片机最小
17、系统其作用主要是为了保证单片机系统能正常工作。如图3-2所示,单片机最小系统主要由AT89S51单片机、外部振荡电路、复位电路和+5V电源组成。在外部 振荡电路中,单片机的 XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个 30PF电容构成的振荡电路两侧,为电路提供正常的时钟脉冲。 在复位电路中,单 片机RESET管脚一方面经20 F的电容接至电源正极,实现上电自动复位,另一 方面经开关s接电源。其主要功能是把 PC初始化为0000H,是单片机从0000H 单元开始执行程序,除了进入系统的初始化之外,当由于程序出错或者操作错误 使系统处于死锁状态时,为了摆脱困境,也需要按复位键重新启动
18、。因此,复位 电路是单片机系统中不可缺少的一部分。1316|30pfC111.0592 I1C3PL0vccP1.1POOP1.2P0.1PL3P0 2P1.4P0.3P1.5PO.+P1.6P0 5P1.7PO.6RSTPO.7P3,(XRXDEAP3 1.TXDALEP3 2INT0PSENPM3 瓦ITP2,7P3ATCP2.6P3.5.T1P2.5P3 6 WKP2 4P3.7.KDP2.3XTALJ2P2.2XTAL1P2,lGNDP2.0AT89C?!图3-4单片机最小系统3.3矩阵式键盘电路AT89C51单片机的并行口 P1接4X 4矩阵键盘,以P1.0 P1.3作输入线,以P1
19、.4-P1.7作输出线;P1 口输出按键信息,在数码管上显示每个按键的“0-F”序号。 实际电路图连接如图3-4所示。图3-5 矩阵式键盘电路3.4显示电路译码电路中常用的显示器有 LED(数码管)和LCD(液晶显示器)。这两种显 示器都具有线路简单、耗电少、成本低、寿命长等优点。本系统输出结果选用2个LED显示。数码管有共阴共阳之分,本系统采用8段共阴型LED其原理图如图3-6所示。数码管内部有8个发光二极管,公共端由8个发光二极管的阴极并接而成, 正常显示时公共端接低电平(GND),各发光二极管是否点亮取决于 a-dp各引脚上 是否是高电平。LED数码管的外形结构如图3-6,外部有10个引
20、脚,其中3, 8脚为公共端也 称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字 (0-9 中的一个)必须在这个数码管的段选端加上与数字显示数字对应的 8位段选码(也 称字形码),在位选端加上低电平即可。由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经 济。LED有共阴极和共阳极两种。如图3-1所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳 极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个 发光二极管构成字型“ 8”的各个笔划(段)ag,另一个小数点为dp发光二极 管。当在某段发光二极管施加一定的正向电压时,
21、该段笔划即亮;不加电压则暗。1-a01 b01 I1C 0do1 | b|-e01 I 7P2.7P2.6P2.5P2-*P2J5P2.2P2.1P2.0图3-7显示电路当无按键闭合时,P1.0-P1.3与P1.4-P1.7之间开路。当有键闭合时,与闭合键 相连的两条I/O 口线之间短路。判断有无按键按下的方法是:第一步,置列线P1.4-P1.7为输入状态,从行线P1.0-P1.3输出低电平,读 入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线 P1.4-P1.7读入数据,若有某一列为 低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是
22、键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功 能操作,否则按一次键,有可能会连续多次进行同样的键操作。由于本显示电路功能简单,为使编程简单,采用直接输出模式,即把P0.0- P0.7端口用8芯排线连接到数码显示模块区域中的 a- h端口上,要求:P0.0对应着a, P0.1对应着b,P0.7对应着h0表3-2 LED显示段码字型共阳极段共阴极段字型共阳极段共阴极段0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空
23、白FFH00H880H7FHP8CH73H单片机大作业软件设计4.1软件流程图4软件设计图4-1 软件设计流程图4.2源程序#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned intcodeuchartable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;定义显示段码uchar nu m,temp;void delay(uchar k)/ 定义延时函数uchar i,j;for(i=k;i0;i-)for
24、(j=110;j0;j-);void disp(char num1) 定义显示函数P0=tablenum1;将段码值送入 P0 口显示char keysca n()定义键盘检测函数P仁0xfe; 给P1 口送检测信号11111110,即先检测第一列有无按键被按下(key1key4)temp=P1;将检测信号赋给变量temptemp=temp&0 xf0; 与11110000相“与”去除低四位检测部分while(temp!=0xf0)判断是否有按键被按下,即key1-key4有任意按键被按下temp便不等于0xffdela y( 5);/按键防抖动延时(时间要求不严格)while(temp!=0
25、xf0)延时之后再次判断temp=P1;进入函数说明有按键被按下,再将p1值赋给temp进行判断是哪位被按下switch(temp)/利用 switch 函数判断 temp值case 0xee:/若P0等于0xee,即11101110,则由判断为0的位被按下即第四位(最低位),则应赋值num为0;num=0;break;同理判断其为第三位被按下(该行第二位)case Oxde:/11O1111Onum=1num=1;break;case Oxbe:/num=2;break;case 0x7e:/num=3;break; while(temp!=0xf0)temp=P1;temp=temp&0x
26、f0;同上贝U num=2同上num=3判断按键是否松开,循环判断直至按键松开P仁0xfd;给P1 口再次送检测信号11111101,来检测第二列有无按键被按下(key5key8),以下几步同上temp=P1;temp=temp&0 xf0;while(temp!=0xf0)delay(5);while(temp!=0xf0)temp=P1;switch(temp)case Oxed: num=4;break;case Oxdd: num=5;break;case Oxbd: num=6;break;case 0x7d: num=7;break; while(temp!=OxfO)temp=P1; temp=temp&OxfO;P仁Oxfb;/给P1 口再次送检测信号11111011,来检测第三列有无按键被按下(key9key12),以下几步同上temp=P1;temp=temp&0 xfO;while(temp!=OxfO)delay(5);whi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国建设银行宁夏回族自治区分行校园招聘180人备考题库含答案详解(黄金题型)
- 2026山东潍坊银行招聘备考题库及答案详解(名校卷)
- 2025浙江泰隆商业银行金华武义支行招聘备考题库附答案详解(考试直接用)
- 2026农银金融资产投资有限公司校园招聘15人备考题库有答案详解
- 2026“梦工场”招商银行乌鲁木齐分行寒假实习生招聘备考题库含答案详解(考试直接用)
- 负载分布优化实施方案
- 个性化眼健康管理干预方案设计
- 2025广东中山市港口镇新港社区招聘合同制工作人员1人备考题库完整参考答案详解
- 个性化手术方案设计:从临床需求到技术创新
- 2025厦门银行漳州分行社会招聘备考题库及完整答案详解1套
- 脊柱侧弯疑难病例汇报
- 前庭性眩晕的护理查房
- 投标部门组建方案(3篇)
- 幼儿园群众信访管理制度
- 儿童流感科普课件
- T/CIDA 0012-2022引黄微灌工程技术规范
- T/CAS 612-2022碳中和管理体系要求
- 车机联控标准课件
- 2025智慧病区建设及评价规范
- 无人机的行业应用
- 中国青瓷艺术鉴赏知到课后答案智慧树章节测试答案2025年春丽水学院
评论
0/150
提交评论