急急急急急………………求一个单片机做一个四个按键控制四个七段数码管显示的程序 网上很多,找一个电子钟程序把时间改成逢10进1就是你要的了
求51单片机的C程序,就是键盘控制这个一位七段数码管,按键按1按下数码管上能够显示1,按2就能从1变到2。 51单片机的C程序,4*4键盘控制这个八位七段数码管。可以参考一下includedefine uchar unsigned charuchar temp;int key1,key,disbuf;此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e funsigned char code LED7Code[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};unsigned char ledx[8];bit s0,s1;void delay(uchar z){uchar i,j;for(i=0;i;i+)for(j=0;j;j+);}void scan()/要是按键了,扫描键盘编码值{P1=0xF0;delay(1);temp=P1;switch(temp){case 0xe0:key1=0;break;case 0xd0:key1=1;break;case 0xb0:key1=2;break;case 0x70:key1=3;break;}P1=0x0f;delay(1);temp=P1;switch(temp){case 0x0E:key=key1+0;break;case 0x0D:key=key1+4;break;case 0x0B:key=key1+8;break;case 0x07:key=key1+12;break;default:key=-1;}if((key1+1)&(key+1))disbuf=key;}void ejjc()/判断是否按键{P1=0xF0;if(P1。0xF0){ scan();s0=1;}else { s0=0;s1=1;}}void main(){uchar i;while(1){ejjc();if(s0=1&s1=1){s0=0;s1=0;for(i=0;i;i+){ ledx[i]=ledx[i+1];ledx[8]=disbuf;}}P0=0xff;P2=LED7Code[ledx[0]];P0=。
用51单片机程序显示3位7段数码管,求具体程序 假设为共阴极数码管,驱动输入端接单片机P1口,共阴极接P2口的0.1.2.脚。我的程序如下,当前显示数字123includetypedef unsigned char uint8;typedef unsigned int uint16;typedef long int uint32;code uint8 number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay_ms(uint16 x)/1ms延时{uint8 i=121;while(x>;0){i=121;while(i>;0)i-;x-;}}void xianshi(uint16 x){uint8 i=0;for(i=0;i;i+){P2=~e799bee5baa6e58685e5aeb931333332643832(1);switch(i){case 0:P1=number[(x/1)%10];break;case 1:P1=number[(x/10)%10];break;case 2:P1=number[(x/100)%10];break;default:break;}delay_ms(10);}}main(){while(1){xianshi(123);}}
跪求单片机实验四位七段数码管显示程序!!! 自己修改:/*标题:伟纳电子ME300B单片机开发系统演示程序-LED数码管显示1-8*文件:wl004.C*日期:2004-1-5*版本:1.0*作者:伟纳电子-Freeman*邮箱:freeman.com*网站:。
我在参考书上看到单片机 与七段数码管这样接 对么 我运行之后 数码管总要先显示一个8字 到底应该怎么接 这样接是可以的 如果单片机里程序没控制P0口 那么它默认输出都是高电平 所以数码管显示八
用microship的单片机实现在7 段数码管上显示温度,并控制风扇转速。 51,AVR单片机是有的。PIC没去做。基本上程序思路都差不多。
跪求单片机实验四位七段数码管显示程序!!! 10分太少了,50分
看看我这个单片机板子是怎么让7段数码管工作的? sbit_SCK=P1^1;74LS164的时钟信号sbit_DI=P1^0;74LS164数据输入sbit P32=P3^2;数码管的位选信号sbit P33=P3^3;数码管的位选信号unsigned char code Led_Show[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x41,0xc4,0xf0,0x4c,0xe0,0xe10xff};数码管显示码表(共阳)功能:数码管显示子程序void Hc164(unsigned char temp){unsigned char i,temp1;temp1=Led_Show[temp];for(i=0;i;i+){SCK=0;if((temp1&0x80)。0x80)DI=0;elseDI=1;SCK=1;temp1;}}上面的这段程序其实只给出了如何向74LS164输出8位数据。至于显示,由于不知道你是用的扫描方式还是串行驱动方式(也就是你用了几块74LS164来驱动你的6位数码管)因此没有办法给出详细的方法。还有一点需要注意你的数码管是共阴还是共阳的,这段程序的码表是共阳数码管的,假如你用的共阴数码管,码表需要修改。原理图如下
单片机keil,七段数码管程序,哪里错了,怎么是乱码