单片机原理及应用 作者 王景景 8.pptVIP

  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文档。上传文档
查看更多
第8章 接口技术基础 第8 章 单片机接口技术基础 8.1单片机系统扩展技术 8.2 常用输入/输出接口 8.3数模与模数转换器接口 8.4应用实例:99.99s秒表的设计 8.5习题 8.1单片机系统扩展技术 8.1.1单片机最小系统 8.1.2系统扩展的内容和方法 8.1.3程序存储器的扩展 8.1.4数据存储器的扩展 8.1.5 I/O口扩展 8.1.1单片机最小系统 1. 8051/8751最小应用系统 2. 8031最小应用系统 8.1.2系统扩展的内容和方法 程序存储器的扩展 数据存储器的扩展 I/O端口的扩展 前向通道扩展 后向通道扩展 1. MCS-51单片机的片外总线结构 (1) 数据总线DB 由P0端口提供,宽度为8位。 (2) 地址总线AB 宽度为16 位。地址总线的高8 位由P2端口提供,低8位由P0端口提供。 (3) 控制总线CB用于外部扩展的控制总线,包括 ALE、PSEN、WR、RD、EA。 由于P0端口是分时复用的数据/地址端口,通常在单片机的外部连接一片地址锁存器。 用作单片机地址锁存器的芯片一般有两类: 一类是8D触发器,如74LS273、74LS377等; 另一类是8位锁存器,如74LS373、8282等。 2. 片选和地址分配 8.1.3程序存储器的扩展 MCS-51的程序储存器寻址空间为64KB,其中805l/8751片内有4KB的ROM或EPROM,而8031片内无ROM。当片内ROM容量不够用或选用803l时,需要扩展外部程序存储器。而片内、片外的ROM空间是统一进行编址的。 2. 程序存储器的扩展方法 (1) 基本扩展方法 2. 程序存储器的扩展方法 (2) 用EEPROM扩展程序存储器 8.1.4数据存储器的扩展 8.1.5 I/O口扩展 1. 概述 2. 地址译码法 (1)线选法 (2)地址译码法 3. 用TTL芯片扩展并行I/O接口 C 语言参考程序如下: #include reg52.h #include absacc.h #define uchar unsigned char uchar i; void main (void) { i=XBYTE[0xFEFF]; XBYTE[0xFEFF]= i; } 4. 用串行口扩展并行 I/O 接口 单片机不与其它微处理器通信时,可将串口设定为方式0,工作在移位寄存器的输入/输出方式,外接移位寄存器(CD4094、74LS164、CD4014或74LS165)等芯片用于扩展并行I/O接口。8位串行数据是从RXD输入或输出的,TXD用来输出同步脉冲。 CPU将数据写入发送寄存器时,立即启动发送,将8位数据以fosc/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,中断标志TI由硬件自动置位。 8.2 常用输入/输出接口 8.2.1单片机与键盘的接口 1. 键盘的工作原理及消抖方法 (1) 键盘的工作原理 (2) 抖动的消除 2. 独立式键盘接口设计 3. 矩阵式键盘接口设计 1) 程序控制随机扫描方式   在这种方式下,键盘扫描是由程序控制的。通过编程控制单片机在空闲或需要由键盘输入数据时,调用键盘扫描子程序反复扫描键盘,直至用户从键盘上输入命令或数据后退出键盘扫描,此时再从键盘输入也无效,直到CPU再次进入键盘扫描状态为止。    为了防止一次按键多次识别键码的现象出现,在查出键号后,要等到确定按下的按键释放后的瞬间再将对应的键号保存处理。因此键盘扫描子程序应包含以下内容: 判别是否有键按下 判断按键键值 判断按键是否释放,如未释放则等待 按键释放后,保存键值并处理 返回 【例8-3】依照图8-16的电路编写键盘扫描子程序。 解:在判断键值时采用逐列扫描法。观察16个键的键值可以发现,每一行的4个键值依次增加1。若将列线自左至右编号为0,1,2,3,则一行上各键的键值为行首键的键值加上列线编号。故确定某行有键按下后,只要找出该行最左侧按键的键值,与当前列线的编号相加即可得到按键的键值。此例的程序流程图下图。 KEY1:ACALL KS1 ;调用判断有无键按下子程序 JNZ LK1;有键按下时,(A)≠0转消除抖动延时 AJMP KEY1 ;无键按下,返回 LK1:ACALL TM12ms ;调12 ms延时子程序 ACALL KS1 ;查有无键按下,若有则真有键按下 JNZ LK2 ;键(A)≠0逐列扫描 AJMP KEY1 ;若无键按下,

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档