




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
<<单片机原理及应用课程设计报告>>题目:键盘按键识别及LED数码显示 学院:工程学院专业:自动化班级:1101班姓名:指导教师:2021年12月19日目录1课程设计的任务与要求....................................12课程设计总体分析介绍....................................13各局部工作电路的详细介绍................................3参考书目................................................11附录....................................................12第1节课程设计的任务与要求课程设计题目与要求1.课程设计题目:键盘按键识别及LED数码显示2.课程设计要求:〔1〕画出组成局部电路图〔2〕画出程序流程图,设计程序并通过检查〔3〕用语言表达工作原理,连接方式及用途等1.2课程设计目的及内容1.目的:按键是单片机常用的输入设备,操作人员可以通过按键输入指令和数据。在使用按键是单片机要正确识别按键是否被按下和按下的次数等状态,才能正确执行相关操作。本实验要实现对按键状态的正确检测并显示相关内容。2.内容:〔1〕根据独立式键盘的特点,进展键盘控制系统的整体研究与设计。〔2〕LED实时显示按键信息〔显示按键号〕。〔3〕通过编写程序实现按键信息的提取和显示。课程设计系统总体分析介绍2.1显示局部本设计显示局部是利用动态显示实现的,LED数码管采用共阳极接法。LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极三极管增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,单片机对位选通COM端电路的控制,所以数码管的选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.2键盘模块设计本设计键盘局部我是利用4按键的独立式键盘与8155芯片PC口直接相连实现的,即键盘由8155的PC口扩展出来的。设计电路时,将4个按键与和8155PC口连接,按下按键通过8155芯片传送给CPU,CPU存运算处理键盘信息由8位LED显示屏显示出来。键盘是计算机系统中最常用的输入设备对于一些需要人为干预的单片机应用系统,键盘成为人机交互联系的必要手段。按键按照构造原理可分为两类:一类是触点式开关按键,如机械开关、导电橡胶开关等;另一类是无触点式开关按键、磁感应按键等。但单片机应用系统中大多采用机械式。对于一个键盘或一组按键,单片机系统中总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无按键输入并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。机械式按键在按下或释放时,由于弹性作用也影响,通常伴随较短时间的触点机械抖动,抖动的时间一般是5-10ms,这种现象称为键抖动。在理想和实际状态下按键产生的电压波形如下所示。理想按键电压波形实际按键电压波形键抖动使按键一次按下或释放被错误地认为是屡次操作,这种情况是不允许出现的,所以要采用一些方法来消除抖动。一是硬件方法:可采用在键输出端加R-S触发器〔双稳态触发器〕或单稳态触发器构成去抖动电路;二是软件方法:在按键的按下和释放时采用软件延时的方法来消除。常用两种方法:一是用专用硬件电路来识别,把这种键盘成为编码键盘;另一种方法是利用软件方法来识别,把这种键盘成为非编码键盘。键码的识别可采用随机扫描、定时扫描,或中断扫描方式来完成。P0口LED显示电路PA口AD口8155PB口PC口89C51P0口LED显示电路PA口AD口8155PB口PC口89C51根据上述工作原理,我画出该系统的总框图,设计总框图如下:三极管三极管键盘键盘电路设计总框图各局部电路详细的介绍1.工作原理:显示局部的设计我是利用LED数码管动态显示实现的,LED数码管采用共阳极接法。LED数码管与8155芯片PA口、PB口直接连接。将键盘输入信息通过芯片8155送入到89C51中,对信息进展运算处理,将处理后的数据输入到8155中,再分别通过PA口段选信号、PB口位选信号传送给LED,从而控制LED发亮,并显示设置的信息。芯片介绍〔1〕8155芯片a.8155的主要引脚功能如下:=1\*GB3①地址/数据线AD0~AD7:地址和数据复用线,8位;=2\*GB3②CE:片选线,低电平有效。=3\*GB3③RD和WR:读/写线,控制8155的读、写操作。=4\*GB3④IO/M:RAM或I/O口的选择线。=5\*GB3⑤ALE:地址锁存线,高电平有效。=6\*GB3⑥TMRIN:定时/计数器的脉冲输入端。=7\*GB3⑦TMROUT:定时/计数器的输出信号端。=8\*GB3⑧RESET:复位线,通常与单片机的复位端相连。=9\*GB3⑨PA0~PA7、PB0~PB7:为A、B口输入/输出线;PC0~PC5:为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。PA1PA2PA1PA2PA3PA4PA5PA6PA7PA0PB1PB2PB3PB4PB5PB6PB7PB0PC1PC2PC3PC4PC5PC0AD1AD2AD3AD4AD5AD6AD7AD0TIMEINTIMEOUTALEIO/MRESETRDWRCE8155三态地址/数据复用线端口A,I/O线外设CPU地址锁存线外设8155三态地址/数据复用线端口A,I/O线外设CPU地址锁存线外设RAM及IO选择端口B,I/O线RAM及IO选择端口B,I/O线复位端复位端读选通信号线读选通信号线端口C,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状态字存放器是两个存放器,分别存放命令字和状态字。命令字格式如下:D7D6D5D4D3D2D1D0A口方式B口方式0=输入1=输出0001101100011011C口方式B口根本I/O口,C口输入B口根本I/O口,C口输入A口选通I/O,B口根本I/O口,C口做联络信号和输出B选通I/O口,C联络信号A、B根本I/O口,C口输出A口中断0=中断制止B口中断1=中断允许定时器方式00定时器方式0001101100=无操作00=无操作01=停顿计数10=计满后停顿11=开场计数状态字格式如下:XD6D5D4D3D2D1D0INTRA中断请求BFAA口缓冲器满INTEAA口中断允许INTRAB口中断请求BFBB口缓冲器满TNTEBC口中断请求TIMER1=计数器满回0或定时器中断0=读出状态字或复位〔2〕LED显示器与接口LED显示器:由8个发光二级管组成,用来显示数字和字符,也称数码管。=1\*GB3①数码管构造数码管的引脚和笔段排列如下列图〔a〕所示数码管的8个发光二极管连接方法有两种。一是共阳极接法,如图〔b〕所示;另一种是共阴极接法,如下列图〔b〕所示。=2\*GB3②数码管驱动电路LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,显示出需要的数字,因此LED数码管的驱动方式可以分为静态式和动态式两类。在这个设计中我采用动态驱动的方法。PA口PA口......AD口AD口81558155PB口8个三极管 PB口8个三极管PC口PC口连接方式及原理:本设计是采用动态显示接口原理实现的,LED采用共阳极构造。LED数码管的段选线并联在一起与8155芯片的PA口连接;数码管的位选线〔公共端〕经过8个三极管与8155芯片的PB口连接。将键盘输入信息通过芯片8155送入到89C51中,对信息进展运算处理,将处理后的数据输入到8155中,再分别通过PA口段选信号、PB口位选信号传送给LED,从而控制LED发亮,并显示设置的信息。〔1〕流程图如下:YN显示子程序入口动态显示初始化10H→动态显示初始化10H→R0;7FH→R38155初始化,A、B置成输出方式位选码送8155B口位选码送8155B口取待显示数据,查表转换相应的字形码从取待显示数据,查表转换相应的字形码从8155B口输出延时1ms延时1ms显示缓冲区指针加1显示缓冲区指针加18位显示完?8位显示完?显示下一位返回(2)显示程序如下:显示缓冲区60H~67HMOVDPTR,#0200HMOVA,#03HMOVX@DPTR,AMOVR0,#60HMOVR3,#0FEHMOVR3,#0FEHMOVR7,#08HINCDPTRLOOP:MOVA,@R0ADDA,#24HMOVCA,@A+PCMOVX@DPTR,AMOVA,R3INCDPTRMOVX@DPTR,ALCALLDELAYRLAMOVR3,ADECDPLDECDPLINCR0DJNZR7,LOOPRETDELAY:MOVR4,#0FHDEL1:MOVR6,#0FHDJNZR6,$DJNZR4,DEL1RETTAB:DB0C0H0F9H0A4H0B0H键盘接口电路连接方式及工作原理:我设计的是4只按键的独立式键盘,该键盘是由芯片8155的PC口扩展出来的。每只按键连接一个I/O线,每个按键相互独立。当某一按键按下时,它对应的I/O线的电平变成低电平,产生的按键信号送给CPU存储计算,通过逻辑运算,通过8155芯片PA、PB口送至LED显示按键信息。芯片8155的信息参照前面的介绍。键盘电路图如下:KEY3KEY0KEY1KEY2KEY3KEY0KEY1KEY2键盘电路程序及流程图KEY〔1〕流程图如下:KEY有按键闭合吗有按键闭合吗延时调用子程序 N延时调用子程序二次调用延时子程序,延时20ms Y二次调用延时子程序,延时20ms有按键闭合吗有按键闭合吗NY判别闭键号有按键释放吗有按键释放吗N键号送累加器AY键号送累加器A返回返回RETKEY0:MOVR7,#08HRETKEY0:MOVR7,#08HMOVR0,#60HMOVA,#00HDONE0:MOV@R0,AINCR0DJNZR7,DONE0AJMPLOOPKEY1:MOVR7,#08HMOVR0,#60HMOVA,#01HDONE1:MOV@R0,AINCR0DJNZR7,DONE1AJMPLOOPKEY2:MOVR7,#08HMOVR0,#60HMOVA,#02HDONE2:MOV@R0,AINCR0DJNZR7,DONE2AJMPLOOPKEY3:MOVR7,#08HMOVR0,#60HMOVA,#03HDONE3:MOV@R0,AINCR0DJNZR7,DONE3AJMPLOOPMOVDPTR,#0200HMOVA,#03HMOVX@DPTR,AINCDPTRINCDPTRINCDPTRMOVXA,@DPTRCPLAANLA,#0FHJZLOOPLCALLDELMOVXA,@DPTRCPLAANLA,#0FHJZLOOPLOOP2:MOVXA,@DPTRCPLAANLA,#0FHJNZLOOPAJMPLOOP3LOOP1:MOV30H,AAJMPLOOP2LOOP3:MOVA,30HJBACC.0,KEY0JBACC.1,KEY1JBACC.2,KEY2JBACC.3,KEY3LOOP:RETDEL:MOVR6,#0FHDJNZR6,$DJNZR4,DEL4.键盘实现的功能:按下KEY0键:LED屏幕全部显示“0〞按下KEY1键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论