- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章_AT89S51单片机接口的扩展
任何时候都可设置计数器长度和工作方式,将控制字写入控制寄存器。如果计数器正在计数,只有在写入启动命令后,计数器才接收新计数长度并按新的工作方式计数。 若写入计数器的初值为奇数, 引脚的方波输出是不对称的。例如,初值为9时,计数器的输出,在5个计数脉冲周期内为高电平,4个计数脉冲周期内为低电平,如图9-8所示。 图9-8 计数长度为奇数时的不对称方波输出(长度为9) * 注意,81C55的计数器初值不是从0开始,从2开始。这是因为,如果选择计数器的输出为方波形式(无论是单方波还是连续方波),则规定是从启动计数开始,前一半计数输出为高电平,后一半计数输出为低电平。显然,如果计数初值是0或1,就无法产生这种方波。因此81C55计数器的写入初值范围是3FFFH~2H。 如果硬要将0或1作为初值写入,其效果将与送入初值2的情况一样。81C55复位后使计数器停止计数。 * 9.2.3 AT89S51单片机与81C55的接口设计及软件编程 1.硬件接口电路 接口如图9-9所示。直接连接不需外加器件。 * 图9-9 AT89S51单片机与81C55的接口电路 在图9-9中,单片机P0口输出的低8位地址不需要另外加锁存器(81C55片内集成有地址锁存器),而直接与81C55的AD0~AD7相连,既可作为低8位地址总线,又可作为数据总线,地址锁存控制直接用AT89S51发出的ALE信号。 81C55的 端接P2.7,IO/ 端与P2.0相连。当P2.7=0时,若P2.0=0,则访问81C55的RAM单元。由此可得到图9-19中81C55的各端口以及RAM单元的地址编码,见表9-4。 * * 2.81C55的编程 根据图9-9接口,介绍对81C55的具体操作。 初始化程序设计 【例9-6】若PA口定义为基本输入方式,PB口定义为基本输出方式,对输入脉冲进行24分频(81C55计数器的最高计数频率为4MHz),则81C55的初始化程序如下START: MOV DPTR,#7F04H;DPTR指针指向计数器低8位 MOV A,#18H ;计数初值24送A MOVX @ DPTR,A ;计数初值低8位装入计数器 INC DPTR ;指向计数器高8位 * MOV A,#40H ;计数器为连续方波输出 MOVX @ DPTR,A ;计数初值高6位装入计数器 MOV DPTR,#7F00H ;指向命令/状态口 MOV A,#0C2H ;设定命令控制字 MOVX @ DPTR,A;A口基本输入,B口基本输出,开启计数 【例9-7】读81C55的7EF1H单元。程序如下: MOV DPTR,#7EF1H;DPTR指针指向81C55的7EF1H单元 MOVX A,@DPTR ;7EF1H单元内容→A * 【例9-8】将立即数41H写入81C55 RAM的7E20H单元。程序如下: MOV A,#41H ;立即数→A MOV DPTR,#7E20H;DPTR指针指向81C55的7E20H单元 MOVX @DPTR,A;立即数41H送81C55 RAM的7E20H单元 81C55既有RAM又有I/O口,此外,还有计数器。在同时需要扩展RAM 、I/O和计数器的系统中,选用81C55特别经济,是单片机系统中常用的外围接口芯片之一。 * 9.3 利用74LSTTL电路扩展并行I/O口 在单片机应用中,有些场合需要降低成本、缩小体积,这时采用TTL电路、CMOS电路锁存器或三态门电路也可构成各种类型的简单输入/输出口。 如图9-10所示为一个利用74LS244和74LS273芯片,将P0口扩展成简单的输入/输出口的电路。 74LS244作为扩展输入口,8个输入端分别接8个按钮开关。74LS273是8D锁存器扩展输出口,接8个LED发光二极管,以显示8个按钮开关状态。 * 图9-10 74LSTTL I/O扩展举例 当某条输入口线的按钮开关按下时,该输入口线为低电平,读入单片机后,其相应位为“0”,然后再将口线的状态经74LS273输出,某位低电平时二极管发光,从而显示出按下的按钮开关的位置。 该电路的工作原理如下。 当P2.0=0, =0( =1)时,选中74LS244芯片,此时若无按钮开关按下,输入全为高电平。当某开关按下时则对应位输入为“0”,74LS244的输入端不全为“1”,其输入状态通过P0口数据线被读入AT89S51片内。 * 当P2.0?=?0, =1 ( ? =?0)时,选中74LS273芯片,CPU通过P0口输出数据锁存到74LS273,74LS273的输出端低电平位对应的LED发光二极管点
您可能关注的文档
- 第5章 广播电视语言符号系统构成.ppt
- 第5课、开辟新航路PPT课件.ppt
- 第6章 STC89C52单片机定时计数器.ppt
- 第7版-小儿心力衰竭.ppt
- 紊流射流与紊流扩散要素.ppt
- 第5讲-DSP应用系统设计.ppt
- 第6课“文化大革命”课件.ppt
- 第7章 抽样与抽样分布(2012修改)(统计学PPT).ppt
- 第6课糖尿病.ppt
- 第7章 干燥.ppt
- 开学典礼上校长的讲话稿.pptx
- 2025年山西省临汾市行政职业能力测验题库汇编.docx
- 2025年山东胜利职业学院单招(语文)测试题库审定版.docx
- 2025年山西省晋中市单招(语文)测试模拟题库1套.docx
- 2025年常州工业职业技术学院单招(语文)测试模拟题库最新.docx
- 2025年山东药品食品职业学院单招语文测试题库有答案.docx
- 2025年山东英才学院单招(语文)测试题库往年题考.docx
- 2025年山西省运城市单招语文测试模拟题库完整.docx
- 2025年山西省吕梁市单招语文测试模拟题库及答案一套.docx
- 2025年山西省太原市行政职业能力测验模拟试题参考答案.docx
文档评论(0)