历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2018年03月08日 | 四位数码管显示的数字钟c程序自制

2018-03-08 来源:eefocus

10.jpg?imageView2/2/w/550

    #include
#define uchar unsigned char
uchar code shuzi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0};//0 1 2 3 4 5 6 7 8 9 0
uchar code shuza[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0xc0};//0 1 2 3 4 5 0
uchar ss,dd,ff,gg,zz;
uchar qq,ww,ee,rr,tt;
uchar z,x,qw,qe,qr,as,fe;
sbit a=P2^0;//锁存器1
sbit b=P2^1;//锁存器2
sbit c=P2^2;//锁存器3
sbit d=P2^3;//锁存器4
sbit e=P2^4;//秒灯
sbit f=P2^5;//时间指示灯
sbit g=P2^6;//设置指示灯
sbit h=P2^7;//....
sbit i=P1^0;//时间设置按键 
sbit j=P1^1;//返回
sbit k=P1^2;//加
sbit l=P1^3;//减
sbit m=P1^4;//定时设置
sbit y=P1^5;//启动定时
void ys();

    void main()
{
 EA=1;      //打开总中断
 TH0=(65535-50000)/256;  //定时器复初值
 TL0=(65535-50000)%256;
 ET0=1;      //
 TR0=1;      //启动定时器
 P0=0xc0;
 P2=0xff;
 P2=0xd0;
  while(1)
 {f=0;g=1; 
    if(i==0)//设置时间 判断
  {g=0;f=1;
  while(1)
 {if(j==0){break;}
  if(i==0){ys();if(i==0){while(i==0){if(i==1){x++;break;}}}}
  if(x==5){x=1;}if(x==0){x=1;}

      if(x==1)
  {if(k==0){ys();if(k==0){ss++;if(k==0)if(ss==10){ss=0;}}} if(l==0){ys();if(l==0){if(ss==0){ss=10;}ss--;}} 
  a=1;P0=0x7f;P0=shuzi[ss];a=0; }
  
   if(x==2)
  {if(k==0){ys();if(k==0){dd++;if(k==0)if(dd==6){dd=0;}}} if(l==0){ys();if(l==0){if(dd==0){dd=6;}dd--;}} 
  b=1;P0=0x7f;P0=shuza[dd];b=0; }
  
   if(x==3)
  {if(k==0){ys();if(k==0){ff++;if(k==0)if(ff==10){ff=0;}}} if(l==0){ys();if(l==0){if(ff==0){ff=10;}ff--;}} 
  c=1;P0=0x7f;P0=shuzi[ff];c=0; }
  
   if(x==4)
  {if(k==0){ys();if(k==0){gg++;if(k==0)if(gg==3){gg=0;}}} if(l==0){ys();if(l==0){if(gg==0){gg=3;}gg--;}} 
  d=1;P0=0x7f;P0=shuzi[gg];d=0; }

     }
  }  //设置时间完

          if(m==0)//定时 判断
  {g=0;f=0;as=1;
  while(1)
 {if(j==0){as=0;break;}
  if(m==0){ys();if(m==0){while(m==0){if(m==1){x++;break;}}}}
  if(x==5){x=1;}if(x==0){x=1;}

      if(x==1)
  {if(k==0){ys();if(k==0){qq++;if(k==0)if(qq==10){qq=0;}}} if(l==0){ys();if(l==0){if(qq==0){qq=10;}qq--;}}a=1;P0=0x7f;P0=shuzi[qq];a=0; }
  
   if(x==2)
  {if(k==0){ys();if(k==0){ww++;if(k==0)if(ww==6){ww=0;}}} if(l==0){ys();if(l==0){if(ww==0){ww=6;}ww--;}} b=1;P0=0x7f;P0=shuza[ww];b=0;  }
  
   if(x==3)
  {if(k==0){ys();if(k==0){ee++;if(k==0)if(ee==10){ee=0;}}} if(l==0){ys();if(l==0){if(ee==0){ee=10;}ee--;}}c=1;P0=0x7f;P0=shuzi[ee];c=0; }
  
   if(x==4)
  {if(k==0){ys();if(k==0){rr++;if(k==0)if(rr==3){rr=0;}}} if(l==0){ys();if(l==0){if(rr==0){rr=3;}rr--;}}d=1;P0=0x7f;P0=shuzi[rr];d=0;}

     }
  }  //定时时间完
  if(y==0)//启动定时功能
  {while(1){if(y==1){h=!h;if(h==0){fe=1;}if(h==1){fe=0;}break;}}}
 if(fe==1)
 {if(gg==rr){if(ff==ee){if(dd==ww){if(ss==qq){ g=0;f=0;;ys();g=1;f=1;ys(); }}}}}

     }
}
void zhongduan() interrupt 1  //中断函
{  TH0=(65535-50000)/256;  //定时器复初值
  TL0=(65535-50000)%256;
  z++;
    if(z==80)
  {z=0;
    e=!e;
 zz++;
 if(zz==120){zz=0;ss++;}
  if(ss==10){ss=0;dd++;}
  if(dd==6){dd=0;ff++;}
  if(ff==10){ff=0;gg++;}

      if(gg==2) {if(ff>=4){ff=0;gg=0;}}
  if(gg>=3) {gg=0;}
    if(rr==2) {if(ee>=4){ee=0;rr=0;}}
  if(rr>=3) {rr=0;}
  
 if(as==0)
 {P0=shuzi[ss];a=1;a=0;
    P0=shuza[dd];b=1;b=0;
    P0=shuzi[ff];c=1;c=0;
    P0=shuzi[gg];d=1;d=0;
 }
 if(as==1) 
  { a=1;P0=shuzi[qq];a=0;
    b=1;P0=shuza[ww];b=0;
    c=1;P0=shuzi[ee];c=0;
    d=1;P0=shuzi[rr];d=0;
  }
    }

    }
void ys()
{for(qw=255;qw>0;qw--)
 for(qe=255;qe>0;qe--);
 for(qw=255;qw>0;qw--)
 for(qe=50;qe>0;qe--);
}


推荐阅读

史海拾趣

Anaren Ceramics公司的发展小趣事

Anaren Ceramics公司在电子行业中崭露头角,首先得益于其在陶瓷材料技术方面的重大突破。公司研发了一种新型的陶瓷材料,具有优异的绝缘性能和高温稳定性,这为当时的电子行业提供了前所未有的解决方案。随着这种新型陶瓷材料在市场上的广泛应用,Anaren Ceramics公司的知名度逐渐提升,逐渐成为了行业内的佼佼者。

Grand Halo Technology Co Ltd公司的发展小趣事

随着技术的不断成熟,Anaren Ceramics公司开始积极拓展市场。公司不仅在国内市场上取得了显著的成绩,还积极开拓国际市场。通过与全球知名电子企业的合作,Anaren Ceramics公司的产品逐渐进入了国际市场,赢得了众多客户的信赖和好评。这一系列的市场拓展活动不仅提升了公司的品牌影响力,也为公司的长期发展奠定了坚实的基础。

ABC [ABC Taiwan Electronics Corp]公司的发展小趣事

近年来,随着环保意识的日益增强,ABC Taiwan Electronics Corp积极响应绿色生产的号召。公司引入了环保材料和节能技术,降低了生产过程中的能耗和排放。同时,公司还加强了废弃物的处理和回收利用,实现了资源的循环利用。此外,ABC还积极参与社会公益活动,支持教育事业和环保事业,履行了企业的社会责任。

这五个故事展示了ABC Taiwan Electronics Corp从创业初期的艰难起步到逐步成长为国际知名电子零件供应商的发展历程。通过技术突破、国际化战略、产业升级和绿色生产等方面的努力,ABC不断应对市场的变化和挑战,实现了稳健的发展。

Comtronic Gmbh-Verbindungstechnik公司的发展小趣事

进入九十年代,ABC Taiwan Electronics Corp迎来了一次重要的发展机遇。公司成功研发出了一款具有创新性的电子连接器,凭借其高性能和稳定性,迅速在市场上获得了广泛认可。这一技术突破不仅为ABC带来了大量订单,也使其在电子连接器领域树立了领先地位。公司借此机会不断扩大生产规模,提升技术水平,逐渐成为了行业的佼佼者。

CET Technology公司的发展小趣事

CET Technology作为电力行业的领军企业,受邀参加了2023年深圳企业创新发展大会。大会上,CET展示了其在电力系统、工业与能源等领域的最新技术成果,包括电力二次智能终端、电能管理专用工业软件等。这些产品与服务均体现了CET在电力技术领域的深厚实力和创新精神。通过参加此次大会,CET不仅与业界同行进行了深入交流,也进一步提升了公司的品牌影响力和市场竞争力。

Chipcera Technology Co Ltd公司的发展小趣事

在电子行业中,供应链管理和成本控制对于企业的生存和发展至关重要。Chipcera深知这一点,因此在供应链方面进行了精细化管理。公司与供应商建立了长期稳定的合作关系,确保原材料的稳定供应和质量的可靠性。同时,公司还通过优化生产流程、提高生产效率等方式,有效降低了生产成本。这些措施使得Chipcera能够在激烈的市场竞争中保持价格优势,提升市场竞争力。

问答坊 | AI 解惑

模拟电路一日通(Ti的模拟电路应用基础资料)

本帖最后由 dontium 于 2015-1-23 11:33 编辑 模拟电路一日通(Ti的模拟电路应用基础资料) 本人认为很好的资料 …

查看全部问答>

eeworld论坛这里怎么获得积分啊,我初学者,很多问题又都回答不了,拿不了分,但我的分又快用完了……

eeworld论坛这里怎么获得积分啊,我初学者,很多问题又都回答不了,拿不了分,但我的分又快用完了………

查看全部问答>

Wince5.0 With PlatForm Builder 安装补丁后的问题。

PB5.0,安装了2007年全年的补丁(下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=a54779d5-f4a5-49f0-9e36-979d461f536c&DisplayLang=en)后,编译生成的NK.bin,烧入2410的板子后,系统启动时候出现,     致命 ...…

查看全部问答>

vxworks对java的支持?

请教:    想在vxworks下做java 开发,不知道能不能行得通?听说vxworks6.4+workbench可以,但却没有这方面的资料.希望高手给予指点.有此想发的朋友一起研究. qq:120964089…

查看全部问答>

驱动获得系统目录

驱动里面怎么获得系统目录啊。。…

查看全部问答>

PB编译错误

ERROR: Res2Exe: WriteResFile: Open input file D:\\WINCE500\\PBWorkspaces\\GDI1029\\RelDir\\Emulator_x86_Release\\shlwapi.dll failed. ERROR: Res2Exe: WriteResFile: Open input file D:\\WINCE500\\PBWorkspaces\\GDI1029\\RelDir\\Emula ...…

查看全部问答>

二个spi设备使用一个驱动程序

阅读完linux内核中的spi驱动程序有点乱,现在想用一个spi驱动程序,打开二个spi设备,而且可以使用二个spi设备,只需要在probe的时候,注册二个spi设备即可吗?具体应该怎么做?请高手明示。…

查看全部问答>

k51开发环境是针对几位单片机的呀?因为不同位的单片机汇编器是不同的呀。

k51开发环境是针对几位单片机的呀?因为不同位的单片机汇编器是不同的呀。…

查看全部问答>

MSP430 FLASH 请教

IAR编译器以下显示是不是说 FLASH 程序占用8 884 bytes对吗?那也可以说是9K不到是吗? 8 884 bytes of CODE memory 788 bytes of CONST memory (+ 14 bytes shared) 357 bytes of DATA memory (+ 64 bytes shared)…

查看全部问答>

stm32驱动ov7660工作的时候出问题了。。。求指点呀!!!!

程序老是卡在摄像头初始化那块。。。这该如何是好呀?????    …

查看全部问答>