ATMEGA48与DS1302组成的定时控制系统
 Atmel公司的ATMEGA48是一款高性能、低功耗的8 位AVR微处理器,使用先进的RISC 结构,大多数指令的执行时间为单个时钟周期,所以运算速度更快。两个具有独立预分频器和比较器功能的8 位定时器/ 计数器;一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器;具有独立振荡器的实时计数器RTC;六通道PWM;8路10 位ADC(TQFP 与MLF 封装)[ 6路10 位ADC( PDIP 封装)];可编程的串行USART 接口;可工作于主机/ 从机模式的SPI 串行接口;面向字节的两线串行接口;具有独立片内振荡器的可编程看门狗定时器;片内模拟比较器;引脚电平变化可引发中断及唤醒MCU等。
<P>    其具有的下面特点无论从编程、自编程和加密等方面都给用户提供了很大的方便。4K字节的系统内可擦写10,000 次的可编程Flash;具有独立锁定位的可选Boot 代码区,通过片上Boot程序实现系统内编程;256字节的擦写100,000 次的EEPROM;512字节的片内SRAM,可以对锁定位进行编程以实现用户程序的加密。</P>
<P>    Maxim公司的8脚串行实时时钟日历芯片DS1302,体积小、与单片机接口简单、工作电压范围宽(2.5~5.5V)、功耗低、接口容易、占用CPU I/O口线少、可对时钟芯片备份电池进行涓流充电等特点。所以应用方便,被很多设计者所青睐。</P>
<P>                    <IMG style="WIDTH: 350px; HEIGHT: 249px" height=249 alt=atmega48与ds1302的电路连接 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010223219115.gif" width=350 border=0></P>
<P>                                      图1  ATMEGA48与DS1302的电路连接</P>
<P><BR>    笔者利用这两种芯片,设计了实时时钟,实时数据采集和定时控制系统。现就DS1302与ATMEGA48的应用介绍给大家。</P>
<P>    由于ATMEGA48有可选的内部振荡器,所以只需接通电源即可;DS1302需要一个32768Hz的晶振,和一个备用电池。可以看出结构很简单(由于本文只介绍ATMEGA48和DS1302的应用,所以其余的显示电路和数据采集电路均省略。)。</P>
<P><STRONG>   ATMEGA48与DS1302的通讯程序(ASM)</STRONG></P>
<P> </P>
<P>                              <IMG style="WIDTH: 307px; HEIGHT: 129px" height=129 alt=ds1302的时序 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010223220176.gif" width=307 border=0><BR>                                                图2  DS1302的时序<BR>                           <IMG style="WIDTH: 300px; HEIGHT: 155px" height=155 alt=ds1302充电原理图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010223220682.gif" width=300 border=0></P>
<P>                                          图3  DS1302充电原理图</P>
<P>   DS1302的时序如图2。<BR><BR>   根据时序图,给出下面的读/写程序:<BR><BR>   读出数据子程序如下:<BR><BR>  ;sbi portd,7 ;假设调用子程序以前已经保持rst为高<BR>RDS:  clr r17   ;将取到的数据保存到R17中<BR>  ldi r24,8<BR>  sbi portd,6  ;sclk</P>
相关资讯