单片机键盘显示课程设计报告.doc_第1页
单片机键盘显示课程设计报告.doc_第2页
单片机键盘显示课程设计报告.doc_第3页
单片机键盘显示课程设计报告.doc_第4页
单片机键盘显示课程设计报告.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

题 目:键盘按键识别及LED数码显示 学 院: 工程学院 专 业: 自动化 班 级: 1101班 姓 名: 指导教师: 2013年12月19日 目 录1课程设计的任务与要求.12课程设计总体分析介绍.13各部分工作电路的详细介绍.3参考书目.11附录.12第1节 课程设计的任务与要求1.1 课程设计题目与要求 1.课程设计题目:键盘按键识别及LED数码显示 2.课程设计要求:(1)画出组成部分电路图 (2)画出程序流程图,设计程序并通过检查 (3)用语言表达工作原理,连接方式及用途等1.2 课程设计目的及内容 1.目的: 按键是单片机常用的输入设备,操作人员可以通过按键输入指令和数据。在使用按键是单片机要正确识别按键是否被按下和按下的次数等状态,才能正确执行相关操作。本实验要实现对按键状态的正确检测并显示相关内容。 2.内容:(1)根据独立式键盘的特点,进行键盘控制系统的整体研究与设计。 (2)LED实时显示按键信息(显示按键号)。 (3)通过编写程序实现按键信息的提取和显示。第2节 课程设计系统总体分析介绍2.1 显示部分本设计显示部分是利用动态显示实现的,LED数码管采用共阳极接法。LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极三极管增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,单片机对位选通COM端电路的控制,所以数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.2 键盘模块设计 本设计键盘部分我是利用4按键的独立式键盘与8155芯片PC口直接相连实现的,即键盘由8155的PC口扩展出来的。设计电路时,将4个按键与和8155PC口连接,按下按键通过8155芯片传送给CPU,CPU存运算处理键盘信息由8位LED显示屏显示出来。键盘是计算机系统中最常用的输入设备对于一些需要人为干预的单片机应用系统,键盘成为人机交互联系的必要手段。 1.按键的分类 按键按照结构原理可分为两类:一类是触点式开关按键,如机械开关、导电橡胶开关等;另一类是无触点式开关按键、磁感应按键等。但单片机应用系统中大多采用机械式。 2.键输入原理 对于一个键盘或一组按键,单片机系统中总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无按键输入并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。 3.键抖动和消抖方法 机械式按键在按下或释放时,由于弹性作用也影响,通常伴随较短时间的触点机械抖动,抖动的时间一般是5-10ms,这种现象称为键抖动。在理想和实际状态下按键产生的电压波形如下所示。 理想按键电压波形 实际按键电压波形键抖动使按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的,所以要采用一些方法来消除抖动。一是硬件方法:可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路;二是软件方法:在按键的按下和释放时采用软件延时的方法来消除。 4.键码识别常用两种方法:一是用专用硬件电路来识别,把这种键盘成为编码键盘;另一种方法是利用软件方法来识别,把这种键盘成为非编码键盘。键码的识别可采用随机扫描、定时扫描,或中断扫描方式来完成。2.3电路设计总框图P0口LED显示电路 PA口AD口 8155 PB口 PC口89C51 根据上述工作原理,我画出该系统的总框图,设计总框图如下:三极管 键盘 电路设计总框图第3节 各部分电路详细的介绍3.1单片机显示电路 1. 工作原理:显示部分的设计我是利用LED数码管动态显示实现的,LED数码管采用共阳极接法。LED数码管与8155芯片PA口、PB口直接连接。将键盘输入信息通过芯片8155送入到89C51中,对信息进行运算处理,将处理后的数据输入到8155中,再分别通过PA口段选信号、PB口位选信号传送给LED,从而控制LED发亮,并显示设置的信息。2. 芯片介绍 (1)8155芯片 a. 8155的主要引脚功能如下: 地址/数据线AD0AD7:地址和数据复用线,8位; CE:片选线,低电平有效。 RD和WR:读/写线,控制8155的读、写操作。 IO/M:RAM或I/O口的选择线。 ALE:地址锁存线,高电平有效。 TMRIN:定时/计数器的脉冲输入端。 TMROUT:定时/计数器的输出信号端。 RESET:复位线,通常与单片机的复位端相连。 PA0PA7、PB0PB7:为A、B口输入/输出线; PC0PC5:为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。PA1PA2PA3PA4PA5PA6PA7PA0PB1PB2PB3PB4PB5PB6PB7PB0PC1PC2PC3PC4PC5PC0AD1AD2AD3AD4AD5AD6AD7AD0TIMEIN TIMEOUTALEIO/MRESETRDWRCE8155引脚封装图及功能如下图8155三态地址/数据复用线端口A,I/O线外设CPU地址锁存线外设RAM及IO选择端口B,I/O线复位端读选通信号线端口C,I/O线 写选通信号线 片选线定时/计数器输出端 b. 8155与MCS-51单片机的连接 由于8155的多数信号与MCS-51单片机兼容,所以8155与MCS-51单片机的连接比较简单。因为8155内部包括了地址锁存器,所以它的地址复用线AD7-AD0可以与MCS-51P0口线直接相连,不需加锁存器。 c. 8155作为拓展I/O口使用 8155作为拓展I/O口使用时,I/O引脚必须置高电平。通过8155的命令状态字寄存器设定命令来选择8155的I/O口。8155状态字寄存器是两个寄存器,分别存放命令字和状态字。命令字格式如下: D7 D6 D5 D4 D3 D2 D1 D0A口方式 B口方式 0=输入 1=输出00011011C口方式A、 B口基本I/O口,C口输入A口选通I/O,B口基本I/O口, C口做联络信号和输出A、 B选通I/O口,C联络信号A、B基本I/O口,C口输出A口中断 0=中断禁止B口中断 1=中断允许定时器方式0001101100=无操作01=停止计数10=计满后停止11=开始计数状态字格式如下: X D6 D5 D4 D3 D2 D1 D0INTRA中断请求BFAA口缓冲器满INTEAA口中断允许INTRAB口中断请求BFBB口缓冲器满TNTEBC口中断请求TIMER1=计数器满回0或定 时器中断0=读出状态字或复位 (2)LED显示器与接口 LED显示器:由8个发光二级管组成,用来显示数字和字符,也称数码管。 数码管结构 数码管的引脚和笔段排列如下图(a)所示 数码管的8个发光二极管连接方法有两种。一是共阳极接法,如图(b)所示;另一种是共阴极接法,如下图(b)所示。 数码管驱动电路 LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,显示出需要的数字,因此LED数码管的驱动方式可以分为静态式和动态式两类。在这个设计中我采用动态驱动的方法。 3.动态显示电路图PA口 .AD口8155 PB口8个三极管PC口连接方式及原理:本设计是采用动态显示接口原理实现的,LED采用共阳极结构。LED数码管的段选线并联在一起与8155芯片的PA口连接;数码管的位选线(公共端)经过8个三极管与8155芯片的PB口连接。将键盘输入信息通过芯片8155送入到89C51中,对信息进行运算处理,将处理后的数据输入到8155中,再分别通过PA口段选信号、PB口位选信号传送给LED,从而控制LED发亮,并显示设置的信息。 4.显示电路程序及流程图 (1)流程图如下: Y N 显示子程序入口 动态显示初始化10HR0;7FHR38155初始化,A、B置成输出方式 位选码送8155B口取待显示数据,查表转换相应的字形码从8155B口输出 延时1ms显示缓冲区指针加1 8位显示完? 显示下一位 返回 (2)显示程序如下: 显示缓冲区60H67H MOV DPTR,#0200H MOV A,#03H MOVX DPTR,A MOV R0,#60H MOV R3,#0FEH MOV R7,#08H INC DPTRLOOP:MOV A ,R0 ADD A,#24H MOVC A,A+PC MOVX DPTR,A MOV A,R3 INC DPTR MOVX DPTR,A LCALL DELAY RL A MOV R3,A DEC DPL DEC DPL INC R0 DJNZ R7,LOOP RETDELAY:MOV R4,#0FHDEL1:MOV R6,#0FH DJNZ R6,$ DJNZ R4,DEL1 RET TAB:DB 0C0H 0F9H 0A4H 0B0H 3.2键盘接口电路1. 连接方式及工作原理:我设计的是4只按键的独立式键盘,该键盘是由芯片8155的PC口扩展出来的。每只按键连接一个I/O线,每个按键相互独立。当某一按键按下时,它对应的I/O线的电平变成低电平,产生的按键信号送给CPU存储计算,通过逻辑运算,通过8155芯片PA、PB口送至LED显示按键信息。芯片8155的信息参照前面的介绍。键盘电路图如下:KEY3KEY0KEY1KEY23. 键盘电路程序及流程图KEY (1)流程图如下:有按键闭合吗延时调用子程序N二次调用延时子程序,延时20msY有按键闭合吗 N Y 判别闭键号 有按键释放吗 N 键号送累加器A Y 返回 RETKEY0:MOV R7,#08H MOV R0,#60H MOV A,#00HDONE0:MOV R0,A INC R0 DJNZ R7,DONE0 AJMP LOOPKEY1:MOV R7,#08H MOV R0,#60H MOV A,#01HDONE1:MOV R0,A INC R0 DJNZ R7,DONE1 AJMP LOOPKEY2:MOV R7,#08H MOV R0,#60H MOV A,#02HDONE2:MOV R0,A INC R0 DJNZ R7,DONE2 AJMP LOOPKEY3:MOV R7,#08H MOV R0,#60H MOV A,#03HDONE3:MOV R0,A INC R0 DJNZ R7,DONE3 AJMP LOOP (2) 键盘程序如下: MOV DPTR,#0200H MOV A,#03H MOVX DPTR,A INC DPTR INC DPTR INC DPTR MOVX A,DPTR CPL A ANL A,#0FH JZ LOOP LCALL DEL MOVX A,DPTR CPL A ANL A,#0FH JZ LOOPLOOP2:MOVX A,DPTR CPL A ANL A,#0FH JNZ LOOP AJMP LOOP3LOOP1:MOV 30H,A AJMP LOOP2LOOP3:MOV A,30H JB ACC.0,KEY0 JB ACC.1,KEY1 JB ACC.2,KEY2 JB ACC.3,KEY3 LOOP:RET DEL:MOV R6,#0FH DJNZ R6,$ DJNZ R4,DEL4.键盘实现的功能: 按下KEY0键:LED屏幕全部显示“0” 按下KEY1键:LED屏幕全部显示“1” 按下KEY2键:LED屏幕全部显示“2” 按下KEY3键:LED屏幕全部显示“3”3.3 电路整体框图 参下页附录3.4 电路总工作过程:当某一按键按下时,它对应的I/O线的电平变成低电平,产生的按键信号由PC口通过芯片8155送入到89C51中,对信息进行逻辑运算处理,将处理后的数据输入到8155中,再分别通过PA口段选信号、PB口位选信号传送给LED,从而控制LED发亮,并显示设置的按键信息。3.5 总结及心得 首先想说:沈老师,谢谢您!这是一次不同的设计经历,在为期一周的单片机课程设计中,我从刚开始对设计电路图和程序一窍不通到现在能完全掌握电路工作原理并能设计定义程序,和您对我们严厉的要求以及不耐其烦地指导密不可分。不光理论知识得到了强化,实践动手能力也被大大增强了,此外我对课程设计的流程也更熟稔了。其实,刚拿到这个设计时我很苦恼感觉到无从下手,从内心来说不愿意去研究,但正是您的鼓励和严格的要求让我拥有动力去学习研究,这个中的收获甚至无法用语言形容。当听到您说我编写的程序是正确的时候我简直欣喜

温馨提示

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

评论

0/150

提交评论