您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页C51数码管电子表

C51数码管电子表

来源:宝玛科技网


#include

#define uchar unsigned char

#define uint unsigned int

#define ulint unsigned long int

uchar code numwe[]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

uchar

numdu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};

sbit dula=P2^6;

sbit wela=P2^7;

sbit beef=P2^3;

sbit s2=P3^4;

uchar shi,fen,miao=1,shig,shis,feng,fens,miaog,miaos,aa;

uchar hourrom=00,fenrom=1,s2_count;

ulint temp;

code

void initia()

{

wela=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void display(uchar a,uchar b);

void timecounter();

void delay(uint);

void beeff();

void key_s2();

void setkey_s2();

void main()

{

initia();

P0=0xff;

while(1)

{

//****************************************//

beeff();

dula=1;

P0=0x80;

dula=0;

P0=0xff;

wela=1;

P0=numwe[2];

wela=0;

delay(1);

dula=1;

P0=0x80;

dula=0;

P0=0xff;

wela=1;

P0=numwe[4];

wela=0;

delay(1);

display(miaog,0);

display(miaos,1);

display(feng,2);

display(fens,3);

display(shig,4);

display(shis,5);

//*******************************************// setkey_s2();

}

}

void timer0() interrupt 1

{

用于显示时间

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

aa++;

if(aa==20)

{

aa=0;

temp++;

timecounter();

}

}

void timecounter()

{

shi=temp/3600;

shis=shi/10;

shig=shi%10;

fen=(temp%3600)/60;

fens=fen/10;

feng=fen%10;

miao=(temp%3600)%60;

miaos=miao/10;

miaog=miao%10;

if(temp==800)

{

temp=0;

}

}

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void display(uchar a,uchar b)

{

dula=1;

P0=numdu[a];

dula=0;

P0=0xff;

wela=1;

P0=numwe[b];

wela=0;

delay(1);

}

void beeff()

{

if((hourrom==shi)&&(fenrom==fen)==1)

{

beef=0;

delay(1);

beef=1;

delay(10);

beef=0;

delay(100);

beef=1;

delay(1);

}

}

void key_s2()

{

if(s2==0)

{

delay(500);

if(s2==0)

{

s2_count++;

if(s2_count==6)

s2_count=0;

}

}

}

void setkey_s2()

{

if(s2_count==1)

{

display(miaog,0);

delay(1);

display(10,0);

delay(1);

display(miaos,1);

delay(1);

display(10,0);

delay(1);

display(feng,2);

display(fens,3);

display(shig,4);

display(shis,5);

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务