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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2805|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 最新中文字幕在线 | 青青草综合 | 欧美色性| 久久精品美女 | 黑人巨大精品欧美一区二区免费 | 一区二区三区欧美在线 | 91福利网| 97视频网站 | 在线伊人网 | 欧美一级片在线看 | 国产视频一区二区 | 欧美毛片免费观看 | 成人欧美一区二区 | 久久精品亚洲成在人线av网址 | 欧美一区二区三区一在线观看 | 久久成人午夜 | 欧美 中文字幕 | 成人在线视频网 | 婷婷综合网 | 国产一区中文字幕 | 欧美精品一区在线发布 | 日韩免费福利视频 | 在线观看亚洲专区 | 国产精品视频999 | 国产高清视频一区二区 | 欧美日韩国产一区二区三区 | 亚洲综合99| 日本不卡一区二区三区 | 中文字幕在线免费观看 | 欧美九九| 久久久99国产精品免费 | 我想看一级黄色毛片 | 中文字幕成人在线 | 欧美二区在线 | 中文字幕免费视频 | 日韩在线免费视频 | 国产美女特级嫩嫩嫩bbb片 | 亚洲免费精品一区 | 91精品国产综合久久久久 | 成av在线 | 欧美精品福利 |