网站大量收购独家精品文档,联系QQ:2885784924

第八章功能器件应用.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 功能器件的应用 第一节 概述 第二节 实时时钟 第三节 串行方式的LED显示器接口 第四节 A/D与D/A转换接口 第五节 电路看门狗 本章要点 单片机应用系统的外围功能器件品种繁多,而且新的器件不断推出,不可能也不必要一一加以介绍,本章只选择一些典型的常用芯片,介绍它的使用方法。根据这些方法就能了解功能器件的使用要点。 使用功能器件主要是掌握它与单片机的连接,使用前的初始化,以及程序的编制方法,本章着重介绍串行扩展的程序的编制。 第一节 概述 1.功能器件是指一些为实现某种功能而设计的专用集成电路。 2.功能器件是为了解决片内功能的不足,需要在片外扩展,以满足单片机应用系统的功能需要。 3.功能器件的扩展方法有并行扩展或串行扩展两种。串行扩展由于所占用的I/O口少。特别适用于小控制系统。 并行扩展与串行扩展 并行扩展法是利用单片机的三总线(地址总线、数据总线和控制总线)与被扩展的器件相连接,接口与存储器统一编址。 串行扩展法有一线制、两线制和三线制等几种,其中两线制的 总线、三线制的SPI总线比较常用。 第二节 实时时钟 配置实时时钟,便于按时钟所提供的时间按时操作或按时记录。时钟芯片有并行和串行两种形式。 一、并行时钟 1.并行时钟硬件结构 2.DS12887A与单片机的连接方法 3.、DS12887A内存单元的地址分配 4.DS12887中寄存器A各位定义 5.DS12887中寄存器B各位定义 6.DS12887中寄存器C各位定义 7.DS12887中寄存器D各位定义 8. 初始化及写入程序 初始化是指时钟使用前根据使用要求对寄存器A、B进行设置,以决定时钟、日历的工作制式。以及通过程序对时钟、日历和闹钟当前时间进行初始化,俗称拨钟,以便将实时的秒、分、时和年、月、日值赋予00H-09H的10个时间单元。以DS12887A为例。 初始化部分 设置当前时间 二、串行实时时钟 1.硬件结构 串行时钟只需要一根数据线来读出或写入数据。 2.读写程序 DS1302的读写步骤 1.将RST置高。 2.写入带有地址和命令的控制字,控制字共8位。 D7必须为1,如果为0,不能写入。 D6即RAM/CK,0为存取日历时钟数据,1表示存取RAM数据。 D5至D1用来表示操作地址,7个日历、时钟寄存器的地址分别为00000~00110。 D0即RD/WR,若为0表示进行写操作,为1表示读操作。 控制字的值所代表的意义,可参看教材表8-6。 3.输入或输出数据时序 串行实时时钟的读写程序(通过调用子程序的方法) 1.启动子程序 ST02:CLR P1.0 ;SCLK置低 CLR P1.2 NOP SETB P1.2 ;~RST置高 RET 2.写入控制字为BF的子程序 WR02:MOV R7,#08H MOV A,#0BFH ;一次性写入控制字0BFH LP02:CLR P1.0 ;SCLK置低 RRC A MOV P1.1,C ;写入一位 NOP SETB P1.0 ;SCLK置高 NOP DJNZ R7,LP02 ;未写完8位继续 RET 3.串行实时时钟读出一个字节子程序 RD02: MOV R7,#08H LP021: CLR P1.0 ;SCLK置低 NOP MOV C,P1.1 ;读出一位 RRC A SETB P1.0 ;SCLK置高 NOP DJNZ R7,LP021 ;未读完8位继续 RET 4.结束子程序 STOP: CLR P1.2 ; 置高 NOP RET 5.读出秒、分、时、日、月、周日、年全部7个字节 LCALL ST02 ;启动 MOV A,#0BFH LCALL WR02 ;写入控制字 MOV R6,#07H MOV R0,#49H LP: LCALL RD02 ;读入一个字节 MOV @R0,A INC R0 DJNZ R6,LP ;7个字节未完继续 LCALL S

文档评论(0)

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

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

1亿VIP精品文档

相关文档