#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
bit write=0;
sbit led0=P1^5;
sbit led1=P1^6;
sbit led2=P1^7;
sbit sda=P1^1;
sbit scl=P1^0;
sbit SCLK=P3^5;
sbit DATA=P3^6;
sbit RST=P3^7;
sbit sg=P2^7;
sbit ss=P2^6;
sbit sb=P2^5;
sbit sq=P2^4;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar second,minute=0;
uchar sec;
sbit beep=P3^4; // 0
uint state=0; // 0:时钟状态 1:设置秒 2:设置分 3:初始设置状态
sbit key1=P2^1; // 进入设定模式以及 确认设置 先设置秒 后设置分
sbit key3=P2^0; // ++
sbit key4=P2^2; // --
uchar count=0;
void display();
void delay()
{;;}
void delayms(uint ms)
{
uint i,j;
for(i=ms;i>0;i--);
for(j=110;j>0;j--);
}
/******************/
void start()
{
sda=1;
delay();
scl=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
sda=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void stop()
{
sda=0;
_nop_();
scl=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
sda=1;
_nop_();
_nop_();
_nop_();
_nop_();
}
void respons()
{
uchar i;
scl=1;
delay();
while((sda==1)&&(i<100))i++;
scl=0;
delay();
}
void initAT()
{
sda=1;
delay();
scl=1;
delay();
}
void write_byte(uchar date)
{
uchar i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
delay();
sda=CY;
delay();
scl=1;
delay();
}
scl=
DS1302+AT24C02+按键数码管显示程序 (原创)
最新推荐文章于 2023-12-29 08:43:45 发布