a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告

a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告

ID:14200156

大小:227.50 KB

页数:53页

时间:2018-07-26

a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告_第1页
a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告_第2页
a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告_第3页
a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告_第4页
a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告_第5页
资源描述:

《a可编程并行接口实验二键盘实验 - 单片机原理及应用实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机与信息工程学院设计性实验报告专业:通信工程年级/班级:2011级2013—2014学年第一学期课程名称单片机原理及应用指导教师岳明本组成员学号姓名实验地点计科楼214实验时间周五3-4节项目名称8255A可编程并行接口实验二键盘实验实验类型设计性一、实验目的:1、掌握8255A编程原理。2、了解键盘电路的工作原理。3、掌握键盘接口电路的编程方法。二、实验设备:EL-8051-III型单片机实验箱三、实验原理:1、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如所读列值中某位为低电平,

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

3、,要学会灵活地对8255A的各端口进行方式设置。3、程序设计时,可将各键对应的键值(行线值、列线值)放在一个表中,将要显示的0~F字符放在另一个表中,通过查表来确定按下的是哪一个键并正确显示出来。实验题目利用实验箱上的8255A可编程并行接口芯片和矩阵键盘,编写程序,做到在键盘上每按一个数字键(0~F),用发光二极管将该代码显示出来。四、实验步骤:将键盘RL10~RL17接8255A的PB0~PB7;KA10~KA12接8255A的PA0~PA2;PC0~PC7接发光二极管的L1~L8;8255A芯片的片选信号8255CS接CS0。五、实验电路:六、程

4、序框图T8.ASM七、参考程序:T8.ASMNAMEt8;8255键盘实验PAEQU0CFA0HPBEQUPA+1PC0EQUPB+1PCTLEQUPC0+1CSEGAT4000HLJMPSTARTCSEGAT4100HSTART:MOV42H,#0FFH;42H中放显示的字符码,初值为0FFHSTA1:MOVDPTR,#PCTL;设置控制字,ABC口工作于方式0;AC口输出而B口用于输入MOVA,#82HMOVX@DPTR,ALINE:MOVDPTR,#PC0;将字符码从C口输出显示MOVA,42HCPLAMOVX@DPTR,AMOVDPTR,#PA

5、;从A口输出全零到键盘的列线MOVX@DPTR,AMOVDPTR,#PB;从B口读入键盘行线值MOVXA,@DPTRMOV40H,A;行线值存于40H中CPLA;取反后如为全零;表示没有键闭合,继续扫描JZLINEMOVR7,#10H;有键按下,延时10MS去抖动DL0:MOVR6,#0FFHDL1:DJNZR6,DL1DJNZR7,DL0MOVDPTR,#PCTL;重置控制字,让A为输入,BC为输出MOVA,#90HMOVX@DPTR,AMOVA,40HMOVDPTR,#PB;刚才读入的行线值取出从B口送出MOVX@DPTR,AMOVDPTR,#PA

6、;从A口读入列线值MOVXA,@DPTRMOV41H,A;列线值存于41H中CPLA;取反后如为全零JZSTA1;表示没有键按下MOVDPTR,#TABLE;TABLE表首地址送DPTRMOVR7,#18H;R7中置计数值16MOVR6,#00H;R6中放偏移量初值TT:MOVXA,@DPTR;从表中取键码前半段字节,行线值与实CJNEA,40H,NN1;际输入的行线值相等吗?不等转NN1INCDPTR;相等,指针指向后半字节,即列线值MOVXA,@DPTR;列线值与实际输入的列线值CJNEA,41H,NN2;相等吗?不等转NN2MOVDPTR,#CH

7、AR;相等,CHAR表基址和R6中的偏移量MOVA,R6;取出相应的字符码MOVCA,@A+DPTRMOV42H,A;字符码存于42HBBB:MOVDPTR,#PCTL;重置控制字,让AC为输出,B为输入MOVA,#82HMOVX@DPTR,AAAA:MOVA,42H;将字符码从C口送到二极管显示MOVDPTR,#PC0CPLAMOVX@DPTR,AMOVDPTR,#PA;判断按下的键是否释放CLRAMOVX@DPTR,AMOVDPTR,#PBMOVXA,@DPTRCPLAJNZAAA;没释放转AAAMOVR5,#2;已释放则延时0.2秒,减少总线负担

8、DEL1:MOVR4,#200DEL2:MOVR3,#126DEL3:DJNZR3,DEL3D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。