首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于单片机数字时钟程序烧入 浏览参考

关于单片机数字时钟程序烧入 浏览参考

#include<reg51.h>
  #define uint unsigned int
char code tab[]={0xc0,0xf9,0xA4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88};
char code table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
sbit duan=P2^5;
sbit wei=P2^6;
sbit button1=P1^0;  
sbit button2=P1^1;
sbit button3=P1^2;
sbit button4=P1^3;
sbit button5=P1^4;
sbit button6=P1^5;
sbit button7=P1^6;
sbit button8=P1^7;
void delay(uint z);
void start();
void display()();
static char a,b,c,d,k,e,f,g,h;
static char num1,num2,num3,num4;
void main()
{ start();
while(1)
{if(button1==0){TR0=0;}
  if(button2==0){TR0=1;}
  if(button3==0){num1=0;num2=0;num3=0;num4=0;}
  if(button4==0)
  { delay(10);
  if(button4==0)
{  num2++;if(num2==60){num2=0;num3++;if(num3==60){num3=0;num4++;if(num4==24)num4=0;}}}
while(button4==0)
{display()(); } }
  if(button5==0)
  { delay(10);
  if(button5==0)
  { num3++;if(num3==60){num3=0;num4++;if(num4==24)num4=0;}}
  while(button5==0)
  {display()();}}
  if(button6==0)
  { delay(10);
   if(button6==0)
   {num4++;if(num4==24){num4=0;}}
   while(button6==0)
   {display();}}
  if(button7==0)
  {delay(10);
  if(button7==0)
  {num3--;
  if(num3<0){num3=59;}
}
  while(button7==0)
  {display();} }
  if(button8==0)
  {delay(10);
  if(button8==0)
  { num4--;if(num4<0)num4=23;}
  while(button8==0)
  {display();}}
display();
} }
好像出了点错误。。。。。。。。这个数字时钟做的还蛮可以的,PCB是自己画的,而板则是PCB厂家做的,随便说一下  顺易捷专业打样PCB 质量保证 价格优惠实在 适应广大群体  详情了解 吴先生 QQ 1981280072  邮箱 1981280072@qq.com    手机 13823276473  。。。。。。。。。就复制到这里了,有需要的可以自己去了解了解,了解一下也好,互相认知比较 切身客户自身的利益  


void start()
{  EA=1;
  TMOD=0x01;ET0=1;
  TH0=(65536-4000)/256;
  TL0=(65536-4000)%256;}

void delay(uint z )   
{  uint x,y;
for(x=z;x>0;x--)
  for(y=120;y>0;y--);}

void timer1() interrupt 1
{ TH0=(65536-4000)/256;
  TL0=(65536-4000)%256;
   k++;
   if(k==2)  //总忘k把清零
{k=0;num1++;
if(num1==100)
{num1=0;num2++;
if(num2==60){num2=0;num3++;
if(num3==60){num3=0;num4++;
if(num4==24){num4=0;}}
  }} }}



void display()
{a=num1/10;b=num1%10;c=num2/10;d=num2%10;
e=num3/10;f=num3%10;g=num4/10;h=num4%10;
  wei=10=0x80;wei=0;
  duan=10=tab;duan=0;delay(1);
   P0=0x00;
   wei=10=0x40;wei=0;
  duan=10=tab[a];duan=0;delay(1);
       P0=0x00;
   wei=10=0x20;wei=0;
  duan=10=tab[d];duan=0;
  duan=10=table[d];duan=0;delay(1);
   P0=0x00;
    wei=10=0x10;wei=0;
  duan=10=tab[c];duan=0;delay(1);   
   P0=0x00;

wei=10=0x08;wei=0;
  duan=1;P0=table[f];duan=0;delay(1);
  duan=1;P0=tab[f];duan=0;delay(1);
   P0=0x00;
   wei=1;P0=0x04;wei=0;
  duan=1;P0=tab[e];duan=0;delay(1);
       P0=0x00;
   wei=1;P0=0x02;wei=0;
  duan=1;P0=tab[h];duan=0;
  duan=1;P0=table[h];duan=0;delay(1);
   P0=0x00;
    wei=1;P0=0x01;wei=0;
  duan=1;P0=tab[g];duan=0;delay(1);   
   P0=0x00;  

  }
哎,我也是过来人,没学好 ,望同学们好好学习知识
路过  看看
返回列表