单片机与SD2405日历钟间I2C通讯汇编编程毕业设计论文.doc_第1页
单片机与SD2405日历钟间I2C通讯汇编编程毕业设计论文.doc_第2页
单片机与SD2405日历钟间I2C通讯汇编编程毕业设计论文.doc_第3页
单片机与SD2405日历钟间I2C通讯汇编编程毕业设计论文.doc_第4页
单片机与SD2405日历钟间I2C通讯汇编编程毕业设计论文.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华南理工大学毕业设计(论文)一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)课题依据由ATmega8515芯片和SD2405日历芯片所构建的智能日历钟,要读出日历芯片的年,月,日,星期,时,分,秒等内容是首要任务,SD2405日历芯片有一I2C串口,只能通过该串口进行。学生完成原始资料的消化,熟悉ATmega8515硬件及指令系统和SD2405日历芯片及I2C串口协议。完成日历芯片内容读取的汇编编程,调试,达到预期效果。二、参考文献1ATmega8515芯片资料 EB/OL 2SD2405芯片资料报讯 EB/OL 3 李勋,耿德根 AVR单片机应用技术 北京航空航天大学出版社4沈建良 Atmega 128单片机入门与提高 北京航空航天大学出版社5Jan Axelson 串行端口大全 中国电力出版社6何宏 单片机原理与接口技术 国防工业出版社7吴双利 AVR-GCC与AVR单片机C语言开发 北京航空航天大学出版社8武锋 PIC单片机C语言开发入门 北京航空航天大学出版社三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。)1、完成Atmega8515芯片硬件及指令系统的熟悉。2、完成SD2405芯片硬件及指令系统的熟悉。3、完成Atmega8515读取SD2405内容的C语言编程。4、编译并调试程序达到预期效果。5、写出有分析,有总结,有心得,数据资料详实的毕业论文。指导教师(签字)年 月 日审题小组组长(签字)年 月 日本科生毕业设计(论文)开题报告课题名称单片机与SD2405日历芯片I2C通讯汇编编程系 名 称信息工程系专业名称电子信息工程学生姓名赵勇指导教师扈书亮一、课题来源及意义二十一世纪的今天,随着微电子技术的高速发展,单片机以体积小、功能全、性价比高等诸多优点在工业控制系统,通信设备,日常消费类产品和玩具等领域得到了广泛的应用。数字时钟是采用数字电路实现对时、分、秒,数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度,远远生产生活带超过老式钟表,钟表的数字化给人们来了极大的方便,而且大大地扩展了钟表原先的报时 功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。2、 国内外发展现状随着目前微电子技术的发展,技术工艺的不断提高,单片机技术也有了长足的进步。单片机即单片微型计算机它是微型计算机的一个分支。单片机在最近几年中得到了极大的发展,目前世界范围内单片机发展的主要领域有4个:一是欧美,最新开发产品及主要厂商有:National semicundutor的cop8系列单片机,美国的Scenix的八位单片机,荷兰PHILIPS的51系列单片机,美国AMD公司186系列16位嵌入式微机控制器,MOTOROLA的各个系列单片机;二是日本,TOSHIBA公司开发了从4位到64位多系列单片机,日立公司也有从4位到32位多系列单片机,NEC公司的75X、78X系列微机;三是台湾地区,主要有WINBOND的W741/W516,W78/W77,等系列产品微控制器; 四是韩国,主要有HYUNDAI microelectrionics的Gms800,GMS30系列微控制器。另外还有LG公司也生产单片机,可见单片机发展到今天可以说种类繁多、性能各异。但目前我国的许多单片机应用单位仍停留在采用片内无ROM等低档单片机状态。三、研究目标数字时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子时钟。四、研究内容1、设计了日历时钟的硬件电路。设计合理的硬件电路来实现所需要的功能,其中包括光电血样扫描电路的设计,单片机(51)系统的设计,扫描步进机驱动电路的设计,键盘、显示部分设计等。2、编写针对该日历时钟的控制程序。包括显示时,分,秒程序、显示公历年,月,日,星期程序、按键修改程序等。3、对日历时钟的硬软件进行调试,实现准确地显示背景时间及公历日期,按键修改的功能。五、研究方法与手段设计方案:在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。过去多用并行接口的时钟芯片,它们已能完全满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂、占用地址, 数据总线接线多、芯片体积大占用空间多、近年来串行接口的各种芯片在单片机系统中应用愈来愈多,串行接口的实时时钟芯片也出现了不少,SD2405是一个综合性能较好且价格便宜的串行接口实时时钟芯片。利用单片机进行控制,采用SD2405作为实时时钟芯片,其I2C接口与单片机进行同步通信,外加显示电路、键盘电路,即构成一个基本的电子万年历系统,若还要添加其他功能,在这基础上外扩电路即可。六、进度安排1、2009.12.07-2010.03.15 查找资料,了解了SD2405时钟芯片,单片机的原理及应用,I2C通讯协议,完成开题报告。2、2010.03.16-2010.03.31 设计日历时钟的硬件电路3、2010.04.01-2010.04.15 编写日历时钟的控制系统程序4、2010.04.16-2010.05.09 对系统硬软件进行调试5、2010.05.10-2010.06.01 撰写论文,准备答辩。八、主要参考文献1ATmega8515芯片资料 EB/OL http:/.2SD2405芯片资料报讯 EB/OL http:/.3李勋,耿德根 AVR单片机应用技术 北京航空航天大学出版社.4沈建良Atmega128单片机入门与提高 北京航空航天大学出版社.5Jan Axelson 串行端口大全 中国电力出版社.6何宏 单片机原理与接口技术 国防工业出版社.7吴双利 AVR-GCC与AVR单片机C语言开发 北京航空航天大学出版社.8武锋 PIC单片机C语言开发入门 北京航空航天大学出版社.9何立民单片机应用文集,北京:北京航空航天大学出版社,1991,537210李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,2003.11公茂法单片机人机接口实例集,北京:北京航空航天大学出版社,1998.2,325912杨辉先.单片机原理及应用M.北京:人民邮电出版,2006.13MAXIMNEW RELEASES DATA BOOK (VOLUME V),AMERICA,199614AT89C51 DATA SHEEP Philips Semiconductors 1999.dec.选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适: 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日毕业设计(论文)说明书题目:单片机与SD2405日历钟间I2C通讯汇编编程系 名 信息系 专 业 电子信息工程 学 号 6009202354 学生姓名 赵 勇 指导教师 扈书亮 2013年月日摘要现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。本文由ATmega8515芯片和SD2405日历芯片所构建的智能日历钟,读出日历芯片的年,月,日,星期,时,分,秒。在这次设计中,我们采用LED数码管显示年,月,日,星期,时,分,秒。此次设计,电路具有显示时间的其本功能,还可以实现对时间的调整。数字时钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。关键字:ATmega8515单片机;SD2405日历芯片;LED数码管ABSTRACTGrowing emphasis on modern life played a concept of time, time and money can be said to equate. For those times very strict and accurate grasp of people and things, time will bring inaccuracies very big trouble, so as to display digital clock Analog clock ratio showed a great advantage. Digital display of time reading simple and fast, accurate time display to the second. The mechanical dependent on the crystal oscillator, may cause errors.This article from ATmega8515 chip and SD2405 calendar chip built smart calendar clock, calendar chip read-out the year, month, day, week, hours, minutes, seconds. In this design, we use LED digital tube display year, month, day, week, hours, minutes, seconds. In this design, the circuit has a display time of their principal function, but also can be achieved on time adjustments. Digital Clock is its compact, inexpensive, travel time and high precision, easy to use, multi-function, easy integration and loved by the majority of consumption, so it has been widely used.Key words:ATmega8515 microcontroller;SD2405 calendar chip;LED digital tube目录第一章绪论11.1引言11.2选题背景11.3本设计的主要任务1第二章整体设计方案硬件介绍32.1Atmega8515单片机简介32.1.1Atmega8515概述32.1.2ATmega8515引脚说明32.1.3ATmega8515单片机最小系统52.1.4AVR单片机与MCS51单片机相比的优点62.2SD2405芯片简介62.2.1SD2405概述62.2.2SD2405特性72.2.3SD2405管脚说明82.3电路连接图9第三章基于Atmega8515日历时钟软件电路的设计133.1IIC总线133.1.1串行IIC接口133.1.2数据/指令传输格式143.2SD2405寄存器173.3程序流程图18第四章总结与展望20参考文献21附录22外文资料中文译文致谢1华南理工大学毕业设计(论文)第一章绪论1.1引言单片机就是将中央处理器、随机存储器、中断系统、定时器、计数器以及I/O接口电路等各个部件集成到一个芯片上,单片机就是以此而得名。单片机是从20世界70年代问世以来,以极高的性能价格比,逐渐受到人们的重视和关注,其应用很广泛、发展速度也很快。它的有点主要有:体积小巧、功能丰富、价格便宜、使用便捷、系统设计也比较灵活。所以,它所具有的功能应用前景很美好,其实用性充分引起了我对毕业设计的兴趣。数字时钟是利用数字电路实现了对时期、时、分、秒等数字现实的计时装置,能使得数字时钟如此精确,是因为数字集成电路的发展和石英晶体振荡器的广泛应用。在现代化技术的发展中,离不开电子时钟的相关功能功能和原理,例如洗衣机等家用电器的自动化、学校的自动铃声、路灯的自动起闭模式、烟雾自动报警器等各种定时的自动装置等。上述都是以钟表数字化为基础的,同时也是控制的核心部分。因此研究数字时钟及扩大其应用是有着现实的重要意义的。1.2选题背景1957年,世界上第一块电子表诞生,奠定了电子时钟的基础,同时电子时钟便开始了迅速发展。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,从而达到计时的功能。 数字时钟已经成为人们日常生活中不可缺少的的必须品,随着人们生活环境的不断改善和美化,在许多场合可以看到数字时钟,其广泛地应用于家庭、车站、以及办公室、电影院等公共场所,给我们生活、工作、学习和娱乐带来了极大的方便。而数字时钟主要采用的是数字集成电路的技术,此技术是由先进的石英技术组成,它可以让是数字时钟走时比一般的石英表更加准确,其性能更加稳定,不会导致跳表,并且其机身小巧携带方便。数字时钟的突出功能在于计时、自动报时以及自动控制等各个领域。虽然在时间的设计上它更加精确;在硬件上也有所改进;闹钟的报时功能的改变;其机身体积也越来愈轻便。以上是它所拥有的特殊有点,但随着电子时钟的飞速发展,其功能可能越来越不能满足各类人士需求,所以我们尚需对其功能进行进一步的拓展。但目前市场上各式各样的LCD数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大等缺点。因此有必要对数字时钟进行改进。1.3本设计的主要任务依据由ATmega8515芯片和SD2405日历芯片所构建的智能日历钟,要读出日历芯片的年,月,日,星期,时,分,秒等内容是首要任务,SD2405日历芯片有一I2C串口,只能通过该串口进行。熟悉ATmega8515硬件及指令系统和SD2405日历芯片及I2C串口协议。完成日历芯片内容读取的汇编编程,调试,达到予期效果。第二章整体设计方案硬件介绍2.1Atmega8515单片机简介2.1.1Atmega8515概述ATmega8515是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega8515的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10 倍的数据吞吐率。ATmega8515有如下特点:8K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,512字节SRAM,一个外部存储器接口,35个通用I/O口线,32个通用工作寄存器,两个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及三个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。片内ISP Flash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。通过将8位RISC CPU与系统内可编程的Flash集成在一个芯片内,ATmega8515成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega8515具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。2.1.2ATmega8515引脚说明图2-1 ATmega8515引脚VCC:数字电路的电源。GND:接地引脚。端口A(PA7.PA0):端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口B(PB7.PB0):端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口C(PC7.PC0):端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。端口D(PD7.PD0):端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。端口E(PE2.PE0):端口E为3位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口E处于高阻状态。RESET:复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。XTAL1:反向振荡放大器与片内时钟操作电路的输入端。XTAL2:反向振荡放大器的输出端。2.1.3ATmega8515单片机最小系统图2-2ATmega8515单片机最小系统复位电路单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030uF,单片机最小系统容值越大需要的复位时间越短。单片机最小系统晶振X1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。单片机最小系统起振电容C1、C2一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。2.1.4AVR单片机与MCS51单片机相比的优点1. 速度快。AVR是精简指令集单片机,其速度可以达到1MIPS/秒,理论上是传统的51的12倍,实际上在10倍左右。2. 片上资源丰富。MEGA系列片上具备JTAG仿真和下载功能。片内含有看门狗电路、片内程序Flash、片内数据RAM、同步串行接口SPI、异步串口UART、内嵌AD转换器、EEPROM、模拟比较器、PWM定时计数器、TWI(IIC)总线接口、硬件乘法器、独立振荡器的实时计数器RTC、片内标定的RC振荡器等片内外设,可以满足各种开发需求。3. 驱动能力强。I/O口可以直接驱动数码管、LED、继电器等器件,节省很多外围电路,即节省开发难度,又降低成本。4. 功耗低。低功耗虽然比不上430单片机,但是在单片机中也是佼佼者。5. 可选择型号种类多。各种不同的型号可以满足不同的需求,让你的项目有很多的选择余地。6. 性价比高。在高性能的前提下,并没有增加芯片的价格,价格可以和51相比,而功能确是51不可以比的。2.2SD2405芯片简介2.2.1SD2405概述SD2405AP是一种内置晶振、充电电池、具有标准IIC接口的实时时钟芯片,CPU可使用该接口通过5位地址寻址来读写片内32字节寄存器的数据(包括时间寄存器、报警寄存器、控制寄存器、通用SRAM寄存器)。SD2405AP内置晶振,该芯片可保证时钟精度为5ppm(在251下),即年误差小于2.5分钟。SD2405AP内置充电电池及充电电路,在电池满充的情况下可保证内部时钟走时超过半年时间,累计电池电量超过550mAH,电池使用寿命为58年时间;内部具备电源切换电路,当芯片检测到主电源VDD 掉到充电电池电压以下,芯片会自动转为由充电电池供电。SD2405AP内置单路定时/报警中断输出,报警中断时间最长可设至100年。SD2405AP内置时钟精度数字调整功能,可以在很宽的范围内校正时钟的偏差(-189ppm+189ppm,分辨力为3.05ppm),并通过外置的温度传感器可设定适应温度变化的调整值,实现在宽温范围内高精度的计时功能。2.2.2SD2405特性1.低功耗:1.0A典型值(内部电池供电,Ta=25)。2.工作电压:3.6V5.5V,工作温度:-40+85。3.标准IIC总线接口方式,最高速度400KHZ(4.5V5.5V)。4.年、月、日、星期、时、分、秒的BCD码输入/输出,并可通过独立的地址访问各时间寄存器。5.闰年自动调整功能(从2000年2099年)。6.可选择12/24小时制式.7.内置年、月、日、星期、时、分、秒共7字节的报警数据寄存器及1字节的报警允许寄存器。8.内置12 字节通用SRAM寄存器可用于存储用户的一般数据。9.三种中断均可选择从INT脚输出,并具有两个中断标志位.10.可设定并自动重置的单路报警中断功能(时间范围最长设至100年),年、月、日、星期、时、分、秒报警共有96 种组合方式,并有单事件报警和周期性报警两种中断输出模式.11.周期性频率中断输出:从32768Hz1/16Hz1秒共十五种方波脉冲.12.自动重置的8位倒计时定时器,可选的4种时钟源(4096HZ、64HZ、1HZ、1/60HZ)。13.内置时钟精度数字调整功能,可通过程序来调整走时的快慢。用户采用外置的温度传感器,设定适应温度变化的调整值,可实现在宽温范围内高精度的计时功能。14.具备内部电源自动切换功能:芯片依据不同的电压自动从VDD切换到VBAT或从VBAT切换到VDD。15.在VBAT模式下,芯片具有中断输出允许或禁止的功能,可满足在备用电池供电时输出中断的需要。16.内置IIC 总线0.5秒自动复位功能(从Start命令开始计时),保证时钟数据的有效性及可靠性,避免IIC总线挂死问题。17.内置三个时钟数据写保护位,避免对数据的误写操作,可更好地保护时钟数据。18.内置VBAT模式IIC总线通信禁止功能,从而避免在电池供电时CPU 对时钟操作所消耗的电池电量,也可避免在主电源上、下电的过程中因CPU的I/O端口所输出的不受控的杂波信号对时钟芯片的误写操作,进一步提高时钟芯片的可靠性。19.内置上电复位电路及指示位。20.内置电源稳压,内部计时电压可低至1.5V。21.芯片管脚抗静电(ESD)4KV。22.芯片在兴威帆的评估板上可通过4KV的群脉冲(EFT)干扰。23.内置晶振,出厂前已对时钟进行校准,时钟精度为5ppm(在251下),即年误差小于2.5分钟。24.内置充电电池及充电电路,累计电池电量超过550mAH,电池使用寿命为58年时间。25.封装形式:16脚的DIP封装,SD2405API为工业级型号。2.2.3SD2405管脚说明图2-3SD2405管脚图表2-1SD2405AP 管脚功能表脚号名称功能特征1、5、6、7、16NC没有与芯片内部连接悬空或接地2TEST内部电池电压测试脚,其电池通过100K 电阻输出到该脚悬空(不可与其它脚相连,仅用于测试)8GND负电源(GND)9SDA串行数据输入/输出脚,此管脚通常用一电阻上拉至VDD,并与其它漏极开路或集电器开路输出的器件通过线与方式连接.N 沟道开路输出, CMOS 输入;当芯片由内部后备充电电池供电时,该引脚功能被禁止.10SCL串行时钟输入脚,由于在SCL 上升/下降沿处理信号,要特别注意SCL 信号的上升/下降升降时间,应严格遵守说明书。CMOS 输入. 当芯片由内部后备充电电池供电时,该引脚功能被禁止.11INT报警中断输出脚,根据控制寄存器来设置其工作的模式,它可通过重写控制寄存器来禁止.N-沟道开路输出12VDD正电源3.6V5.5V15VOUT3.3V 稳压输出脚可供电流30mA,电压精度3.3V2%2.3电路连接图(1)ATmega8515芯片电路图2-4ATmega8515芯片电路(2)SD2405时钟芯片电路图2-5SD2405时钟芯片电路(3)电源电路图2-6电源电路(4)复位和晶振电路图2-7复位和晶振电路(5)显示电路图2-7显示电路31第三章基于Atmega8515日历时钟软件电路的设计3.1IIC总线3.1.1串行IIC接口SD2405AP通过两线式IIC 串行接口方式接收各种命令并读写数据。两线式串行IIC接口方式描述如下:(1)开始条件当SCL 处于高电平时,SDA 由高电平变成低电平时构成一个开始条件,对SD2405AP 的所有操作均必须由开始条件开始。(2)停止条件当SCL处于高电平时,SDA由低电平变成高电平时构成一个停止条件,此时SD2405AP 的所有操作均停止,系统进入待机状态。图3-1实时时钟的串行接口(3)数据传输当SCL为低电平,且SDA线电平变化时,则数据由CPU传输给SD2405AP(高位在前、低位在后,下同);当SCL为高电平,且SDA线电平不变时,则CPU读取SD2405AP发送来的数据;当SCL 为高电平,且SDA电平变化时,SD2405AP收到一个开始或停止条件。图3-2实时时钟数据传输时序 (4)确认数据传输以8位序列进行。SD2405AP在第九个时钟周期时将SDA置位为低电平,即送出一个确认信号(Acknowledge bit,以下简称“ACK”),表明数据已经被其收到。图3-3实时时钟确认信号3.1.2数据/指令传输格式当CPU发出开始条件与实时时钟建立连接后,CPU首先通过SDA总线连续输出7位器件地址和1位读/写指令来唤醒SD2405AP.(1)器件代码:其中高7位BIT7BIT1称“器件代码”,它代表实时时钟的器件地址,固定为“0110010”;BIT0为读/写位,”1”为读操作,”0”为写操作。(2)数据传输格式:在数据发送/接收时停止信号到来时,将结束其数据传输,同时内部五位地址归零(注:内部五位地址的缺省值为00000B).如果只有开始信号,而没有结束信号,接着重新产生起始信号,则还要重新设置器件代码(在传输方向需要改变时,就用这种传输方式,如下面的读数据方式1).主设备向从设备写入数据过程图主设备向从设备直接读取数据过程图数据传输时改变其传输方向过程图(3)SD2405AP数据传输的写模式先送7位器件地址(0110010),第8位送入写命令(“0”),第9位是SD2405AP 的响应位(ACK),SD2405AP进入写状态;接下来一个字节,高3位是传输模式(写状态时,传输模式定义为”000”),低5 位确定SD2405AP 的内部地址(00H1FH),第9位是SD2405AP的响应位;开始写数据,每写完1个字节的数据之后,都经过1位的响应信号才能写下1字节的数据;如果要结束写数据过程,则在ACK后送出停止命令即可.SD2405AP写数据示例(向14H,15H 地址写数据):1除了WRTC1、WRTC2、WRTC3三个写允许位,对寄存器(00H1FH)的写操作必须确认芯片处于写允状态,否则写无效.2写时间同步:每次对实时时间寄存器的写操作时,都会对秒以下的内部计数器清零,使时间同步。3从当前地址开始,每次读写完一个字节地址自动加1直到1FH,读写完1FH后地址自动加1后为00h.4如果写入的时间数据不存在,则不改写相对应的时间寄存器的值.5为了提高数据的可靠性,当写完成后,应将芯片置于写禁止状态。(4)SD2405AP数据传输的读模式SD2405AP有两种读数据方法:I)读方法1:从指定的内部地址中读取数据与写模式的前两步一样;重新发出开始命令以改变两线接口数据传输方向;再送7位器件地址(0110010),第8位送入读命令(“1”),第9位是SD2405AP 的响应位(ACK),SD2405AP进入读状态;开始读数据,每读完1个字节的数据之后,CPU都要送出1位的响应信号(ACK,低电平)才能读下1字节的数据;如果想要结束读数据过程,则CPU要送出1位的响应信号(ACK_,高电平),ACK_后送出停止命令即可.SD2405AP读数据方法1示例(从7H9H 地址读取数据):II)读方法2:直接读取数据(从内部地址00h开始)开始信号后,先送7 位器件地址(0110010),第8位送入读命令(“1”),第9位是SD2405AP的响应位(ACK),SD2405AP进入读状态;每读完1个字节的数据之后,CPU都要送出1位的响应信号(ACK,低电平)才能读下1字节的数据;如果想要结束读数据过程,则CPU要送出1位的响应信号(ACK_,高电平),ACK_后送出停止命令即可.SD2405AP 读数据方法2示例(从00H 地址开始读取数据):3.2SD2405寄存器图3-1 SD2405寄存器列表 实时时钟数据寄存器是7字节的存储器,它以BCD 码方式存贮包括年、月、日、星期、时、分、秒的数据。 年数据06H地址(0099):设置千年(20XX)的后两位数字(0099),通 过自动日历功能计至2099年。(注意:2000年 为闰年) 月数据05H地址(0112): 每月包含的天数通过自动日历功能来更改。 1,3,5,7,8,10,12: 131 4,6,9,11: 130 2(闰年):129 2(普通):128 日数据04H地址(0131) 星期数据03H地址(0006):七进制计数器,00对应星期天,01对应星期一,依次类推. 小时数据02H地址(0023或0011):小时的最高位12_/24是12或24 小时制选择位。当12_/24=1时,24小时制;当12_/24=0时,12小时制。12小时制时,H20为AM/PM 指示位,H20=0为AM,H20=1为PM, 见下表:(位H20H10H8H4H2H1)当读取小时数据时,要屏蔽掉小时的最高位12_/24,否则在24小时制时会因为12_/24=1而显示不对.分数据01地址(0059)秒数据00H地址(0059)例如:设时间为2006年12月20日星期三18点19分20秒(24小时制),则寄存器0007H的赋值应分别为20h、19H、98h、03h、20h、12h、06h。要特别注意此处小时位的赋值,因为是24小时制式,小时的12_/24位=1,所以小时的赋值为98h(1001 1000B)。在上电复位时,芯片内部不对实时时钟数据寄存器作清零或置位处理。当芯片收到读实时时钟数据命令,则所有实时时钟数据被锁存(时钟走时并不影响),此功能可以避免时间数据的错读现象。3.3程序流程图第四章总结与展望数字时钟是采用数字电路实现对时、分、秒,数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度,远远生产生活带超过老式钟表,钟表的数字化给人们来了极大的方便,而且大大地扩展了钟表原先的报时 功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。参考文献1ATmega8515芯片资料 EB/OL http:/.2SD2405芯片资料报讯 EB/OL http:/.3李勋,耿德根 AVR单片机应用技术 北京航空航天大学出版社.4沈建良Atmega128单片机入门与提高 北京航空航天大学出版社.5Jan Axelson 串行端口大全 中国电力出版社.6何宏 单片机原理与接口技术 国防工业出版社.7吴双利 AVR-GCC与AVR单片机C语言开发 北京航空航天大学出版社.8武锋 PIC单片机C语言开发入门 北京航空航天大学出版社.9何立民单片机应用文集,北京:北京航空航天大学出版社,1991,537210李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,2003.11公茂法单片机人机接口实例集,北京:北京航空航天大学出版社,1998.2,325912杨辉先.单片机原理及应用M.北京:人民邮电出版,2006.13MAXIMNEW RELEASES DATA BOOK (VOLUME V),AMERICA,199614AT89C51 DATA SHEEP Philips Semiconductors 1999.dec.华南理工大学毕业设计(论文)附录程序代码/* 芯片:ATMEGA8515 晶振:晶振频率为11.0592MHz 指令周期:1.085069us*/#include #include #define uchar unsigned char#define uint unsigned int#define I2C_Speed 100000 #define SD2405_I2C_SDA_0 PORTB&=0xef /I2C data line output 0#define SD2405_I2C_SDA_1 PORTB|=0x10 /I2C data line output 1#define SD2405_SDA_INorOUT_1 DDRB|=0x10 #define SD2405_SDA_INorOUT_0 DDRB&=0xef#define SD2405_I2C_read PINB|0x10#define SD2405_I2C_SCL_0 PORTB&=0xdf /I2C clock line output 0#define SD2405_I2C_SCL_1 PORTB|=0x20 /I2C clock line output 1#define SD2405_SCL_INorOUT_1 DDRB|=0x20#define SD2405_SCL_INorOUT_0 DDRB&=0xdf#define Year (*(volatile unsigned char*)0x67) /YEAR 绝对寻址 0X67#define Month (*(volatile unsigned char*)0x66)#define Day (*(volatile unsigned char*)0x65)#define Week (*(volatile unsigned char*)0x64)#define Hour (*(volatile unsigned char*)0x63)#define Minute (*(volatile unsigned char*)0x62)#define Second (*(volatile unsigned char*)0x61)/uchar Year;/uchar Month;/uchar Day;/uchar Week;/uchar Hour;/uchar Minute;/uchar Second;void SD2405_Ack(void);void SD2405_init(void);void SD2405_Stop(void);void SD2405_Start(void);void SD2405_NoAck(void);void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论