找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3126|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

程序有錯誤.哪位大神能幫忙看看

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:108510 發(fā)表于 2016-6-2 20:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
10黑幣
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar Temperature[]={0,0,0};
sbit ST= P2^5;
sbit OE= P2^7;
sbit EOC =P2^6;
sbit CLK =P2^4;
sbit H_LED=P3^0;
sbit L_LED=P3^1;
sbit BEEP = P3^7;
uchar t=0;
void DelayMS(unit x)
{
uchar i;
while(x--)for(i = 0;i< 120; i++);
}
void Show_Temperature()
{
uchar i,DSY_IDX[]= {0xF7,0xFB,0xFD};
for  (i = 0;i < 3; i++)}
{
   P0 = DSY_CODE[ Temperature ];
   P2 &= DSY_IDX;
   DelayMS(5);
   P2 |= 0x0F;
  }
}
void main()
{
  uchar d;
  IE = 0x8a;
  TMOD = 18;
  TH0 = 245;
  TL0 = 0;
  TH1 = (65536 -1000) /256;
  TL1 = (65536 -1000) &256;
  TR0 = 1;
  H_LED = L_LED = 1;
  while(1)
{
   ST = 0; ST = 1; ST = 0;
   while(1)
  {
    if(EOC == 1)
    {
      OE = 1;
      d  = P1;
      OE = 0;
      Temperature[2] = d/100;
      Temperature[1] = d%100/10;
      Temperature[0] = d%10;
Show_Temperature();
  if(d < 60)
{
   TR1 = 1;  L_LED = !H_LED;
  }
  else
  if(d > 160)
{
  TR1 = 1;  H_LED = !L_LED;
}
  else
{
  TR1 = 0;  H_LED = L_LED = 1;
}
break;
          }
         }
       }
    }
void T0_INT() interrupt 1
{
   CLK = ~CLK;
}
void T1_INT() interrupt 3
{
  TL1 = (65536 -1000) % 256;
  BEEP = ~BEEP;
      { if (++t !=150 ) return; }
   else
      { if (++t !=60 ) return; }
   t = 0;
  DelayMS(20);
}

最佳答案

查看完整內(nèi)容

錯誤還真不少。。。 void DelayMS(unit x) unit????打錯字了吧 uchar i,DSY_IDX[]= {0xF7,0xFB,0xFD}; for (i = 0;i < 3; i++)} //////////這里這個右大括號什么意思???? P0 = DSY_CODE[ Temperature ]; //[ ]這里面應(yīng)該是一個數(shù)值,然而Temperature 是一個數(shù)組 P2 &= DSY_IDX;//////這里,DSY_IDX又是一個 數(shù)組。。。應(yīng)該是DSY_IDX吧 { if (++t !=150 ) return; } else//////////這個意義何在 ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:97438 發(fā)表于 2016-6-2 20:50 | 只看該作者
錯誤還真不少。。。
void DelayMS(unit x) unit????打錯字了吧

uchar i,DSY_IDX[]= {0xF7,0xFB,0xFD};
for  (i = 0;i < 3; i++)} //////////這里這個右大括號什么意思????

  P0 = DSY_CODE[ Temperature ]; //[ ]這里面應(yīng)該是一個數(shù)值,然而Temperature 是一個數(shù)組

   P2 &= DSY_IDX;//////這里,DSY_IDX又是一個 數(shù)組。。。應(yīng)該是DSY_IDX[i]吧

      { if (++t !=150 ) return; }
   else//////////這個意義何在?
      { if (++t !=60 ) return; }

總結(jié)一下,c語言基礎(chǔ)不過關(guān)。。。
回復(fù)

使用道具 舉報

板凳
ID:108510 發(fā)表于 2016-6-2 20:54 | 只看該作者
學的匯編.c的有點看不懂.急需幫忙啊
回復(fù)

使用道具 舉報

地板
ID:123917 發(fā)表于 2016-6-2 22:49 | 只看該作者
這是C,不是匯編。我也是學的匯編
回復(fù)

使用道具 舉報

5#
ID:108510 發(fā)表于 2016-6-3 23:12 | 只看該作者
luoluoluo136 發(fā)表于 2016-6-2 20:50
錯誤還真不少。。。
void DelayMS(unit x) unit????打錯字了吧

已成功修改.可是仿真效果不好.大概是程序上的問題.大神,能不能幫忙看看,這個我會另外懸賞.有空的話幫忙指導(dǎo)一下我這個小菜鳥.
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表