#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rclk=P1^4;
sbit srclk=P1^7;
sbit ser=P1^5;
sbit scl=P2^0;
sbit sda=P2^1;
uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f},
duantable[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40},k;
uchar shi=13,fen=50,miao=20,count,wnum[3],weinum,i,a,j,/*x[3]={20,10,11},b,*/h;
/*void delay1()
{
for(h=80;h>0;h--);
} */
void displaymiao(uint miao)
{
wnum[1]=miao/10;
wnum[0]=miao%10;
wnum[2]=10;
for(j=0;j<3;j++)
{
a=wnum[j];
k=wei[weinum++];
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
k=duantable[a];
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
rclk=0;
rclk=1;
}
}
void displayfen(uint fen)
{
wnum[1]=fen/10;
wnum[0]=fen%10;
for(j=0;j<3;j++)
{
a=wnum[j];
k=wei[weinum++];
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
k=duantable[a];
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
rclk=0;
rclk=1;
}
}
void displayshi(uint shi)
{
wnum[1]=shi/10;
wnum[0]=shi%10;
for(j=0;j<2;j++)
{
a=wnum[j];
k=wei[weinum++];
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
k=duantable[a];
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
rclk=0;
rclk=1;
}
}
void init()
{
EA=1;
ET0=1;
TMOD=0x01;
TR0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
/*void delay()
{;;}
void init2() // 初始化
{
sda=1;
delay();
scl=1;
delay();
k=0xff;
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
k=0x00;
for(i=0;i<8;i++)
{
srclk=0;
k=k<<1;
ser=CY;
srclk=1;
}
rclk=0;
rclk=1;
}
void start() //开始信号
{
sda=1;
delay();
scl=1;
delay();
sda=0;
delay();
}
void stop() //结束信号
{
sda=0;
delay();
scl=1;
delay();
sda=1;
delay();
}
void ack() //响应信号
{
uchar i;
scl=1;
delay();
while((sda==1)&&(i<200))
i++;
scl=0;
delay();
}
void write_type(uchar date) //写数据
{
uchar k,i;
k=date;
for(i=0;i<8;i++)
{
k=k<<1;
scl=0;
delay();
sda=CY;
delay();
scl=1;
delay();
}
scl=0;
delay();
sda=1;
delay();
}
uchar read_type() //读数据
{
uchar k,i,j;
scl=0;
delay();
sda=1;
delay();
for(i=0;i<8;i++)
{
scl=1;
delay();
k=k<<1;
j=sda;
k=k|j;
scl=0;
delay();
}
return k;
}
void baocun(uint miao,uint fen,uint shi)
{
x[0]=miao;
x[1]=fen;
x[2]=shi;
for(i=0;i<3;i++)
{
b=x[i];
start();
write_type(0xa0);
ack();
write_type(i);
ack();
write_type(b);
ack();
stop();
delay1();
}
}
void duqu()
{
for(i=0;i<3;i++)
{
start();
write_type(0xa0);
ack();
write_type(i);
ack();
start();
write_type(0xa1);
ack();
x[i]=read_type();
stop();
delay1();
}
miao=x[0];
fen=x[1];
shi=x[2];
} */
void main()
{
init();
//init2();
//baocun(miao,fen,shi);
//duqu();
while(1)
{
if(count==20)
{
count=0;
miao++;
}
if(miao==60)
{
miao=0;
fen++;
}
if(fen==60)
{
fen=0;
shi++;
}
if(shi==24)
{
shi=0;
}
displayfen(miao);
displaymiao(fen);
displayshi(shi);
weinum=0;
// baocun(miao,fen,shi);
}
}
void time() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
}
没有合适的资源?快使用搜索试试~ 我知道了~
CHEX.rar_ChEx
共25个文件
c:12个
hex:12个
txt:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 16 浏览量
2022-09-20
15:25:00
上传
评论
收藏 17KB RAR 举报
温馨提示
单片机C源程序+HEX文件。配合实验板。需要的话加Q:394011495.并注明。
资源推荐
资源详情
资源评论
收起资源包目录
CHEX.rar (25个子文件)
数码管动态显示.hex 3KB
时钟可保存.hex 3KB
读EEPROM.hex 996B
数码管.c 740B
流水灯作业.hex 525B
数码管检测.hex 951B
流水灯作业.c 706B
数码管动态显示.c 3KB
时钟可保存.c 3KB
矩阵键盘.c 2KB
数码管.hex 953B
流水灯.hex 755B
EEPROM.hex 1KB
www.pudn.com.txt 218B
EEPROM.c 2KB
秒表.hex 3KB
读EEPROM.c 2KB
流水灯.c 447B
矩阵键盘.hex 2KB
流水灯分散.c 387B
秒表.c 1KB
数码管检测.c 990B
时钟.hex 2KB
时钟.c 4KB
流水灯分散.hex 695B
共 25 条
- 1
资源评论
四散
- 粉丝: 50
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功