《单片机原理及接口技术》课件第十章 人机会话技术应用_第1页
《单片机原理及接口技术》课件第十章 人机会话技术应用_第2页
《单片机原理及接口技术》课件第十章 人机会话技术应用_第3页
《单片机原理及接口技术》课件第十章 人机会话技术应用_第4页
《单片机原理及接口技术》课件第十章 人机会话技术应用_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

第十章MCS-51单片机/人机对话系统的接口扩展技术

基本要求:熟悉常用接口电路硬件、软件的设计方法第一节简单I/O口的扩展一、用74LS373扩展8位并行输入口

图10-18031和74LS373的接口

8031的输入数据子程序:MOVDPTR,#0BFFFHMOVXA,@DPTR二、用74LS273和74LS244分别扩展8位并行I/O口

图10-2简单的输入输出接口

图10-2所示相应的地址为:输入口(74LS244)输出口(74LS273)P2口P0口P2口P0口××××××10××××××××B××××××01××××××××B0200H0100H注:考虑到输入操作时信号有效,输出操作时

有效,故图10-2中仅有一个输入/输出口时可以共用一个地址号,比如仅使用P2.0=0(低电平时)作为片选信号,则输入口与输出口的地址号为:×××××××0××××××××B,即为0000H从而可进一步简化线路。输入操作:MOVDPTR,#0200HMOVXA,@DPTR输出操作:MOVDPTR,#0100HMOVX@DPTR,A第二节简易键盘设计技术一、键盘硬件设计举例

图10-68155作键盘接口

如图10-6所示延时子程序:DIR:MOVR7,#0CH;延时6msDL;MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET判断是否有键闭合子程序:KSI:MOVDPTR,#0101H;建立A口地址

MOVA,#00H;A口送00HMOVX@DPTR,AINCDPTRINCDPTR;建立C口地址

MOVA,@DPTR;读C口

CPLA;A取反,无键按下则全0

ANLA,#0FH;屏蔽A高半字节

RET二、键盘软件设计键盘扫描程序KEY1:ACALLKS1;检查有键闭合否

JNZLK1;A非0则转移N1:ACALLDIR;调用显示子程序,延时6msAJMPKEY1;LK1:ACALLDIR;有键闭合二次延时

ACALLDIR;延时12ms去抖动

ACALLDIR;再检查有键闭合否

JNZLK2;有键闭合,转LK2ACALLDIR;AJMPKEY1;无键闭合,延时6ms后转KEY1LK2:MOVR2,#0FEH;;扫描初值送R2MOVR4,#00H;扫描列号送R4LK4:MOVDPTR,#0101H;建立A口地址

MOVA,R2;MOVX@DPTR,A;扫描初值送A口

INCDPTR;INCDPTR;指向C口

MOVXA,@DPTR;读C口

JBACC.0,LONE;ACC.0=1,第1行无键闭合,转LONEMOVA,#00H;装第1行行值

AJMPLKP;LONE:JBACC.1,LTWO;ACC.1=1,第2行无键闭合,转LTWO;MOVA,#08H;装第2行行值

AJMPLKPLTWO:JBACC.2,LTHR;ACC.2=1,第3行无键闭合,转LTHRMOVA,#10H;装第3行行值

AJNPLKP;LTHR:JBACC.3,NEXT;ACC.3=1,第4行无键闭合,转NEXTMOVA,#18H;装第4行行值LKP:ADDA,R4;计算键值

PUSHACC;保护键值LK3:ACALLDIR;延时6msACALLKS1;查键是否继续闭合,若闭合再延时

JNZLK3;POPACC;若键起,则键码送ARETNEXT:INCR4;扫描列号加1

MOVA,R2;JNBACC.7,KND;若第7位为0,则已扫描完最高行转KNDRLA;循环右移一位

MOVR2,A;AJMPLK4;进行下一列扫描KND:AJMPKEY1;扫描完毕开始新的一次第三节LED显示系统设计技术一、简易开关指示接口电路图10-10开关指示接口电路

程序如下:

ORG1000HMAIN:MOVDPTR,#3FFFH;建立控制端口地址

MOVA,#90H;控制字

MOVX@DPTR,A;写8255控制字

MOVDPTR,#3FFCH;建立A口地址

MOVXA,@DPTR;读A口

CPLA;取反

INCDPTR;建立B口地址

MOVX@DPTR,A;写B口

SJMP$END二、LED显示器硬件系统设计1.共阴极1.静态显示2.共阳极2.动态显示图10-136位动态显示器接口

假定位控口地址0101H,段控口地址0102H。以R0存放当前位控值,DL1为延时子程序。DIR:MOVR0,#79H;建立显示缓冲区首址

MOVR3,#01H;从右数第一位显示器开始

MOVA,R3;位控码初值LD0:MOVDPTR,#0101H;位控口地址

MOVX@DPTR,A;输出位控码

INCDPTR;得段控口地址

MOVA,@R0;取出显示数据DIR0:ADDA,#0DHMOVCA,@A+PC;查表取字形代码DIR1:MOVX@DPTR,A;输出段控码

ACALLDL1;延时

INCR0;转向下一缓冲单元

MOVA,R3JBACC.0,LD1;判是否到最高位,到则返回

RLA;不到,向显示器高位移位

MOVR3,A;位控码送R3保存

AJMPLD0;继续扫描LD1:RETDSEG:DB3FH,06H,5BH,4FH,66H,6DH;段数据表DSEG1:DB7DH,07H,7FH,6FH,77H,7CHDSEG2:DB39H,5EH,79H,71H,73H,3EHDSEG3:DB31H,6EH,1CH,23H,40H,03HDSEG4:DB18H,00H,00H,00HDL1:MOVR7,#02H;延时子程序DL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET三、键盘显示器综合应用实例图10-15键盘/显示器接口电路

第四节TP-μP40微型打印机的扩展应用技术

一、TP-μP40与8031的简单连接电路

图10-178031与微型打印机的简单连接电路

1.中断控制方式ORG0000HAJMPMAINORG0003HAJMPINT0ORG0500HMAIN:MOVSP,#42H;设置堆栈指针

MOVR0,#63H;需打印的数据长度

MOVR0,#20H;数据存放的首地址

SETBEA;开放CPU中断

SETBEX0;开放/INT0中断

SETBIT0;设置边沿触发中断

MOVXA,@R0;从存储单元取数

MOVP1,A;送至P1口

CLRP3.0;使/STB为低电平,启动打印机

STEBP3.0;使/STB为高电平

SJMP$ORG0100HINT0:INCR0;存储单元地址加1

MOVXA,@R0;取数

MOVP1,A;送至P1口

CLRP3.0;使/STB产生负脉冲

STEBP3.0DJNZR7,NEXT;判断数据是否送完

CLREX0;禁止/INT0中断NEXT:RETI2.查询方式控制ORG2000HMOVDPTR,#0BFFFH

MOVR0,#20H

MOVR6,#32HLOOP:MOVA,@R0MOVX@DPTR,A

STEBP0.7LOOP1:MOVXA,@DPTRJBACC.7,LOOP1

INCR0

DJNZR6,LOOP

SJMP$END图10-188031与微型TP-μP40的连接电路三、8255作为TP-μP40微型打印机的接口

图10-198255作打印机接口

MOVR0,#7FH;控制寄存器地址

MOVA,#88H;工作方式控制字

MOVX@R0,A;写入工作方式控制字TP:MOVR0,#7EH;C口地址TP1:MOVXA,@R0;读C口

JBACC.7,TP1;BUSY=1,继续查询

MOVR0,#7CH;A口地址

MOVA,@R1

温馨提示

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

评论

0/150

提交评论