51单片机问题。。编写4个LED数码管同时循环显示0—9的数字 的程序。 用C语言写。。

有点急,希望高手帮忙。。

#include<reg51.h>
//-----------------------------------------------
void delay(unsigned int i) //延时
{
unsigned char j;
while(i--) for(j = 0; j < 115; j++);
}
//-----------------------------------------------
void main(void)
{
unsigned char n1;
unsigned char code SEG[] = {
0xc0, 0xf9, 0xa4, 0xb0, 0x99, //0-4
0x92, 0x82, 0xf8, 0x80, 0x90};//5-9
while(1) {
P0 = SEG[n1]; //P0口,外接共阳数码管的段选端
delay(2000);
n1++; if(n1 > 9) n1 = 0;
}
}

4个(任意个)共阳数码管的段选端,接在 P0,其位选,都接电源即可。
温馨提示:内容为网友见解,仅供参考
无其他回答

...编写4个LED数码管同时循环显示0—9的数字 的程序。
n1++; if(n1 > 9) n1 = 0;} } 4个(任意个)共阳数码管的段选端,接在 P0,其位选,都接电源即可。

用4个动态数码管显示,实现0~9999计数功能,延时为1s,用c语言。
define SEG_Num4\/\/数码管位数 define SEG_DataP0\/\/数码管段驱动接口 define SEG_EnP1\/\/数码管位驱动接口 define SEG_AllOff(SEG_En&=0xf0)\/\/关闭所有数码管(位驱动)define DisTimeAt1msCount4\/\/单'位'数码管显示时间,数码管刷新频率f=1\/(N×t),其中 N为数码管位数, t为单'位'数码管显示...

51单片机控制数码管循环显示0-9程序
采用共阴极LED数码管,51单片机P1口输出数据:ORG 0000H JMP MAIN ORG 0100H MAIN:MOV DPTR,#TAB MOV R1,#00H DISP:MOV A,R1 MOVC A,@A+DPTR MOV P1,A LCALL DELAY INC R1 CJNE R1,#0AH,DISP SJMP TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY: MOV R4,#...

51单片机c语言设计,按键控制数码管,依次按下显示0到9循环?
假设你的是共阳极数码管,P0接数码。按键接P2^0;include<reg52.h> typedef unsinged int uint;sbit key=P2^0;unsigned char tab[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void denay(uint x){ uint i,j;for(i=x;i>0;i--)for(j=110;j>0;j--)} void main(){ u...

51单片机c语言设计,按键控制数码管,依次按下显示0到9循环
]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(){ uint16 i=1000;while(i--);} void main(){ uchar n ;P2=0xfe;P1=0xff;while(1){ if(k1==0){ if(n>=9) n=0;else n++;P0=shuzu[n];while(!k1);delay();while(!k1);} } } ...

用单片机c51,c语言编0-9计数器程序!谢谢!!!
还有,你的数码管接法也不对啊 看你的排阻接法,你的数码管要用共阴极的 当加到9之后,再按一下,是不是又恢复到0啦???下面是更改的回答 include<reg51.h>unsigned char a;unsigned char code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};void init(void...

单片机数码管显示0到999c语言程序怎么编
unsigned char xs_d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned int time=0,s,sz;delay(unsigned int k){ unsigned int i,j;for(i=0;i<k;i++)for(j=0;j<125;j++);}INT_0()interrupt 0 { delay(10);if(INT0==0){sz++; if(sz>2){sz=0;}...

51单片机的共阴数码管怎么显示数字(c语言)
要让51单片机共阴数码管显示数字,只需要将单片机的P2端口输出数字对应的段码即可。以显示数字“0”为例,c语言程序如下:include<reg52.h> define uchar unsigned char define uint unsigned int \/\/数码管的段码编码 Uchar table[10] ={0x3f,0x06,...

51单片机C语言程序4个独立按键实现对数码管数字显示的加减清零等
P1是LED.P2是按键sbit KEY_OUT_1 = P2^3;sbit KEY_OUT_2 = P2^2; sbit KEY_OUT_3 = P2^1;sbit KEY_OUT_4 = P2^0;#define uchar unsigned char#define ulint unsigned long#define Frequency 10\/\/定时器中断时间 = f*T#define Time 1\/\/一个周期1ms#define TubeNumber 6\/\/数码管个...

用C语言51单片机编写数码管从00到99的循环程序
{ TMOD=0x01;ET0=1;EA=1;TR0=1;TH0=0x3c;TL0=0xaf;} void time_1s (void) interrupt 1 { int ncount;TH0=0x3c;TL0=0xaf;ncount++;if(ncount<20) return;{ ncount=0;i++;if(i==100) i=0;} }

相似回答