单片机原理及应用-MCS-51系列单片机组成原理.pptVIP

单片机原理及应用-MCS-51系列单片机组成原理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按题目要求可知:A口应工作在方式0,输出;B口应工作在方式0,输入。而当A口、B口都工作在方式0时与C口无关,则工作方式控制字可以是:1000×01×B。其中“×”表示可为1,也可为0。 由此可见,这种情况下方式控制字不唯一,具体有四种情况:82H、83H、8AH、8BH。若我们选择方式控制字为82H,则初始化程序段如下: MOV DPTR,#21BH;DPTR指向8255A控制端口 MOV A,#82H ;工作方式控制字82H送A MOVX @DPTR,A;将工作方式控制字写入8255A控制端口 (2)可编程并行接口芯片8155A的扩展应用 1)主要特性 8155A为Intel公司的另一种可编程并行I/O接口芯片。它具有二个8位和一个6位I/O口,以及256个字节静态RAM、一个14位计数器。它与单片机的接口简单,在单片机系统中应用广泛。 2)内部结构 8155A的内部结构如图6-21所示 。见下页 图6-21 8155A的结构框图 3)引脚功能 4)控制字和状态字(见下页) 图6-23 8155A命令寄存器格式 图6-24 8155A状态标志寄存器格式 INTRA BFA INTEA INTRB BFB INTB TIMER × D0 D1 D2 D3 D4 D5 D6 D7 5)内部定时器(8155A定时器的格式如下 ) 图6-26 8155A定时器输出方式 8155A定时器的格式中M2、M1用于设置定时器的输出方式,具体如图所示。 6)8031与8155A的接口电路 由于8155A内部设有地址锁存器,因此,它与8031的接口电路非常简单,不需任何附加电路。图6-27(见下页)是8031与8155A的一种接口电路,其RAM和I/O口的地址分配如下: 数据存储器的地址:7E00H~7EFFH I/O口的地址: 命令/状态寄存器 7FF8H PA口 7FF9H PB口 7FFAH PC口 7FFBH 定时器低8位 7FFCH 定时器高8位 7FFDH 图6-27 8031与8155A接口电路 分析:设8155A的A口、B口为基本输入输出方式,A口为输入,B口为输出,定时器输出连续方波,输入脉冲24分频,则8155A的初始化程序段为: MOV DPTR,#7FFCH ;写计数初值低8位 MOV A,#18H MOVX @DPTR,A INC DPTR ;写定时器高6位和工作方式 MOV A,#40H ;定时器为连续方波输出 MOVX @DPTR,A MOV DPTR,#7FF8H MOV A,#0C2H ;置命令控制字:A口基本输入,B口基本输出 MOVX @DPTR,A ;启动定时器 2.分支结构程序设计 在实际应用中,不可能所有程序都是直线运行的,相反,多数情况都需要根据不同的条件进行不同的处理,这就会使程序跳转到不同位置去执行,这种结构的程序称为分支结构程序。MCS-51单片机中条件转移指令、比较转移指令、位转移指令等都可实现程序分支。 【例4】求单字节带符号数的补码。设该单字节数在累加器A中,求出的补码存于寄存器B中。 源程序清单: ORG 0200H BEGIN: J NB ACC.7,L1 MOV C,ACC.7 MOV 00H,C CPL A ADD A,#1 MOV C,00H MOV ACC.7,C L1: MOV B,A END 【例5】单字节十六进制数转换为ASCⅡ码。设被转换的数在B中,转换后的ASCⅡ码放在R7R6中。 ORG 2000H MAIN: MOV A,B ;取被转换数据 SWAP A ;取高4位 ANL A,#OFH SUBB A,#0AH ;高4位〈0AH吗? JC L1 ;是,转L1 ADD A,#7 ;否,加7 L1: ADD A,#30H ;加30H ADD A,#0AH ;原来减掉0AH,再加回来 MOV R7,A ;保存高4位对应的 MOV A,B ;转换低4位 ANL A,#OFH SUBB A,#0AH JC L2 ADD A,#7 L2: ADD

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档