数码管切换显示1234和4321
要使用5 1 个微控制器显示四位数的数字,您可以显示特定的数字管显示电路,以创建一个四个APEX一般负面数字管,P端口到输出段代码,并可以使用P2 端口。模拟是效果。
如下图所示。
延迟一段时间,然后显示4 3 2 1
在数码管中间显示四位数字,怎么改
您的计划实际运行吗? 有问题。要显示一个8 位数字,您需要修复它。
编写一个描述8 位数字的程序并编写一个显示4 位数字的程序。
如果 如果8 位不正确,也很难更改4 位。
通常显示8 位数字的修改程序。
#'reg5 1 .h>#{0x 3 f,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x7 d,0x3 9 4 ,0x3 9 4 ,0x3 9 ,0x7 0}; ucharcodewei [] = {0xfe,0xf7 .0,0xf7 .0xef,0xf7 .0xef,0xdf,0xdf,0x7 f,0x7 f,0x7 f,0x7 f} f [] = {0x7 f,0x7 f,0x7 f,0x7 f,0x7 f} f [] ] = {] 4 、4 、4 、4 、6 .7 ); //这一天代码voiddelay()//延迟subroutine {uintj; {uintj; for(j = 3 00; j> 0;}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} {}}}}}}}}}}} {p2 = wei。
i]可以使用值来维修的值。
//位代码p0 = LED LED(BIT [BUF [I]]延迟(i = 2 ; i + + ++)p2 = wei [i]; // led head [buy p0]段代码delay();} 模拟效果
求单片机驱动74hc164,四位7段数码管显示的C语言程序!
这是一个四位数系列显示计时器。,0x0}; //根据真实情况sbitk1 = p2 ^ 0进行自我编译; //定义添加sbitk2 = p2 ^ 1 ; //定义sbitclk缩写= p3 ^ 6 ; / / / 1 6 4 模拟孔的端子sbitdat = p3 ^ 7 ; // 1 6 4 Uintz模拟数据终端; y(uintt)//延迟功能{uintx,y; 对于(x = t; x> 0; x-)for(y = 1 2 0; y> 0; y - );} voidSendByte(uintb)//传输显示字节函数{ucharnum,c; num =表[b%1 0]; //(c = 0; c <8 ; c ++)//依次转移8 位(clk = 0; dat = num&0x01 ; = 1 ; num >> = 1 ;} num = table [b%1 00/1 0]; //(c = 0; c <8 ; c ++)的十位//传输8 位{clk = 0; 依次依次= num&0x01 ; clk = 1 ; num >> = 1 ;} num = table [b%1 00 0/1 00]; //(c = 0; c <8 ; c ++)//依次转移8 位(clk = 0; dat = num&0x01 ; clk = 1 ; num >> = 1 ;} num = table [b / 1 000]; //(c = 0; c <8 ; c ++)// 8 位转移{clk = 0; dat = num&0x01 ; cl依次依次k = 1 ; num >> = 1 ;}} voidKey(){if(k1 == 0){delay(3 ); if(k1 == 0){tr0 = 0; z ++; 如果(z == 1 0000)z = 0; sendbyte(z);} while(!k1 );} if(k2 == 0){delay(3 ); sendbyte(z);} while(!k2 );}} voidmain(){tmod = 0x01 ; //计时器0同步模式1 TH0 = 0xD8 ; //晶体振荡器1 2 MHz,时机1 0MSTL0 = 0xF0; EA = 1 ; ET0 = 1 TR0 = 1 ; sendbyte(0); while(1 )key();} voidTime()intrupt1 //计时器trible x1 00 = 1 秒{count = 0; z ++; if(z == 1 0000){z = 0;} sendbyte(z); //刷新显示}}}