动态数码显示技术 c语言程序 单片机c51

动态数码显示技术
(1) P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关
(2) 当开关接高电平时,显示“12345”字样
(3) 当开关接低电平时,显示“HELLO”字样
急求程序,急急急急急急急急急急急急

这里写个最简单的:

 #include <reg52.h>

  sbit k=P1^7;

  unsigned int i=0 ,j=0;

  unsigned char code dis12345[]={0x06,0x5b,0x4f,0x66,0x6d};  //段码12345

  unsigned char code dishello[]={0x76,0x79,0x38,0x38,0x5c};  //段码hello

  unsigned char code wei[]={0x1e,0x1d,0x1b,0x17,0x0f}; //位码

 

 void main()

 {

 while(1)

    {

    P2=wei[i];  // 送位码

   if(k==1)P0=dis12345[i]; //  P1_7高时  送段码12345

     else P0=dishello[i]; //  P1_7低时 送段码hello

      i++;

     if(i>4) i=0;      

     for(j=0;j<500;j++) ; //单个数码管延时

     }

  } 

点开“查看大图”,然后另存,再打开查看更大的图。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-23
这个我可以的。联系我做
第2个回答  2010-12-24
#0df 点亮最左边一个数码管 需要在此从右边开始显示 。

a=temp<<(i+1);
b=temp>>(7-i);//什么意思呢?2222222222
temp=a|b;

相当于temp<<=1;
相似回答