• 大小: 28KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: PCF8563  

资源简介

基于单片机AT89S52实现PCF8563实时时钟日历,显示在6位数码管

资源截图

代码片段和文件信息

#include “at89s52.h“

#define  uint  unsigned int
#define  uchar unsigned char

#define  PORT_Duan    P0  //数码管段显
#define  PORT_Wei     P2  //数码管位显


uchar Sec_8563Min_8563Hou_8563Day_8563Week_8563Mon_8563Year_8563;  //时钟全局变量
//---PCF8563端口位定义---------------------------------
sbit sda_8563 = P1^0;
sbit scl_8563 = P1^1;
//----函数声明-------------------------------
void start_8563(void);
void stop_8563(void);
void write_8563(uchar data_8563);
uchar read_8563(void);
void Init_8563(void);
void Read_data_8563(void);
void Display_8563(uchar time_1uchar time_0);

void Display_Int(uint dat);


/******************************************/
uchar dat[6];    //用户数据输入口
uchar code DSY_d[]={   //字型码(段选码)0-9低电平有效
0xc00xf90xa40xb0
0x990x920x820xf8
0x800x90}; 
uchar code DSY_w[]={              //低电平有效
0xfe0xfd0xfb0xf7
0xef0xdf0xbf0x7f};  //位选信号
//计数函数
/* 动态扫描函数*/
uchar num  ;
void SEG_DSY( void )    //数码管显示函数
{
    PORT_Wei = PORT_Wei ;   //屏蔽高两位
PORT_Duan= 0Xff ;      //消隐
PORT_Duan  = DSY_d[ dat[num ]] ;  //显示段

PORT_Wei = 0XFF ;     //消隐
PORT_Wei= DSY_w[ num ] ;  //3位数码管
if( ++num == 6 ) num = 0 ;
}


void TIME_T1(void)
{
   TMOD = 0X10 ;
   TH1 = (65536-2000)/256 ;   // 2ms
   TL1 = (65536-2000)%256 ;
   EA = 1 ;
   ET1 = 1 ;
   TR1 = 1 ;
}




//---PCF8563驱动
//--------------------------------------------------------------------------
//函数名称:      start_8563()
//函数功能:      8563启动时序
//其他说明:      
//--------------------------------------------------------------------------
void start_8563(void)//启动8563
{
sda_8563 = 1;
scl_8563 = 1;
sda_8563 = 0;
}
//--------------------------------------------------------------------------
//函数名称:      stop_8563()
//函数功能:      8563停止时序
//其他说明:      
//--------------------------------------------------------------------------
void stop_8563(void)   //停止8563
{
sda_8563 = 0;
scl_8563 = 1;
sda_8563 = 1;
}
//--------------------------------------------------------------------------
//函数名称:      write_8563(uchar data_8563)
//函数功能:      8563写一个字节
//其他说明:      
//--------------------------------------------------------------------------
void write_8563(uchar data_8563)//写一位数据8563
{
uchar i;
for(i=0;i<8;i++)
{
scl_8563 = 0;
if(data_8563&0x80)
{
sda_8563 = 1;
}
else sda_8563 = 0;
scl_8563 = 1;
data_8563<<=1;
scl_8563 = 0;//最后拉低电平完成一个完整脉冲(error)
}
sda_8563 = 1;
scl_8563 = 1;
scl_8563 = 0;
}
//--------------------------------------------------------------------------
//函数名称:      read_8563()
//函数功能:      8563读一个字节
//其他说明:      
//--------------------------------------------------------------------------
uchar read_8563(void) //读一位数据8563
{
uchar itemp;
for(i=0;i<8;i++)
{
scl_8563 = 0;
temp<<=1;
scl_8563 = 1;
if(sda_8563==1)
{
temp |= 0x01;
}
}

sda_8563 = 1;
scl_8563 = 0;
scl_8563 = 1;
scl_8563 = 0;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9674  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\output\SX-108B-17

     文件       1872  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\output\SX-108B-17.hex

     文件        100  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\output\SX-108B-17.lnp

     文件      10885  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\output\SX-108B-17.obj

     文件       1378  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\output\SX-108B-17.plg

     文件       5210  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\src\SX-108B-17.c

     文件      10670  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\src\SX-108B-17.lst

     文件      12254  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\src\SX-108B-17.m51

     文件        169  2012-07-23 09:04  数码管显示PCF8563实时时钟日历\SX-108B-17.plg

     文件      56864  2012-07-24 12:21  数码管显示PCF8563实时时钟日历\SX-108B-17.uvopt

     文件      13270  2012-07-23 11:32  数码管显示PCF8563实时时钟日历\SX-108B-17.uvproj

     文件      56866  2012-07-23 14:07  数码管显示PCF8563实时时钟日历\SX-108B-17_uvopt.bak

     文件      13055  2012-07-23 09:05  数码管显示PCF8563实时时钟日历\SX-108B-17_uvproj.bak

     目录          0  2012-07-24 17:43  数码管显示PCF8563实时时钟日历\output

     目录          0  2012-07-24 17:43  数码管显示PCF8563实时时钟日历\src

     目录          0  2012-07-24 17:43  数码管显示PCF8563实时时钟日历

----------- ---------  ---------- -----  ----

               192267                    16


评论

共有 条评论