當前位置:編程學習大全網 - 編程軟體 - 誰能告訴我51單片機簡單的led數碼管時鐘程序 24小時制的(c語言版的)

誰能告訴我51單片機簡單的led數碼管時鐘程序 24小時制的(c語言版的)

#include "reg52.h"

#define uint unsigned int

#define uchar unsigned char

uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar shi,fen,miao;

uchar time;

void delay(uint x)

{

uint y;

for(;x>0;x--)

{

for(y=0;y<124;y++);

}

}

void display(uchar shi,uchar fen,uchar miao)

{

P2=0; //位碼

P0=(tab[shi/10]); //段碼

delay(2);

P2=1;

P0=(tab[shi%10]);

delay(2);

P2=2; //位碼

P0=0x40; //段碼

delay(2);

P2=3; //位碼

P0=(tab[fen/10]); //段碼

delay(2);

P2=4;

P0=(tab[fen%10]);

delay(2);

P2=5; //位碼

P0=0x40; //段碼

delay(2);

P2=6; //位碼

P0=(tab[miao/10]); //段碼

delay(2);

P2=7;

P0=(tab[miao%10]);

delay(2);

}

void main()

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

while(1)

{

if(time==20)

{

time=0;

miao++;

if(miao==60)

{

miao=0;

fen++;

if(fen==60)

{

fen=0;

shi++;

if(shi==24)

shi=0;

}

}

}

display(shi,fen,miao);

}

}

void timer0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

time++;

}

/*還有什麽不明白繼續追加*/

  • 上一篇:性格內向的人做什麽工作好?
  • 下一篇:anylogic軟件好學嗎
  • copyright 2024編程學習大全網