NIOS II 学习--第五课 RTC
0赞
发表于 12/15/2010 1:59:16 PM
阅读(3066)
一、DS1302介绍
DALLAS公司的高性能低功耗、带RAM的实时时钟芯片,具有闰年补偿功能,工作电压在2.5V---5.5V,内部具有一个31字节的用于临时存放数据的静态RAM寄存器。在电路中一般采用的是外接晶振的方式,32.768KHZ。
该芯片共有8个管脚,其中VCC2为主电源,VCC1为备用电源。当VCC2大于VCC1 0.2V时由VCC2给芯片供电,而当VCC2小于VCC1时,由VCC1给芯片供电。因而可在VCC1端接上备用电池,这样在系统断电后,芯片仍然能工作。
DS1302的输出数据采用的是8421编码,因此在读取到芯片的数据后,要进行处理后,才能送往显示单元进行显示。
二、硬件开发
在SOPC中添加三个PIO模块即可,但是数据端口要设置为双向口,sclk和rst设置为输出即可。
三、软件开发
在NIOS II IDE中建立一个RTC的工程,DS1302的驱动参考了C51的驱动。格式基本一样。需要注意的是:
- 读数据时:先发8位指令码,然后在sclk的周期内读取数据,指令码和数据都是低位在前,高位在后。
- 写数据时:在sclk的上升沿连续送出16位数据,其中8位地址,8位数据。
- DS1302的应用流程如下:

四、调试
编写测试函数,把读取的时间显示出来或者发送到串口,通过串口调试助手来观察结果是否正常。
五、参考资料
1、黑金动力社区 《NIOS II 那些事儿》
2、wang1jin带您从零学单片机—DS1302.Pdf www.wang1jin.com/n-919.html
