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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機初學者流水燈程序錯誤

  [復制鏈接]
跳轉到指定樓層
樓主
ID:638342 發(fā)表于 2019-12-23 23:11 來自手機 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
大佬們,幫我看一下唄,這個錯怎么改   我是初學者

-54830b693de8f6de.jpg (1.6 MB, 下載次數(shù): 44)

-54830b693de8f6de.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:235200 發(fā)表于 2019-12-24 02:18 | 只看該作者
你上傳的圖片中程序12行是沒錯的,檢查你工程中加載的main.c是否加載正確,可以雙擊右邊"main.c"看打開的文件是否對,因為看到你左邊工程建有兩個群組,要不刪除一個群組試試
回復

使用道具 舉報

板凳
ID:546770 發(fā)表于 2019-12-24 09:18 | 只看該作者
你的第三行的sbit led=P1要改成define led  P1,sbit是位操作,不能一下子定義整個IO口;
回復

使用道具 舉報

地板
ID:195446 發(fā)表于 2019-12-24 09:33 | 只看該作者
第一條語句就是錯的:sbit是位操作,定義不了P1。
回復

使用道具 舉報

5#
ID:638342 發(fā)表于 2019-12-24 11:17 來自手機 | 只看該作者
csmyldl 發(fā)表于 2019-12-24 02:18
你上傳的圖片中程序12行是沒錯的,檢查你工程中加載的main.c是否加載正確,可以雙擊右邊"main.c"看打開的文件 ...

雙擊 main.c沒有任何反應呀   不過要是雙擊那兩個錯誤就會跳到intrins.h的頭文件中
回復

使用道具 舉報

6#
ID:638342 發(fā)表于 2019-12-24 11:18 來自手機 | 只看該作者
csmyldl 發(fā)表于 2019-12-24 02:18
你上傳的圖片中程序12行是沒錯的,檢查你工程中加載的main.c是否加載正確,可以雙擊右邊"main.c"看打開的文件 ...

我刪除了一個組也不行
回復

使用道具 舉報

7#
ID:475247 發(fā)表于 2019-12-24 14:02 | 只看該作者
這個拿去,不謝!
#include "reg52.h"                         
#include<intrins.h>               

void main()
{
        u8 i;
        led=~0x01;
        delay(50000); //大約延時450ms       
        while(1)
        {       

                for(i=0;i<7;i++)         //將led左移一位
                {
                        led=_crol_(led,1);
                        delay(50000); //大約延時450ms       
                }
                for(i=0;i<7;i++)        //將led右移一位
                {
                        led=_cror_(led,1);
                        delay(50000); //大約延時450ms       
                }

        }               
}
回復

使用道具 舉報

8#
ID:668457 發(fā)表于 2019-12-24 14:13 | 只看該作者
圖片顯示,mian.c沒錯,有問題的是intrins.h,141和129行。
回復

使用道具 舉報

9#
ID:275826 發(fā)表于 2019-12-24 15:10 | 只看該作者
sbit led=P1改成 #define  led  P1
回復

使用道具 舉報

10#
ID:672573 發(fā)表于 2019-12-24 16:14 | 只看該作者
試試這個#define led P1
回復

使用道具 舉報

11#
ID:56002 發(fā)表于 2019-12-24 16:23 | 只看該作者
還有誰? 發(fā)表于 2019-12-24 14:02
這個拿去,不謝!
#include "reg52.h"                         
#include               

用這個函數(shù)流水燈看起來自然些
回復

使用道具 舉報

12#
ID:638342 發(fā)表于 2019-12-24 16:54 來自手機 | 只看該作者
小黑屋525 發(fā)表于 2019-12-24 09:18
你的第三行的sbit led=P1要改成define led  P1,sbit是位操作,不能一下子定義整個IO口;

改了之后錯誤還是沒變,  好無助啊
回復

使用道具 舉報

13#
ID:638342 發(fā)表于 2019-12-24 17:21 來自手機 | 只看該作者
小黑屋525 發(fā)表于 2019-12-24 09:18
你的第三行的sbit led=P1要改成define led  P1,sbit是位操作,不能一下子定義整個IO口;

之后我針對這個問題又編了一個簡單的程序,用sbit
聲明整個IO口,計算機是檢查不出來,是沒有錯誤的,但是單片機沒有反應。
回復

使用道具 舉報

14#
ID:672691 發(fā)表于 2019-12-24 17:38 | 只看該作者
無法錯誤,定義led的端口不對
回復

使用道具 舉報

15#
ID:638342 發(fā)表于 2019-12-24 21:49 來自手機 | 只看該作者
void led=P1  改成#define led=P1 但是還是不行,報錯還是一樣
回復

使用道具 舉報

16#
ID:668457 發(fā)表于 2019-12-24 23:36 | 只看該作者

我照這敲了一遍,沒錯。是不是你的intrins.h錯誤?
#ifndef __INTRINS_H__
#define __INTRINS_H__

extern void          _nop_     (void);
extern bit           _testbit_ (bit);
extern unsigned char _cror_    (unsigned char, unsigned char);
extern unsigned int  _iror_    (unsigned int,  unsigned char);
extern unsigned long _lror_    (unsigned long, unsigned char);
extern unsigned char _crol_    (unsigned char, unsigned char);
extern unsigned int  _irol_    (unsigned int,  unsigned char);
extern unsigned long _lrol_    (unsigned long, unsigned char);
extern unsigned char _chkfloat_(float);
extern void          _push_    (unsigned char _sfr);
extern void          _pop_     (unsigned char _sfr);

#endif


回復

使用道具 舉報

17#
ID:141497 發(fā)表于 2019-12-25 00:16 | 只看該作者
變量聲明要在程序開始,sibit是位定義。按你的寫法要用宏定義define.
#include <reg52.h>
#define led P0
void delay(unsigned int z)
{
while(z--);
}
void main()
{
  unsigned char i;
  led=0xff;
  while(1)
  {
      for(i=0;i<8;i++)
       {
           led=0xff;
          led&=~(1<<i);
          delay(50000);
       }
  }
回復

使用道具 舉報

18#
ID:638342 發(fā)表于 2019-12-25 09:10 來自手機 | 只看該作者
未成為大佬 發(fā)表于 2019-12-24 23:36
我照這敲了一遍,沒錯。是不是你的intrins.h錯誤?
#ifndef __INTRINS_H__
#define __INTRINS_H__

謝謝啦   問題解決啦 ,確實是intrins.h頭文件中程序少加了一個崗 ,應該是我誤刪的  哈哈
回復

使用道具 舉報

19#
ID:638342 發(fā)表于 2019-12-25 09:11 來自手機 | 只看該作者
51jia 發(fā)表于 2019-12-25 00:16
變量聲明要在程序開始,sibit是位定義。按你的寫法要用宏定義define.
#include
#define led P0

謝謝啦    問題解決啦  
回復

使用道具 舉報

20#
ID:673161 發(fā)表于 2019-12-25 09:40 | 只看該作者
sbit是定義特殊寄存器的位變量,不能直接定義P1
回復

使用道具 舉報

21#
ID:673161 發(fā)表于 2019-12-25 09:42 | 只看該作者
偽爺 發(fā)表于 2019-12-25 09:10
謝謝啦   問題解決啦 ,確實是intrins.h頭文件中程序少加了一個崗 ,應該是我誤刪的  哈哈

原來是這樣,可以可以,解決了就好
回復

使用道具 舉報

22#
ID:673270 發(fā)表于 2019-12-25 11:02 | 只看該作者
sbit 是位定義,P1口8位使用,直接調用
回復

使用道具 舉報

23#
ID:586188 發(fā)表于 2019-12-25 11:30 | 只看該作者
圖片底下有錯誤提示,根據(jù)提示改
回復

使用道具 舉報

24#
ID:664974 發(fā)表于 2019-12-25 13:50 來自手機 | 只看該作者
led=P1 錯了哦
回復

使用道具 舉報

25#
ID:546770 發(fā)表于 2019-12-25 13:54 | 只看該作者
偽爺 發(fā)表于 2019-12-24 17:21
之后我針對這個問題又編了一個簡單的程序,用sbit
聲明整個IO口,計算機是檢查不出來,是沒有錯誤的, ...

只可惜我電腦上沒有Keil了,你可以把工程貼上來,這樣子光說很難找的出問題的
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品一级 | 亚洲精品乱码久久久久v最新版 | 中文字幕国产第一页 | 亚洲欧洲成人av每日更新 | 中文字幕一级毛片 | 在线一区二区国产 | 国产欧美精品一区二区 | 午夜精品久久久久久久 | 国产午夜精品久久久久 | 国产不卡在线 | 国产精品揄拍一区二区 | 欧美一级免费看 | 久久久久久久久久久高潮一区二区 | 亚洲精品一区二三区不卡 | 久久国产99| 午夜精品在线观看 | 97av在线| 国产午夜精品视频 | 欧美精品一区在线 | 天天干b| 一区二区国产精品 | 一区二区日韩 | 国产成人福利视频 | 四虎首页| 国产精品久久久久久久久久久免费看 | 免费观看一级毛片 | 国产精品99久久久久久动医院 | 在线激情视频 | 亚洲国产成人精品女人久久久野战 | 国产精品二区三区 | www.99精品| 中文久久 | 男女网站视频 | 国产高清美女一级a毛片久久w | 黑人性hd | 午夜影院视频 | 亚洲国产成人精品一区二区 | 国产福利免费视频 | 在线激情视频 | 中文字幕成人av | 日日噜噜噜夜夜爽爽狠狠视频, |