毕设求助,我的四位七段数码管为什么不亮啊

2019-07-18 11:15发布

学机械的,对于单片机不懂啊,求大神指点一下。毕设是基于AT89S52单片机直流电动机调速系统设计,求单片机大神发一个源程序,非常感谢
QQ图片20160517140512.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
武**乱
1楼-- · 2019-07-18 12:53
go*ez
2楼-- · 2019-07-18 15:46
根据引脚来写  很简单的  
Mr**HG
3楼-- · 2019-07-18 19:37
 精彩回答 2  元偷偷看……
r*c
4楼-- · 2019-07-18 22:30
go*ez 发表于 2016-5-18 00:07
根据引脚来写  很简单的

单片机一点也不会
r*c
5楼-- · 2019-07-18 23:21
在网上找的程序,一点都不懂
#include<absacc.h>
#include<reg51.h>
#define uchar unsigned char
unsigned char   disbit[]={0xfe,0xfd,0xfb,0xf7};

unsigned char code discode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned int   disbuf[4]={0,0,0,0};
unsigned int count,shu;
unsigned char sec,tcnt;

sbit MOTOR_A_2=P3^6;  //¶¨Òå
sbit MOTOR_A_1=P3^7;  //¶¨Òå
sbit EN_MOTOR_A =P1^7;   //¶¨Òå
sbit LED=P1^3;   //¶¨Òå
sbit p30=P3^0;  //¶¨Òå
sbit k1=P1^5;  //¶¨Òåk1Ϊp1.5¿Ú
sbit k2=P3^1;  //¶¨Òåk2Ϊp3.1¿Ú
sbit k3=P3^2;  //¶¨Òåk3Ϊp3.2¿Ú
sbit k4=P1^6;  //¶¨Òåk4Ϊp3.3Ϊ
sbit k5=P1^2;  //¶¨Òå
uchar T=0;  //¶¨Òå±ê¼Ç

uchar W=0;    //Âö¿íÖµ  0~100
uchar A=0;    //·½Ïò±ê¼Ç 0,1
uchar k=0;    //°´¼ü±ê¼Ç
uchar i=0;    //¼ÆÊý±äÁ¿
void delay(unsigned char N)   //ÑÓʱ
{
    unsigned char i;
    for(i=0;i<N;i++);
}
void disp(unsigned?char ch)
{
     unsigned?char k;   //ÏÔʾ£¬³£ÓõÄÒ»ÖÖ³ÌÐò£¬¿ÉÒÔ°ÑdisbufÊý×é±ä³ÉÒ»¸öÔÝʱ±äÁ¿Êä³ö
     disbuf[0]=ch%10;    //¸ö
     disbuf[1]=(ch%100)/10;   //Ê®
     disbuf[2]=ch/100%10;    //°Ù
     disbuf[3]=ch/100/10;    //ǧ
     for(k=0;k<4;k++)
             {
               P0=0xff; // p0×÷ΪÊä³ö£¬±ØÐëÏÈÖøߵçƽ
               P2=discode[disbuf[k]];  //ÉèÖÃLEDÁ¬½Ó¶Ï¶Ë¿Ú
                 P0=disbit[k];
             }
  }
   
void key(void)         //°´¼üÅжϳÌÐò
  {
       if(k1==0)//°´¼ü1°´ÏÂ
       {
            while(k1==0);    //°´¼ü1̧Æð
            if(W==100)     //Èç¹ûÂö¿íΪ100
                  W=0;    //Âö¿íÖÃ0
            else
                  W+=1;   //·ñÔò¼Ó1
        }
        else if(k2==0)    //°´¼ü2°´ÏÂ
        {
             while(k2==0);    //°´¼ü2̧Æð
             if(W==0)      //Èç¹ûÂö¿íΪ0
                  W=100;    //Âö¿íÉèÖóÉ100
             else
                  W-=1;    //·ñÔò¼õ1
         }
         else if(k3==0)    //°´¼ü3°´ÏÂ
         {
            while(k3==0);    //°´¼ü3̧Æð
            A=!A;     //·½Ïò±ê¼ÇÈ¡·´
            MOTOR_A_2=~MOTOR_A_2;
            MOTOR_A_1=~MOTOR_A_2;
            k=0;      //°´¼ü±ê¼ÇÇå0
            LED=~LED;
          }
          else if(k4==0)     //°´¼ü4°´ÏÂ
          {
               while(k4==0);   //°´¼ü4̧Æð
               W=0;     //Âö¿íÇå0
               k=0;     //°´¼ü±ê¼ÇÇå0
          }
     }
         
     void t0(void) interrupt 1 using 0 //¶¨Ê±T0Öն˷þÎñº¯Êý
     {  
            tcnt++; //ÿ¹ý250us tcnt¼ÓÒ»
            if(tcnt==40) //¼ÆÂú40´Î(1/100?)ʱ
            {
                tcnt=0; /ÖØÐÂÔÙ¼Æ
                sec++;
                if(sec==120) //¶¨Ê±1.2Ãë,ÏÔʾתËÙ,ÔÙ´ÓÁ㿪ʼ¼Æʱ
                {
                      sec=0;
                        TH0=0x06;  //¶ÔTH0 TL0¸³Öµ
                        TL0=0x06;  //250us
                        shu=count;
                        count=0;
                 }
             }
              T++;   //¶¨Ê±±ê¼Ç¼Ó1
              if(T>W)
                   {EN_MOTOR_A=0;
                    }
              else
                    EN_MOTOR_A=1;
              if(T==100)   //T¼ÆÂú100´Î,ÇåÁã
                    T=0;
         }

          void sdf(void)interrupt 2 using 0 //¼ÆÊýT1Öն˷þÎñº¯Êý
         {
               count=count+1;
         }        
                           main()
         {
            EX0=1;
            IT1=1;
            TMOD=0x02; //¶¨Ê±Æ÷T0¹¤×÷ÔÚ·½Ê½2×Ô¶¯ÖØ×°·½Ê½£¬¼ÆÊýÆ÷T1¹¤×÷ÔÚ·½Ê½2×Ô¶¯ÖØ×°·½Ê½
            TH0=0x06; //¶ÔTH0 TL0¸³Öµ
            TL0=0x06; //250us
            TR0=1; //¿ªÊ¼¶¨Ê±
            ET0=1; //ÔÊÐíT0²úÉúÖжÏ
            EA=1;//¿ªÖжÏ
            EX1=1;
            TR1=1;
            EA=1;
            shu=0;tcnt=0;count=0;//³õÖµ
         while(1)
          { if(k5==1)
              disp(shu);
              else
              disp(W);
              key();
          }
     }

一周热门 更多>