求单个按键控制数码管显示(动态)1234的程序,或者帮我改下下面这段数码管的代码程序 如何在外部控制数码管的动态显示,就是我按键可以改变数码管显示...

作者&投稿:贝方 (若有异议请与网页底部的电邮联系)

程序如下

#include<reg52.h>

sbit k1=P3^2;

bit  dis;//显示标志位

unsigned char code ledtab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

unsigned char ledbuf[]={1,2,3,4};

void delay(unsigned char x)

{

unsigned int j;

while(x--)

for(j=400;j>0;j--);

}

void display()

{

unsigned char j,ledbit=1;

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

{

P0=ledbit;

P2=ledtab[ledbuf[j]];

delay(1);

ledbit<<=1;

}

P0=0;//关掉显示

}

void main()

{

while(1)

{

if(dis==0)

display();

if(k1==0)

{

delay(10);

if(k1==0)

{

dis=!dis;

while(k1==0);

}

}

}

}

仿真图



求单个开关按键控制数码管显示(动态)1234的程序,或者帮我改下下面这段数码管的代码程序~

全灭时P2位控输出为全0才行。

延时子程序延时过长了,显示就闪了,修改如下

识别按键的程序会写不?那数码管显示的数应该是某个变量的值吧?
当按键后,改变这个变量的值,数码管显示的数就变了。
数码管要滚动显示,显示程序要用到显示缓冲区,把缓冲区的数据依此向前移动,或向后移动。

求单个按键控制数码管显示(动态)1234的程序,或者帮我改下下面这段数码...
答:程序如下 include<reg52.h> sbit k1=P3^2;bit dis;//显示标志位 unsigned char code ledtab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};unsigned char ledbuf[]={1,2,3,4};void delay(unsigned char x){ unsigned int j;while(x--)for(j=400;j>0;j--);}...

单片机是否能用一个按键控制数码管的显示图?
答:可以的。代码如下:include<reg52.h> defineuintunsignedint defineucharunsignedchar//宏定义 sbitkey1=P0^0;//定义键盘IO口 sbitkey2=P0^1; // sbitbeep=P2^3;sbitkey3=P0^2;ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳数码管编码号 ucharnum...

51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示
答:1、首先,要把代码写好,点亮数码管。2、代码写完后,要确认原先写好的代码是不是正确的。3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、最...

51单片机怎么用按键控制一个数码管,按一下显示一
答:/*---名称:单个共阳数码管动态显示变化数字内容:通过循环检测P1口按键输入值,然后用数码管输出,没有按键按下时原值不变---*/#include//包

一个按键怎么控制数码管显示不同的字符
答:这个要加程序的,按一下按键,程序中变量自加1,然后根据程序变量的值,显示相应的字符。例如:1 MP3 2 CD 3 DVD,如果当前变量值为3,下一次按键有效时,应直接赋值为1,这样就形成了循环

如何在51单片机矩阵键盘里按一个键可实现数码管动态显示而不是一...
答:kbscan(void){unsigned char sccode,recode;P1=0x0f; //发0扫描,列线输入if ((P2 & 0x0f) != 0x0f) //有键按下{delay(20); //延时去抖动if ((P1&0x0f)!= 0x0f){sccode = 0xef; //逐行扫描初值while((sccode&0x01)!=0){ P1=sccode;if((P1&0x0f)...

一个独立按键控制数码管动态显示程序亮灭c语言
答:void shumaguan(uchar a) //数码管 { wela=1;P0=0xc0;wela=0;dula=1;P0=table[a];//a在键盘函数引用 dula=0;delay(10);} void liushuideng() //流水灯 { b=0xc9;while(e>=0&&e<=80){ P1=b;delay(50);b=_crol_(b,1);e++;if(e==80)b=0xff;} } uchar key()//...

FPGA verilog实现键控数码管动态显示 急啊!!
答:D3,Q,COM,Enable,clk );input [3:0] D0,D1,D2,D3;input Enable,clk;output [7:0] Q;output [3:0] COM;reg [3:0] COM;reg [7:0] Q;reg [3:0] Dn;reg [1:0] state;always@(posedge clk)begin state <= state + 2'b1;end always@(posedge clk)begin if(!Enable) ...

单片机按键控制数码管显示
答:num0];//第1位 while(!TI);TI=0;led0=0;delay(2);led0=1;SBUF=dispcode[num1];//第2位 while(!TI);TI=0;led1=0;delay(2);led1=1;SBUF=dispcode[num2];//第3位 while(!TI);TI=0;led2=0;delay(2);led2=1;我可以帮助你,你先设置我最佳答案后,我百度Hii教你。

怎么让单片机独立按键1个键位显示两个数码管
答:你把显示1,2的程序放在按键识别过程中,只能是在按键的时候才显示,一旦松开按键就停在显示2了。就算是这个目的,你的程序也要修改才行,否则,就是你说的现象。把源程序发上来,帮你改,这截图没法改,不能照截图现敲代码吧。