实时时钟DS1302原理与应用.pptVIP

  • 2
  • 0
  • 约1.44千字
  • 约 31页
  • 2019-01-04 发布于福建
  • 举报
实时时钟DS1302原理与应用

在许多的单片机系统中,通常进行一些与时间有关的控制,这就需要使用实时时钟。例如在测量控制系统中,特别是长时间无人值守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。在系统中采用实时时钟芯片能很好的解决这个问题。 ; ;4.3.1 DS1302简介;; 图4-3-1示出DS1302的实物图及引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。; ;4.3.2 DS1302的寄存器和控制命令;表4-3-1 日历、时钟寄存器及其控制字对照表;表4-3-2 DS1302内部主要寄存器功能表; ; ;4.3.3 DS1302的读写时序; ;图43-3-3 DS1302数据读写时序图;4.3.4 DS1302应用;图4-3-4 DS1302和单片机连接示意图; 二、程序清单 此程序的结构和上述单闹钟程序结构一样,对功能进行了加强和扩展,部分程序进行了优化。其中,DS1302驱动程序包含在主程序中。 /******************************************************/ // 读取DS1302的时间,然后通过数码管显示 /******************************************************/ #includereg51.h #define uchar unsigned char uchar dot,time1[6],flash; unsigned int tt; code seven_tab[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; code bit_select[6] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf};; ; ; ; ; ; ; ; ;4.3.5指针; ; ;一、 指针与数组 数组的名字后面没有加上任何索引值时,就是指向数组开始位置的地址值,所以数组的名字也是指针。例如: char filename[80]; char *p; p=filename; 反之,指针也可以当成数组来使用,如下例所示。例如:int x[5]={1,2,3,4,5}; int *p,sum,i; p=x; //指针p存放数组x的开始地址 for(i=0;i5;i++) sum=sum+p[i]; ; 二、 指针的运算 (1)指针变量前面上*号就是取得指针所指向位置的内容。例如: int x[5]={1,2,3,4,5}; int *p; p=x; *p=10; (2)变量前面加上符号,可以取得一个变量的位置。例如: int x,y; int *p; p=x; *p=1; ;

文档评论(0)

1亿VIP精品文档

相关文档