课程设计8255A键盘输入_第1页
课程设计8255A键盘输入_第2页
课程设计8255A键盘输入_第3页
课程设计8255A键盘输入_第4页
课程设计8255A键盘输入_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计说明第14页共13页课题名称:微机原理设计一个16键的键盘系统专业班级: 学生姓名:第1章设计目的第2章设计原理与分析第3章所选元件清单第1章课程设计目的1. 了解键盘电路的工作原理。本实验要求在实验台上,用并行接口实验卡PPI8255为PC机扩展可编程并行接口;利用实验卡上的8位拨动开关提供输入数据,用 8个LED指示灯显示输出结果;用单脉 冲按钮PI提供输入选通脉冲/STBA模拟输入设备送数,用单脉冲按钮P0提供输出应答脉 冲/ACKA和 /ACKB模拟输出设备取数。2. 掌握键盘接口电路的编程方法。设计人机界面接口,要求在微机屏幕上动态地显示当前实验的内容和实验的结果, 包括82

2、55A的工作方式,输入的数据和输出的结果设计人机界面接口,要求在微机屏幕上,以菜单方式列出并行接口8255A原理实验的内容,并根据实验内容设置好工作方式选择跳线开关,用户可以通过键盘选择实验的 内容。方式08255 为方式0、A 口输入、B 口输出,可用无条件传送方式控制输入/出。 方式1其它要求同方式0,改用查询方式控制输入/出,用中断方式也可以,通过读取 C 口 的状态字来获取状态。方式2使A 口既能接受开关状态又能控制 LED指示灯显示;要求先接收 A 口的开关数据, 可用查询方式控制输入/出。第2章设计原理与分析2.1、实验原理:1、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是

3、使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如所 读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。本实验例程采用的是行反转法。行反转法识别键闭合时,要将行线接一并行口,先让它工作于输出方式,将列线也 接到一个并行口,先让它工作于输入方式,程序使 CPU通过输出端口往各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程 序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将 刚才读得的列线值从列线所接的并行端口输出,再读取行线上的输入值,那么,在闭合 键所在的行线上的值必定为0。这样,当一个键被按下时

4、,必定可以读得一对唯一的行线 值和列线值。2、程序设计时,要学会灵活地对8255A的各端口进行方式设置。可将各键对应的键 值(行线值、列线值)放在一个表中,将要显示的 0F字符放在另一个表中,通过查表 来确定按下的是哪一个键并正确显示出来。3、利用实验箱上的8255A可编程并行接口芯片和矩阵键盘,编写程序,做到在键盘 上每按一个数字键(0F),用发光二极管将该代码显示出来。2.2、实验步骤:将键盘 RL10RL17 接 8255A 的 PB0PB7; KA10 KA12 接 8255A 的 PA0PA2;PC0PC7接发光二极管的L1L8; 8255A芯片的片选信号8255CS接 CSd2.3

5、实验电路:y4t*图2-1实验电路图2.4程序框图:2.5程序接线图:图2-2程序框图键盘 RL10 接 8255A PBO 键盘 RL11 接 8255A PB1 键盘 RL12 接 8255A PB2 键盘 RL13 接 8255A PB3 键盘 RL14 接 8255A PB4 键盘 RL15 接 8255A PB5 键盘 RL16 接 8255A PB6 键盘 RL17 接 8255A PB7 键盘 KA10接 8255A PA0 键盘 KA12接 8255A PA1 键盘 KA12接 8255A PA28 键盘PC0发光二极管L1 键盘PC1发光二极管L2键盘PC2发光二极管 L3

6、键盘PC3发光二极管 键盘PC4发光二极管 键盘PC5发光二极管 键盘PC6发光二极管 键盘PC7发光二极管L4L5L6L7L88255A芯片的片选信号8255CS接 CS026参考程序:T8.ASMNAME t8 ;8255键盘实验PA EQU 0CFA0HPB EQU PA+1PCO EQU P B+1P CTL EQU P C0+1CSEG AT 4000HLJMP STARTCSEG AT 4100HSTART: MOV 42H,#0FFH ;42H中放显示的字符码,初值为 0FFHSTA1: MOV DPTR,#PCTL ;设置控制字,ABC口工作于方式0 ;AC口输出而B 口用于输

7、入MOV A,#82HMOVX DP TR,A将字符码从C口输出显示LINE: MOV DP TR,# PC0 ;MOV A,42HCPL AMOVX DP TR,A MOV DP TR,# PA ;MOVX DP TR,AMOV DP TR,# PB ;MOVX A,D PTRMOV 40H,A ;CPL A ;从A口输出全零到键盘的列线从B 口读入键盘行线值行线值存于40H中取反后如为全零;表示没有键闭合,继续扫描JZ LINE有键按下,延时10MS去抖动MOV R7,#10H ;DL0: MOV R6,#0FFHDL1: DJNZ R6,DL1DJNZ R7,DL0MOV DP TR,#

8、 PCTL ;MOV A,#90HMOVX DP TR,A MOV A,40HMOV DP TR,# PB ; MOVX DP TR,A MOV DP TR,# PA ; MOVX A,D PTR MOV 41H,A ;CPL A ; JZ STA1 ;重置控制字,让A为输入,BC为输出刚才读入的行线值取出从B 口送出从A口读入列线值列线值存于41H中取反后如为全零表示没有键按下MOV DPTR,#TABLE ;TABLE 表首地址送 DPTRMOV R7,#18H ;R7中置计数值16MOV R6,#00H ;R6中放偏移量初值TT: MOVX A,D PTR ;从表中取键码前半段字节,行线

9、值与实CJNE A,40H,NN1 ;际输入的行线值相等吗?不等转 NN1INC DP TR ;相等,指针指向后半字节,即列线值MOVX A,D PTR ; 列线值与实际输入的列线值CJNE A,41H,NN2 ;相等吗?不等转 NN2MOV DPTR,#CHAR ;相等,CHA表基址和 R6中的偏移量MOV A,R6 ;取出相应的字符码MOVC A,A+D PTRMOV 42H,A ;字符码存于42HBBB: MOV DPTR,#PCTL ;重置控制字,让 AC为输出,B为输入MOV A,#82HMOVX DP TR,AAAA: MOV A,42H ; 将字符码从C 口送到二极管显示MOV

10、DP TR,# PC0CPL AMOVX DP TR,AMOV DP TR,# PA ;判断按下的键是否释放CLR AMOVX DP TR,A MOV DP TR,# PBMOVX A,D PTRCPL AJNZ AAA ;没释放转 AAAMOV R5,#2 ;已释放则延时0.2秒,减少总线负担DEL1: MOV R4,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3DJNZ R4,DEL2DJNZ R5,DEL1 JMP START ;NN1: INC DPTR ;NN2: INC DPTR ;DJNZ R7,TT ;转 START指针指向后半字节即列线值指针指

11、向下一键码前半字节即行线值 表偏移量加一计数值减一,不为零则转TT继续查找INC R6 ;CHARJMP BBBTABLE:DW 0FE06H,0FD06H,0FB06H,0F706H;TABLE 为键值表,每个键位占DW 0BF06H,07F06H,0FE05H,0FD05H;两个字节,第一个字节为行DW 0EF05H,0DF05H,0BF05H,07F05H ;线值,第二个为列线值DW 0FB03H,0F703H,0EF03H,0DF03H;CHAR: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H ; 字符码表DB 0AH,0BH,0CH,0DH,0

12、EH,0FH,10H,11H,12H,13HDB 14H,15H,16H,17HEND第3章所选元件清单3.1元件清单:表3-1元件清单原件数量电源座178051IN40074100UF/16V1按键932.768KHZ112MHZ11UF电容5红色发光二极管5绿色发光二级管4数码管8DIP401DIP 161DIP 82DIP 20190139IN41484STC89C51或 STC89C52174HC244或 74LS2441MAX232124CO2110K排阻4100电阻81K电阻92K电阻110K电阻2单排针20.1UF电容215PF电容23.2程序实际接线数码管的不同笔段的组合构成了

13、不同字符的字形。为了获得不同的字形,各笔段所 加的电平也不同,因此各个字形所形成的编码是不一样的。例如,对于共阳极数码管, 如果要显示字符2,则笔段a b、g、e、d发光,对应的引脚为低电平;其余各笔段不发 光,对应的引脚为该电平。所以字符 2的字形编码为如dp gfedcba=10100100B=A4H。 阴极数码管的字形编码与用阳极数码管的字形编码是逻辑“非”的关系。根据上述编码 方法可以得出数码管显示的字符与对应的字形编码的关系,如表3-2所示表3-2数码表的字形编码表显乔孚符e共阴械编码d期日极編码显不字符共阴极编码卩共阳极编码门gCOHP8*'7IW30曲却0扯F9曲9-&#

14、39;5IW90曲EBHpJUHq2asH3门的IP附33H朋皿如凤54唱DH我g沁AlH少TDHPB3HPE屮T9曲3EH甲2CTHPFSHP71H<EEH*第4章课程设计心得通过这次单片机课设,我更加清晰的认识了到了单片机内的引脚。 单片机的40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。1.电源:VCC -芯片电源,接+5V;VSS -接地端;(用万用表测试单片机引脚电压一般为 0v或者5v,这是标准 的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0V-5V之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持 在0v或者5v。)2时钟:XTAL1、XTAL2 -晶体振荡电路反相输入端和输出端。3. 控制线:控制线共有4根,4. I/O 线:80C5

温馨提示

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

评论

0/150

提交评论