找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5365|回復(fù): 0
收起左側(cè)

基于AT89C51單片機的0~59秒計時器C語言程序

[復(fù)制鏈接]
ID:246291 發(fā)表于 2017-11-5 18:33 | 顯示全部樓層 |閱讀模式

#include<reg51.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int  
uchar code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar sec1,sec2,sec3,sec4,sec,arcsec,num;
void delay();//延時函數(shù)
void main()
{
  sec=0;
  TMOD=0x01;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  ET0=1;
  EA=1;
  TR0=1;
  while(1)
  {
    arcsec=abs(99-sec);
//        sec1=sec/10;
//        sec2=sec%10;
//        sec3=arcsec/10;
//        sec4=arcsec%10;
    P2=0x01;
    P0=dispcode[sec/10];
    delay();
    P2=0x02;
    P0=dispcode[sec%10];
    delay();
    P2=0x10;
    P0=dispcode[arcsec/10];
    delay();
    P2=0x20;
    P0=dispcode[arcsec%10];
    delay();
  }
}
void int0() interrupt 1
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   num++;
   if(num==20)
   {
     num=0;
         sec++;
         if(sec>99)sec=0;
   }
}
void delay()
{
  unsigned int i;
  for(i=0;i<125;i++);
}


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表