基于SPI总线的时钟芯片应用程序设计 论文.doc

基于SPI总线的时钟芯片应用程序设计 论文.doc

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于SPI总线的时钟芯片应用程序设计 论文

引言 SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息[]。外围设备包括 FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS (有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。由于SPI系统总线一共只需3~4位数据线和控制线即可实现与具有SPI总线接口功能的各种I/O器件进行接口,而扩展并行总线则需要8根数据线、8~16位地址线、2~3位控制线,因此,采用SPI总线接口可以简化电路设计,节省很多常规电路中的接口器件和I/O口线,提高设计的可靠性。由此可见,在MCS51系列等不具有SPI接口的单片机组成的智能仪器和工业测控系统中,当传输速度要求不是太高时,使用SPI总线可以增加应用系统接口器件的种类,提高应用系统的性能。 实时时钟是微机测控系统中的一个重要组成部分。美国Dallas公司推出的串行接口实时时钟芯片DS1302提供备用电源输入引脚,使器件能用非可重新充电电池任务用电源。该芯片以其体积小、功耗低、使用简单、接口容易、与单片机连线少为主要特点,同时具有较高的精度,能很好满足微机测控系统的要求[] . 1 方案选择 随着单片机以及周边器件的发展,元件与芯片之间短距离通信的物理线路过多成为应用系统设计的一个很大的问题。为此,芯片设计者的措施是既致力于开发新的串行总线协议,又在不同部件之间陆续制定一些新的通信标准。在次情况下SPI串行总线协议被推出。 由于SPI串行总线连线较少,线结构简单,所以被广泛应用在消费电子类产品,通信产品,仪器仪表及工程控制系统中。这个优势使很多半导体公司开发支持该总线协议的各种功能芯片。 基于SPI的时钟芯片应用程序设计,这个题目是关于单片机的一个软件和硬件相结合的一个题目。支持SPI总线的时钟芯片很多,此次设计拟采用美国DALLAS公司生产的实时时钟芯片DS1302和ATM公司的51系列单片机作为核心部件来实现实时时钟的实现,通过LED或者LCD显示出来。外加4个独立式按键来进行时间调整。图1.1为我的设计框图: 图1.1 系统设计原理图 2 按键部分设计 2.1 独立式按键的硬件结构 独立式按键电路如图1所示。 图.1按键电路 图按键[3]。 消除抖动的方法有两种:硬件消抖和软件消抖。 本设计中采用软件消抖,调用延时,执行一段大于10ms的延时子程序躲过暂态抖动过程,再读取稳定的键状态。因此我们采用了一段12ms的延时子程序。12ms延时子程序如下所示。 DELAY: ;延时子程序 MOV R6,#18H DEL0: MOV R7,#0FFH DEL1: DJNZ R7,DEL1 DJNZ R6,DEL0 RET ;延时子程序结束,返回到调用处的下一句[2]。 2.4 独立式按键的软件结构 在此次按键设计中,采用查询方式判断是否有键按下。当判断出是哪个键按下之后,就执行这个按键的功能程序。 在本次的设计中,我们采用独立式按键独立式按键是指直接用一根I/O口线构成单个按键电路。每个独立式按键占有一根I/O口线,每根I/O口线上的按键的工作状态不会影响其他I/O口线的工作状态。设置四个按键,按键一(接P2.0口),用来实现停止时间开光标 按键二(接P2.1口),它的功能用来实现光标右移按键三(接P2.2口)的功能是光标位的数值加”1”按键四(接P2.口)的功能是去光标同时调用写DS1302程序,将刚才所设置的时间写进时钟芯片KEY: PUSH PSW CLR RS0 CLR RS1 LCALL KS ;调用判断有无键按下子程序 JNZ K11 POP PSW ;有键按下时,转消抖延时 RET ;无键按下返回 K11:LCALL DELAY ; 调用12ms子程序 LCALL KS ;查有无键按下,若有则真有键按下 JB ACC.0,K0 ;检测0号键是否按下,停止,开光标 JB ACC.1,K1 ;光标移位 JB ACC.2,K2 ;加一键

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档