找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2005|回复: 0
打印 上一主题 下一主题
收起左侧

自己写的电子钟程序

[复制链接]
跳转到指定楼层
楼主
ID:80436 发表于 2015-5-21 17:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit D1=P2^2;              
sbit D2=P2^1;
sbit D3=P2^0;
sbit key1=P3^4;         /定义键盘
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
uchar code table[]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28};
uchar ge,shi,bai,qian,aa,temp;
void init();   
void delay(z);
void display(uchar qian,uchar bai,uchar shi,uchar ge);
void main()
{
init();    /程序初始化
key1=1;
key2=1;
key3=1;
key4=1;
while(1)
  {
   if(key1==0)      /键盘触发程序
     {
   ge++;
   while(!key1)
      if(ge==10)
   ge=0;
  
     }  
   if(key2==0)
     {
   shi++;
   while(!key2)
      if(shi==6)
   shi=0;
  
     }
  if(key3==0)
     {
   bai++;
   while(!key3)
      if(bai==10)
   bai=0;
  
     }
   if(key4==0)
     {
   qian++;
   while(!key4)
      if(qian==3)
   qian=0;
  
     }   
     if(aa==20)      /时钟运行程序
   {
    aa=0;
    temp++;
    if(temp==60)
     {
      temp=0;
         ge++;
      if(ge==10)
      {
      ge=0;
      shi++;
       }
       if(shi==6)
        {
        shi=0;
        bai++;
         }
         if(bai==10)
        {
        bai=0;
        qian++;
         }
        if(qian==3)
         {
         qian=0;
         }
          if(qian==2&&bai==4)    /判断如果到了24小时程序初始化         
   {
          init();
         }
     }
   }
  display(qian,bai,shi,ge);    /显示子程序
      
  }
}
void init()
{
ge=0;
shi=0;
bai=0;
qian=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;

}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}
void delay(z)
{
int a,b;
for(a=0;a<z;a++)
for(b=0;b<114;b++);
}
void display(uchar qian,uchar bai,uchar shi,uchar ge)
{

P0=table[qian];
P2=0xbf;
delay(5);
P0=table[shi];
P2=0xef;
delay(5);
P0=table[ge];
P2=0x7f;
delay(5);
P0=table[bai];
P2=0xdf;
delay(5);
}
初学者自创,如有不足,请指出!


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表