当前位置:首页 > 单片机 > 单片机
[导读]#include /*************************ds1302与at89s52引脚连接********************/ sbitT_RST=P3^5; sbitT_CLK=P3^6; sbitT_IO=P3^7; sbitACC0=ACC^0; sbitACC7=ACC^7; unsignedcharseg[]={0x00,0x01,0

#include

/*************************ds1302与at89s52引脚连接********************/
sbitT_RST=P3^5;
sbitT_CLK=P3^6;
sbitT_IO=P3^7;

sbitACC0=ACC^0;
sbitACC7=ACC^7;
unsignedcharseg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};//0~~9段码

/******************DS1302:写入操作(上升沿)*********************/
voidwrite_byte(unsignedcharda)
{
unsignedchari;
ACC=da;
for(i=8;i>0;i--)
{
T_IO=ACC0;
T_CLK=0;
T_CLK=1;
ACC=ACC>>1;
}
}
/******************DS1302:读取操作(下降沿)*****************/
unsignedcharread_byte(void)
{
unsignedchari;
for(i=0;i<8;i++)
{
ACC=ACC>>1;
T_CLK=1;
T_CLK=0;
ACC7=T_IO;
}
return(ACC);
}
/******************DS1302:写入数据(先送地址,再写数据)***************************/
voidwrite_1302(unsignedcharaddr,unsignedcharda)
{
T_RST=0;//停止工作
T_CLK=0;
T_RST=1;//重新工作
write_byte(addr);//写入地址

write_byte(da);
T_RST=0;
T_CLK=1;
}
/******************DS1302:读取数据(先送地址,再读数据)**************************/
unsignedcharread_1302(unsignedcharaddr)
{
unsignedchartemp;
T_RST=0;//停止工作
T_CLK=0;
T_RST=1;//重新工作
write_byte(addr);//写入地址
temp=read_byte();
T_RST=0;
T_CLK=1;//停止工作
return(temp);
}


/***********************延时程序=a*1ms**************************************/
voiddelay(unsignedchara)
{
unsignedchari;
while(a--!=0)
{
for(i=0;i<125;i++);
}
}

/***********************显示程序**********************************************/
/*动态扫描条件(单个LED在1秒内):count>=50次//点亮次数*/
/*time>=2ms//持续时间*/
/*DS1302秒,分,时寄存器是BCD码形式:用16求商和余进行"高4位"和"低4位"分离*/
/*0x00,0x10,0x30,0x40,0x60,0x70:位选*/
/****************************************************************************/
voidled_disp(unsignedchar*poi)
{
P0=seg[*poi%16];//第1个数码管:显示秒(个位);
delay(2);//持续2ms
P0=0xff;//消影
P0=seg[*poi/16]^0x10;//第2个数码管:显示秒(十位);
delay(2);
P0=0xff;
poi++;
P0=seg[*poi%16]^0x30;//第4个数码管:显示分(个位)
delay(2);
P0=0xff;
P0=seg[*poi/16]^0x40;//第5个数码管:显示分(十位)
delay(2);
poi++;
P0=0xff;

P0=seg[*poi%16]^0x60;//第7个数码管:显示时(个位)
delay(2);
P0=0xff;

P0=seg[*poi/16]^0x70;//第8个数码管:显示时(十位)
delay(2);
P0=0xff;
}
/************************主程序**********************************************/
voidmain(void)
{
unsignedcharclk_time[3]={0x00,0x00,0x12};//秒,分,时寄存器初始值
unsignedchartemp=0x80;
unsignedchari;
write_1302(0x8e,0x00);//WP=0写操作
for(i=0;i<3;i++)
{
write_1302(temp,clk_time);
temp+=2;
}
write_1302(0x8e,0x80);//WP=1写保护
while(1)
{
led_disp(clk_time);
temp=0x81;
for(i=0;i<3;i++)
{
clk_time=read_1302(temp);
temp+=2;
}
}
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对LED显示屏的认识,本文将对节能LED显示屏的设计予以介绍。

关键字: LED 指数 显示屏

为增进大家对LED显示屏的认识,本文将对LED显示屏的部件组成、LED显示屏的选型技巧予以介绍。

关键字: LED 指数 显示屏

LED显示屏的身影。为增进大家对LED显示屏的认识,本文将对LED灯珠对LED显示屏的影响予以介绍。

关键字: LED 指数 显示屏

LED显示屏将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: LED 显示屏

今天,小编将在这篇文章中为大家带来led显示屏的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: LED 显示屏 LED显示屏

LED(Light Emitting Diode)与LCD(Liquid Crystal Display)是当今显示技术领域的两大重要分支,各自凭借独特的优势在消费电子、广告传媒、工业控制、家用电器等多个领域占据着主导地...

关键字: LED LCD

作为温度依赖性低、广角发射且光线均匀的光源,有助于汽车驾驶辅助技术提升

关键字: VCSEL LED 红外光源

爱德万测试集团 (公司总部:东京都千代田区、代表董事:Douglas Lefever、以下简称为“爱德万测试”) 与东丽工程株式会社 (总公司:东京都中央区、代表董事总经理:岩出卓、以下简称为“东丽工程”) 此番宣布,签...

关键字: LED 显示屏

为增进大家对LED路灯的认识,本文将对LED路灯、LED路灯的选购要点、LED路灯使用成本予以介绍。

关键字: LED 指数 路灯

为增进大家对LED路灯的认识,本文将对LED路灯的两点设计要求予以介绍。

关键字: LED 指数 路灯
关闭
关闭