第1个回答 推荐于2018-02-27
你觉得这不是C语言吗?
#include <regx51.h>
#define TIMER0_COUNT 0xee11
code seven_seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
code scan[]={0xef,0xdf,0xbf,0x7f};
unsigned char counter[]={0,0,0,0};
unsigned int timer0_tick,i=0;
static void timer0_isr(void) interrupt TF0_VECTOR using 1
{
TR0=0;
TL0=(TIMER0_COUNT & 0x00ff);
TH0=(TIMER0_COUNT >> 8);
TR0=1;
P0=seven_seg[counter[i]];
P1=scan[i];
P0_7=0;
i++;
if(i==4)
{
i=0;
}
timer0_tick++;
if(timer0_tick==200)
{
timer0_tick=0;
counter[0]++;
if(counter[0]==10)
{
counter[0]=0;
counter[1]++;
if(counter[1]==6)
{
counter[1]=0;
counter[2]++;
if(counter[2]==10)
{
counter[2]=0;
counter[3]++;
if(counter[3]==6)
{
counter[3]=0;
}
}
}
}
}
}
static void timer0_initialize(void)
{
EA=0;
timer0_tick=0;
TR0=0;
TMOD &= 0xf0;
TMOD |= 0x01;
TL0=(TIMER0_COUNT & 0x00ff);
TH0=(TIMER0_COUNT >> 8);
PT0=0;
ET0=1;
TR0=1;
EA=1;
}
void main(void)
{
timer0_initialize();
while(1);
}本回答被提问者和网友采纳
第2个回答 2008-05-07
我的博客上也有一个汇编语言的,当然还有一个C语言的,但是只是一个很基本的程序,如果是变成电子秒表,还得稍微改一下.只要你看懂了,肯定能自己写了.