用STC89C51单片机键盘输入任意一个8位的数字,然后在两个数码管(加起来)上显示出来,C语言程序怎么写?
#include #defineucharunsiinsedchar; Uchchled1 ,LED2 ,LED3 ,LED4 ; uchcheyval,calflag,s_dat,d_dat; uchardistab [] = {0xc0.0xf9 .0xa4 .0xb0.0x9 9 .0x8 2 .0,0 xf8 .0x8 0.0x8 8 .0x8 8 .0x8 3 .0xc6 .0x8 6 .0x8 6 .0x8 e,0xff}; UnatedTnumber,r_dat; voiddelay(j = 0000; +); voiddealdat(){switch(calfag){case:r_dat = s_dat+d_dat; r_dat = s_dat/d_dat; asccode,recode; ode&0x01 )! = 0){p3 = sccode; e =(sccode
51单片机,用级联的74HC595驱动8个数码管。
程序写完了,但是延时有问题,结果数码管就像流水灯
#include #include sbitsh_cp = p2 ^2 ; sbitds = p2 ^0; odetable [] = {0xc0.0xf9 .0xa4 .0x9 9 .0x9 2 .0x8 2 .0x8 0.0x8 8 .0x8 3 3 .0xc6 ,0x 8 6 .0x8 e}; charcodewei [] = {0x01 .0x02 .0x04 4 .0x08 .0x1 0x2 0,0x4 0.0x8 0}; UnignedArcodedsb [] = {2 ,0,1 ,5 ,0,7 ,6 ,6 }; for(j = 1 2 0; j> 0; j-);} voidinput_5 9 5 (unsignedchardata){unsignedchari; for(i = 0; i
基于51单片机利用八个数码管花样显示如下
我感到无聊,并帮助您看到了它。
0x6 6 ,0x6 d,0x7 d,0x07 ,0x7 f,0x6 f,0x4 0}; 它[8 ] = {0xe7 ,0xc3 ,0x8 1 ,0x00,0x8 1 ,0xc3 ,0x8 1 ,0x00}; Oddilay(unsignedInti){charj; for(i; i> 0; i- for(j = 2 00; j> 0; j-);
利用AT89C51单片机设计简易电子钟(六位),通过8位LED数码管实现时间显示;系统可以通过三个按键实现时间
编程想法:1 调用微控制器的内部计时器。
接下来,我们将提供一个参考的集合。
#include #include #defineucharunsignedchar 0x6 6 ,0x6 d,0x7 d,0x07 ,0x7 f,0x6 f}; // 0x7 f ue [1 6 ] = {0,1 ,1 ,2 ,3 ,5 ,6 ,8 ,1 1 ,1 1 ,1 4 ,1 5 }; UC Harddata是0UintCount = 0。
//端口C是输入的,没有拉动 - up uperance = 0xff; ;} voiddelay(uintj)// while(j-){voiddisplay(uchar*p)// {uchari,min = 0; /字体代码延迟(1 ); //向左转移一个){(Pind&0x0f)延迟(3 ); key_value [1 2 ]; 休息; } portd&0x0f:keynum = keynum = key_value [5 ]; bf; switch(pot&0x0f){keynum = keynum = keynum = keynum = key_value; :keynum = key_value [3 ] break; case0xd:keynum:keynum = keynum = keynum [1 5 ]; BCD代码是显示数千,数百,1 0和1 0位{0] I/1 00的能力; count = keynum; 计数,数据);