久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2648|回復: 4
打印 上一主題 下一主題
收起左側

Proteus 8代編寫可控跑馬燈遇到問題,求大神解答!

[復制鏈接]
跳轉到指定樓層
樓主
100黑幣
用Keil uVision5編寫的C語言代碼如下畫的原件圖在附件里
不懂哪里有問題


#include<regx51.h>
#define uchar unsigned char  
#define uint  unsigned int   
uint code unm[]={0,1,3,5,7,9,15,60,100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500};

uchar unm1[]={0xff,0xef,0xc7,0xab,0xef,0xef,0xef,0xff};

uchar m,n,j,y;
uint  l,g;

void delay(uint i)
{
  uchar j;  
  while(i--)
  for(j=0;j<120;j++);  
}                                                

void init()
{
  TMOD = 0x11;   
  TH0 = 0x00;
  TL0 = 0x00;                                                
  TH1 = 0xaa;  
  TL1 = 0xbb;                                                
  EA = 1;  
  ET0 = 1;  
  ET1 = 1;  
  TR0 = 1;
  TR1 = 1;
}


bit ce_anjian ( )
{
  bit key=0;
  P1=0xf3;   
  if(P1!=0xf3)   
      key=1;   
  else
      key=0;   
  return(key);  
}


void ce_jianzhi ( )
{
   uchar i,j,p;
   do                           
   {
      while(ce_anjian()==0);   

      delay(50);
   }while(ce_anjian()==0);
   for(i=0;i<2;i++)                          
   {
      P1=(0xfe<<i)|i;
     for(j=0;j<2;j++)
         {
           p=P1&0x0c;  
           if(p==0x08>>j)
           {
              y=i*2+j+1;  
                  goto D1;  
            }
         }
   }
D1:  delay(50);
   do
   {
      while(ce_anjian()==1);

      delay(50);  
   }while(ce_anjian()==1);
}

void mingjiao()
{
  uchar t;   
  for(t=0;t<50;t++)                                          
  {
    P1_7=0;        
  }
    P1_7=1;
}

void main()
{        
  init();
  n=5;   
  while(1)
  {
    l=unm[n];         
        if(ce_anjian()==1)  
        {
          ce_jianzhi();  
          switch(y)
          {
            case 1: {m=1;j=0x7f;mingjiao();}break;   
            case 2:        {m=2;j=0xfe;mingjiao();}break;  
            case 3:        {n=n+1;if(n==24)n=23;mingjiao();}break;
            case 4:        {n=n-1;if(n==0)n=1;mingjiao();}break;  
        default: break;
          }
        }
  }
}

void t_1()interrupt 3
{
  uchar a,k;  
  TH1 = 0xaa;   
  TL1 = 0xbb;
  switch(m)  
  {
     case 1:  
        {
          a=0x01;  
      for(k=0;k<8;k++)
      {
            P2=a;                                                        
            P3=unm1[k];                                       
        delay(2);               
            a=a<<1;                                                        
            if(a==0)a=0x01;        
            P0=j;
      }
        }break;
         case 2:   
        {
          a=0x80;  
      for(k=0;k<8;k++)
      {
            P2=a;                                                        
            P3=unm1[k];                                       
        delay(2);               
            a=a>>1;                                                        
            if(a==0)a=0x80;        
            P0=j;   
      }
        }
  }        
}

void t_0()interrupt 1
{
  uchar b1,b2,b3,b4,b5,b6,b7,b8;  
  if(++g<l) return;   
  g=0;   
  switch(m)
  {
    case 1:{ j=(j>>1)|0x80;
                 if(j==0xff)j=0x7f;}break;
        case 2:{ j=(j<<1)|0x01;
                 if(j==0xff)j=0xfe;}break;
  }
  b1=unm1[0];
  b2=unm1[1];
  b3=unm1[2];
  b4=unm1[3];
  b5=unm1[4];
  b6=unm1[5];
  b7=unm1[6];
  b8=unm1[7];
  unm1[0]=b2;
  unm1[1]=b3;
  unm1[2]=b4;
  unm1[3]=b5;
  unm1[4]=b6;
  unm1[5]=b7;
  unm1[6]=b8;
  unm1[7]=b1;
}



這是C語言代碼


51hei圖片20200304211544.png (112.9 KB, 下載次數: 33)

師傅也不懂

師傅也不懂

問題.png (193.65 KB, 下載次數: 45)

這是畫的圖

這是畫的圖
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:687694 發表于 2020-3-5 15:19 | 只看該作者
bit ce_anjian ( )
{
  bit key=0;
  P1=0xf3;
  if(P1!=0xf3)   
      key=1;   
  else
      key=0;
  return(key);
}
沒太仔細看,你這段有錯誤,每次調用函數返回結果key始終是0,且P1被賦值0xf3;
每次進入按鍵函數,key被定義為0,P1被賦值0xf3; if選擇函數表達式結果均為0,即key=0,函數返回0         
                                 
回復

使用道具 舉報

板凳
ID:342822 發表于 2020-3-5 20:40 | 只看該作者
p1_7替換為BUZZ
可以運行






回復

使用道具 舉報

地板
ID:342822 發表于 2020-3-5 21:48 | 只看該作者
/* Main.c file generated by New Project wizard
*
* Created:   周四 3月 5 2020
* Processor: AT89C52
* Compiler:  Keil for 8051
*/

#include <reg51.h>
#include <stdio.h>

//#include<regx51.h>
#define uchar unsigned char  
#define uint  unsigned int   
uint code unm[]={0,1,3,5,7,9,15,60,100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500};

uchar unm1[]={0xff,0xef,0xc7,0xab,0xef,0xef,0xef,0xff};
sbit buzz=P1^7;    //定義單片機I/O口 P1.7的偽名稱叫buzz
uchar m,n,j,y;
uint  l,g;

void delay(uint i)
{
  uchar j;  
  while(i--)
  for(j=0;j<120;j++);  
}                                                

void init()
{
  TMOD = 0x11;   
  TH0 = 0x00;
  TL0 = 0x00;                                                
  TH1 = 0xaa;  
  TL1 = 0xbb;                                                
  EA = 1;  
  ET0 = 1;  
  ET1 = 1;  
  TR0 = 1;
  TR1 = 1;
}


bit ce_anjian ( )
{
  bit key=0;
  P1=0xf3;   
  if(P1!=0xf3)   
      key=1;   
  else
      key=0;   
  return(key);  
}


void ce_jianzhi ( )
{
   uchar i,j,p;
   do                           
   {
      while(ce_anjian()==0);   

      delay(50);
   }while(ce_anjian()==0);
   for(i=0;i<2;i++)                          
   {
      P1=(0xfe<<i)|i;
     for(j=0;j<2;j++)
         {
           p=P1&0x0c;  
           if(p==0x08>>j)
           {
              y=i*2+j+1;  
                  goto D1;  
            }
         }
   }
D1:  delay(50);
   do
   {
      while(ce_anjian()==1);

      delay(50);  
   }while(ce_anjian()==1);
}

void mingjiao()
{
  uchar t;   
  for(t=0;t<50;t++)                                          
  {
    buzz=0;        //P1_7被替換
  }
    buzz=1;         //P1_7被替換
}

void main()
{        
  init();
  n=5;   
  while(1)
  {
    l=unm[n];         
        if(ce_anjian()==1)  
        {
          ce_jianzhi();  
          switch(y)
          {
            case 1: {m=1;j=0x7f;mingjiao();}break;   
            case 2:        {m=2;j=0xfe;mingjiao();}break;  
            case 3:        {n=n+1;if(n==24)n=23;mingjiao();}break;
            case 4:        {n=n-1;if(n==0)n=1;mingjiao();}break;  
        default: break;
          }
        }
  }
}

void t_1()interrupt 3
{
  uchar a,k;  
  TH1 = 0xaa;   
  TL1 = 0xbb;
  switch(m)  
  {
     case 1:  
        {
          a=0x01;  
      for(k=0;k<8;k++)
      {
            P2=a;                                                        
            P3=unm1[k];                                       
        delay(2);               
            a=a<<1;                                                        
            if(a==0)a=0x01;        
            P0=j;
      }
        }break;
         case 2:   
        {
          a=0x80;  
      for(k=0;k<8;k++)
      {
            P2=a;                                                        
            P3=unm1[k];                                       
        delay(2);               
            a=a>>1;                                                        
            if(a==0)a=0x80;        
            P0=j;   
      }
        }
  }        
}

void t_0()interrupt 1
{
  uchar b1,b2,b3,b4,b5,b6,b7,b8;  
  if(++g<l) return;   
  g=0;   
  switch(m)
  {
    case 1:{ j=(j>>1)|0x80;
                 if(j==0xff)j=0x7f;}break;
        case 2:{ j=(j<<1)|0x01;
                 if(j==0xff)j=0xfe;}break;
  }
  b1=unm1[0];
  b2=unm1[1];
  b3=unm1[2];
  b4=unm1[3];
  b5=unm1[4];
  b6=unm1[5];
  b7=unm1[6];
  b8=unm1[7];
  unm1[0]=b2;
  unm1[1]=b3;
  unm1[2]=b4;
  unm1[3]=b5;
  unm1[4]=b6;
  unm1[5]=b7;
  unm1[6]=b8;
  unm1[7]=b1;
}

回復

使用道具 舉報

5#
ID:336165 發表于 2020-3-6 17:30 | 只看該作者
運行了之后什么樣,亮都不亮嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 做a视频在线观看 | 在线观看国产精品一区二区 | 精品一区精品二区 | 毛片a级 | 久久久123 | 黄网站色大毛片 | 精品不卡 | 黄色成人免费看 | 亚洲欧美日韩精品久久亚洲区 | 久久久久久毛片免费观看 | 久久久精品一区二区 | 一区二区高清不卡 | 香蕉婷婷| 人人做人人澡人人爽欧美 | 国产成人a亚洲精品 | 久久久久一区 | 精品国产乱码久久久久久丨区2区 | 国产成人一区二区三区精 | 亚洲精品久久久久久久久久吃药 | av中文网 | 久久久久久国产精品 | 爱高潮www亚洲精品 中文字幕免费视频 | 美国黄色毛片 | 97在线观视频免费观看 | 国产欧美日韩一区二区三区在线观看 | 黄色亚洲网站 | 国产精品美女久久久久久免费 | 亚洲欧洲一区 | 精品国产伦一区二区三区观看说明 | 亚洲精彩免费视频 | 日本国产高清 | 91短视频网址 | 懂色中文一区二区在线播放 | 国产98色在线 | 日韩 | 久久国产亚洲 | 欧美伊人久久久久久久久影院 | 九九九久久国产免费 | 成人av免费 | 中文成人在线 | 99这里只有精品视频 | 色www精品视频在线观看 |