标题: 用单片机C51用以下电路图,做一个C语言程序,要求数码管开始显示1~8,在显示1~f十... [打印本页]

作者: ehehe    时间: 2016-12-7 21:58
标题: 用单片机C51用以下电路图,做一个C语言程序,要求数码管开始显示1~8,在显示1~f十...


作者: 1131014564    时间: 2016-12-9 19:59
是按键控制还是自动显示,了解数码管的构造,让相应的LED亮就可以实现数字的显示
作者: ehehe    时间: 2016-12-10 18:38
1131014564 发表于 2016-12-9 19:59
是按键控制还是自动显示,了解数码管的构造,让相应的LED亮就可以实现数字的显示

在第一位数码管用按键显示1~f
作者: 1131014564    时间: 2016-12-10 19:29
ehehe 发表于 2016-12-10 18:38
在第一位数码管用按键显示1~f

按键控制的话就用软件做一个扫描按键,然后给出相应的输出就可以了
作者: ehehe    时间: 2016-12-10 22:47
1131014564 发表于 2016-12-9 19:59
是按键控制还是自动显示,了解数码管的构造,让相应的LED亮就可以实现数字的显示

我们还没学会那么高级的,不理解
作者: 1131014564    时间: 2016-12-11 14:12
ehehe 发表于 2016-12-10 22:47
我们还没学会那么高级的,不理解

不高级的,很简单,你只需要看看矩阵按键和数码管的知识,一天就可以做出来
作者: a0931727149    时间: 2016-12-12 06:02
#include <reg52.h>
char code segcode[]={0xc0,0xf9,0xa4,0xb0,0x99,
                      0x92,0x82,0xf8,0x80,0x90}; //共陽段碼
char code secWcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};  //位碼

void delay(int  del) //延時1ms
  {
     int i,j;
                for(i=0;i<del;i++)
                for(j=0;j<110;j++);
  }
       
       
main()
{
        unsigned int a,b;
         while(1)
         {
                 for(a=0;a<16;a++)
                 {
                       
                         for(b=0;b<1000;b++) //
                         {
                                 
                                 P1=0xff;  //關閉段碼
                                 P2=~secWcode[0]; // 驅動共陽位碼
                                 P1=segcode[a]; //驅動段碼
                                 delay(1); //適當延時
                         }
                              
                 }
                 
                 
         }
         
}





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1