数字钟课程设计程序_数字钟课程设计改的

2020-02-27 其他范文 下载本文

数字钟课程设计程序由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数字钟课程设计改的”。

#include

void chuanshu(void);

void shuchu(void);

void saomiao(void);

void delay(void);

unsigned int t;

unsigned char m;

unsigned char shi,fen,miao;

unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char code wei[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

unsigned charxianshi[8]={0,0,0,0,0,0,0,0};

sbit DS=P2^2;

sbit ST_CP=P2^3;

sbit SH_CP=P2^4;

sbit key1=P3^2;

sbit key2=P3^3;

sbit key3=P3^4;

sbit key4=P3^5;

sbit niaoling=P1^0;

sbit dingshi=P1^1;

void delay(void)

{

char i,j;

for(i=0;i

for(j=0;j

}

void chuanshu(void)

{

unsigned char b,c,num;

if(b==0)

{

b++;

num=wei[m];//把位选放在第二个74hc595芯片上

for(c=0;c

{SH_CP=0;

DS=num&0x80;

num=num

SH_CP=1;//上升沿发生移位

}

}

if(b==1)

{

b--;

if(m==2||m==5)

{num=0xbf;}

else

{

num=duan[xianshi[m]];}

for(c=0;c

{SH_CP=0;

DS=num&0x80;

num=num

SH_CP=1;//数据在SH_CP的上升沿输入}

}

m++;

if(m==8)

{m=0;

}

}

void shuchu(void)

{ ST_CP=0;

ST_CP=1;//上升沿将数据送到输出锁存器

}

void saomiao(void)

{

if(key1==0)

{

delay();

if(key1==0)

{

miao=0;

while(key1==0);

}

}

xianshi[0]=miao%10;xianshi[1]=miao/10;

if(key2==0){

delay();

if(key2==0){

fen++;

while(key2==0);if(fen==60){

fen=0;}

}

}

xianshi[3]=fen%10;xianshi[4]=fen/10;

if(key3==0){

delay();

if(key3==0){

shi++;

while(key3==0);if(shi==24){

shi=0;}

}

}

xianshi[6]=shi%10;xianshi[7]=shi/10;

if(key4==0){

delay();

if(key4==0){

miao=0;fen=0;shi=0;}

}

}

void main(void)

{

TMOD=0X01;

TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;

ET0=1;

TR0=1;

while(1)

{

saomiao();

chuanshu();shuchu();

}

}

void time0()interrupt 1{

t++;

if(t==20)

{t=0;

miao++;

if(miao==60){miao=0;fen++;

if(fen==60){fen=0;shi++;

if(shi==24){shi=0;}}}

}

}

《数字钟课程设计程序.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
数字钟课程设计程序
点击下载文档
相关专题 数字钟课程设计改的 课程设计 程序 数字钟 数字钟课程设计改的 课程设计 程序 数字钟
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文