當前位置:編程學習大全網 - 網站源碼 - 怎麽用c語言寫單片機89C51的程序,要寫的程序是,0~99秒的秒表,到99s停止,並且有滴的壹聲

怎麽用c語言寫單片機89C51的程序,要寫的程序是,0~99秒的秒表,到99s停止,並且有滴的壹聲

可根據以下程序修改:

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

uchar a , b=0;

sbit wei1=P1.0;

sbit wei2=P1.1;

//***陰數碼管七段碼

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

void Delay1ms(uint i) //1ms延時程序

{

uint j;

for(;i>0;i--)

{

for(j=0;j<164;j++)

{;}

}

}

void display( uchar a)) //顯示程序

{

P0= table[a/10];//十位

wei1=1;

Delay1ms(2) ;

wei1=0;

P0= table[a%10];//個位

wei2=1;

Delay1ms(2) ;

wei2=0;

}

void main(void )//主程序

{

TMOD=0x01;// 定時器1工作方式壹

ET0=1;

EA=1;

TH0=(65536-50000)/256;//定時50ms

TL0=(65536-50000)%256;

TR0=1;

while(1)

{

display(b);

}

}

//中斷子程序

//因為 中斷程序很短,只花不到1ms,而中斷間隔50ms,完全沒必要關中斷

void Timer0(void) interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

a++;

if(a==100)//100次是5 秒

{ a=0;b++;}

if(b==100)

{ b=0;}

}

  • 上一篇:美團外賣商家怎麽設置團購
  • 下一篇:易語言 循環判斷
  • copyright 2024編程學習大全網