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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

各位大佬能不能指點一下……這個ad程序錯在哪了……萌新上路啥也不會QAQxpt2046

[復制鏈接]
跳轉到指定樓層
樓主
ID:260413 發表于 2017-12-13 00:09 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>#include<intrins.h>                        #define   uint unsigned int;          
#define  uchar unsigned char;
sbit A=P2^2;
sbit B1=P2^3;
sbit C=P2^4;
sbit DIN=P3^4;
sbit DCLK=P3^6;
sbit CS=P3^5;
sbit DOUT=P3^7;
uchar shownum,temp,i,j,bb,dat,aa;
uchar disp[4];uchar code num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void temperture_write(uchar dat){      
uchar i;  
DCLK=0;  
for(i=0;i<8;i++)   
  {            DIN=dat >> 7;               
dat  <<=1;               
DCLK=0;       
        DCLK=1;         }  }   
uint temperture_read(void)
{   
uint j,dat=0;  
DCLK=0;
  for(j=0;j<12;j++)
  {      dat<<=1;
  DCLK=1;       
  DCLK=0;          
dat|=DOUT;   }  
return dat;
}
uint C51_read(uchar cmd)
{   uchar aa;   uint AD_value;
   DCLK=0;  
CS=0;  
temperture_write(cmd);   
for(aa=6;aa>0;aa--);   
DCLK=1;   
_nop_();
  _nop_();   
DCLK=0;  
_nop_();  
_nop_();  
AD_value=temperture_read();
  CS=1;   
return AD_value;}
是不是有什么口沒開?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2017-12-13 15:30 | 只看該作者
你在哪里抄的程序片段?主程序main()都沒有,怎么運行?
回復

使用道具 舉報

板凳
ID:260413 發表于 2017-12-19 20:20 | 只看該作者
wulin 發表于 2017-12-13 15:30
你在哪里抄的程序片段?主程序main()都沒有,怎么運行?

我我我是抄的....但是不寫main函數這個東西啊好像也不能運行.....然后我試圖加了main函數,就是一個顯示....您能看看嗎QAQ耽誤大佬時間了

#include<reg52.h>
#include<intrins.h>                       
#define  uint unsigned int;          
#define  uchar unsigned char;
uchar dat,i,cmd,temp,num;
uint AD_Value;
uint x,y,z;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
sbit wela=P2^6;
sbit dula=P2^7;
sbit DOUT = P3 ^ 7;  
sbit CLK  = P3 ^ 6;  
sbit DIN  = P3 ^ 4;   
sbit CS   = P3 ^ 5;   
void delay(uint);
void SPI_Write();
uint SP_Read()         ;
uint Read_AD_Data();
void main()
{        while(1)
    {
        SP_Read();
        SPI_Write(dat);
        Read_AD_Data(cmd);
    temp=0xfe;
    P1=temp;
    dula=1;
        P0=table[AD_Value];
        dula=0;
        wela=1;
        P0=0xc0;
        wela=0;
        num=1;
        delay(10);
        temp=_crol_(temp,1);
        P1=temp;
        delay(100);       
          
        }
}


void delay(uint z)
{  uint x,y;
   for(x=z;x>0;x--){
   for(y=110;y>0;y--){};
   };
}         
void SPI_Write(uchar dat)
{
    uchar i;
    CLK = 0;
    for(i=0; i<8; i++)
    {
        DIN = dat >> 7;     
        dat <<= 1;
        CLK = 0;            

        CLK = 1;
    }
}

uint SP_Read(void)
{
    uint i, dat = 0;
    CLK = 0;
    for(i = 0; i < 12; i++)     
    {
        dat <<= 1;

        CLK = 1;
        CLK = 0;

        dat |= DOUT;
    }
    return dat;
}

uint Read_AD_Data(uchar cmd)
{
    CLK = 0;
    CS  = 0;
    SPI_Write(cmd);
    for(i = 6; i > 0; i--);   
    CLK = 1;      
    _nop_();
    _nop_();
    CLK = 0;
    _nop_();
    _nop_();
    AD_Value = SPI_Read();
    CS = 1;
    return AD_Value;   
}
回復

使用道具 舉報

地板
ID:260413 發表于 2017-12-19 20:24 | 只看該作者
wulin 發表于 2017-12-13 15:30
你在哪里抄的程序片段?主程序main()都沒有,怎么運行?

他說我
Build target 'Target 1'
compiling 溫控2.0.c...
溫控2.0.C(19): error C141: syntax error near ';'
溫控2.0.C(47): error C141: syntax error near ';'
溫控2.0.C(53): error C141: syntax error near ';'
溫控2.0.C(83): error C141: syntax error near ';'
Target not created
為什么呢?
回復

使用道具 舉報

5#
ID:263980 發表于 2017-12-19 22:07 | 只看該作者
第一個說錯誤在19行,我看到你的19行是void delay(uint);你試著把里面的uint刪掉可那看,下面還有uint SP_Read()        ; 把空格刪掉,然后47,53,83這幾行,都是直接定義函數的就錯了,應該是上面的空格引起的,如果不是,就把下面的子函數全部復制到主函數之前,基本的原因應該就是函數聲明的問題了
回復

使用道具 舉報

6#
ID:259274 發表于 2017-12-19 22:48 | 只看該作者
函數要先定義,在主函數中一定要申明。  還要注意函數的返回值和變量
回復

使用道具 舉報

7#
ID:260413 發表于 2017-12-19 23:10 | 只看該作者
奮斗de小青年 發表于 2017-12-19 22:07
第一個說錯誤在19行,我看到你的19行是void delay(uint);你試著把里面的uint刪掉可那看,下面還有uint SP_R ...

那個....謝謝大佬,但是現在我移了
#include<reg52.h>
#include<intrins.h>                       
#define  uint unsigned int;          
#define  uchar unsigned char;
uchar dat,i,cmd,temp,num;
uint AD_Value;
uint x,y,z;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
sbit wela=P2^6;
sbit dula=P2^7;
sbit DOUT = P3 ^ 7;  
sbit CLK  = P3 ^ 6;  
sbit DIN  = P3 ^ 4;   
sbit CS   = P3 ^ 5;   
void delay(uint z)
{  uint x,y;
   for(x=z;x>0;x--){
   for(y=110;y>0;y--){};
   };
}         
void SPI_Write(uchar dat)
{
    uchar i;
    CLK = 0;
    for(i=0; i<8; i++)
    {
        DIN = dat >> 7;     
        dat <<= 1;
        CLK = 0;            

        CLK = 1;
    }
}

uint SP_Read(void)
{
    uint i, dat = 0;
    CLK = 0;
    for(i = 0; i < 12; i++)     
    {       
        dat <<= 1;

        CLK = 1;
        CLK = 0;

        dat |= DOUT;
    }
    return dat;
}

uint Read_AD_Data(uchar cmd)
{
    CLK = 0;
    CS  = 0;
    SPI_Write(cmd);
    for(i = 6; i > 0; i--);   
    CLK = 1;      
    _nop_();
    _nop_();
    CLK = 0;
    _nop_();
    _nop_();
    AD_Value = SPI_Read();
    CS = 1;
    return AD_Value;   
}
void main()
{        while(1)
    {
        SP_Read();
        Read_AD_Data(0xD4);
    temp=0xfe;
    P1=temp;
    dula=1;
        P0=table[AD_Value];
        dula=0;
        wela=1;
        P0=0xc0;
        wela=0;
        num=1;
        delay(10);
        temp=_crol_(temp,1);
        P1=temp;
        delay(100);       
          
        }
}


然后....Build target 'Target 1'
assembling STARTUP.A51...
compiling 溫控2.0.c...
溫控2.0.C(19): error C141: syntax error near ';'
溫控2.0.C(25): error C141: syntax error near ';'
溫控2.0.C(55): error C141: syntax error near ';'
Target not created
回復

使用道具 舉報

8#
ID:263980 發表于 2017-12-20 09:19 | 只看該作者
jarryzikaros 發表于 2017-12-19 23:10
那個....謝謝大佬,但是現在我移了
#include
#include                       

你上面的定義里有空格,都刪掉先
sbit DOUT = P3^7;  
sbit CLK  = P3^6;  
sbit DIN  = P3^4;   
sbit CS   = P3^5;   
你的延時函數改成這樣
void delay(uint z)
{  uint x,y;
   for(x=z;x>0;x--)
   for(y=110;y>0;y--);
}
55行沒看出什么問題。你這些問題都是非常基礎的C語言編寫習慣的問題,沒有什么邏輯上的錯誤,就是復制粘貼的時候一個空格一個分號什么的錯誤,仔細一點查查基本沒有什么大問題
回復

使用道具 舉報

9#
ID:155507 發表于 2017-12-20 10:27 | 只看該作者
你的定義改成這樣
#define  uint unsigned int         
#define  uchar unsigned char

回復

使用道具 舉報

10#
ID:155507 發表于 2017-12-20 10:32 | 只看該作者
你的延時函數改成這樣
uint SPI_Read(void)
{
        uint i, dat = 0;
        CLK = 0;
        for(i = 0; i < 12; i++)     
        {        
                dat <<= 1;

                CLK = 1;
                CLK = 0;

                dat |= DOUT;
        }
        return dat;
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天激情综合 | 欧美a免费 | 91精品久久久久久久久久入口 | 一本一道久久a久久精品综合 | 日本a v在线播放 | 日本精品在线播放 | 一区二区高清 | 色婷婷亚洲国产女人的天堂 | 久久久精品一区 | 麻豆久久精品 | 国产精品久久久久久久久污网站 | 成人在线观看免费 | 日韩av看片| 国产视频91在线 | 日韩网站在线 | 羞羞的视频免费看 | 色秀网站 | 精品婷婷| 国产视频在线观看一区二区三区 | 麻豆一区二区三区 | 精品影视| 国产精品资源在线 | 最新一级毛片 | 亚洲视频二| 久久久妇女国产精品影视 | 成人黄色av网址 | 欧美日韩在线一区 | 亚洲一区不卡 | 婷婷久久五月天 | 日韩欧美在线视频 | 日韩电影中文字幕在线观看 | 蜜桃一区 | 成人免费在线观看视频 | 久久大陆 | 国产精品毛片一区二区在线看 | 91精品在线看 | 香蕉视频91 | 精品在线观看一区 | 日韩毛片 | 夜夜骑首页 | av毛片|