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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3240|回復: 1
收起左側

新手請教error C216: subscript on non-array or too many dimensions

[復制鏈接]
ID:974311 發表于 2021-10-29 21:12 | 顯示全部樓層 |閱讀模式
01.c(31): warning C206: 'initlcd': missing function-prototype
01.c(63): error C216: subscript on non-array or too many dimensions
01.c(165): error C236: 'delay': different length of parameter lists


#include <reg52.h>
#include <intrins.h>  
sbit RS=P2^0;   
sbit RW=P2^1;
sbit E=P1^2;
sbit T_RST=P1^3;
sbit T_CLK=P1^7;
sbit T_IO=P2^3;
sbit s7=P3^0;
sbit s6=P3^1;
sbit s5=P3^2;
sbit s4=P3^3;

unsigned char TIME;

void Int0Configuration();
void LcdDisplay();
unsigned char SetState,SetPlace;
void delay(void);

unsigned char datechar[]={"DATE:"};
unsigned char timechar[]={"TIME:"};
unsigned char datebuffer[10]={0x32,0x30,0,0,0x2d,0,0,0x2d,0,0};
unsigned char timebuffer[8]={0,0,0x3a,0,0,0x3a,0,0};
unsigned char weekbuffer={0x30};

void main()
{
        unsigned char i;
        Int0Configuration();
        initlcd();
        //Ds1302Init();
        while(1)
        {        
                if(SetState==0)
                {
                        unsigned char  R1302(unsigned char  address);
                }
                else
                {
                        if(s6==0)
                        {
                                delay();  
                                if(s6==0)
                                {
                                        SetPlace++;
                                        if(SetPlace>=7)
                                                SetPlace=0;                                       
                                }

                                while((i<50)&&(s6==0))   
                                {
                                        delay();
                                        i++;
                                }
                                i=0;
                        }
                        if(s5==0)      
                        {
                                delay();   
                                if(s5==0)
                                {
                                        TIME[SetPlace]++;
                                        if((TIME[SetPlace]&0x0f)>9)      
                                        {
                                                TIME[SetPlace]=TIME[SetPlace]+6;
                                        }
                                        if((TIME[SetPlace]>=0x60)&&(SetPlace<2))     
                                        {
                                                TIME[SetPlace]=0;
                                        }
                                        if((TIME[SetPlace]>=0x24)&&(SetPlace==2))  
                                        {
                                                TIME[SetPlace]=0;
                                        }
                                        if((TIME[SetPlace]>=0x32)&&(SetPlace==3))  
                                        {
                                                TIME[SetPlace]=0;        
                                        }
                                        if((TIME[SetPlace]>=0x13)&&(SetPlace==4))  
                                        {
                                                TIME[SetPlace]=0;
                                        }        
                                        if((TIME[SetPlace]>=0x7)&&(SetPlace==5))   
                                        {
                                                TIME[SetPlace]=1;
                                        }               
//                                        if(SetPlace==5)
//                                        {
//                                                TIME[SetPlace]=;
//                                        }        
                                }
                                
                                while((i<50)&&(s5==0))
                                {
                                        delay();
                                        i++;
                                }
                                i=0;
                                
                        }                                                
                }
                LcdDisplay();        
        }
        
}

void  WriteB(unsigned char  dat)
{
   unsigned char  i;
   for(i=8; i>0; i--)
  {
        T_IO=dat&0x01;
        T_CLK = 1;
        T_CLK = 0;
        dat = dat >> 1;
   }
}

unsigned char  ReadB(void)
{
    unsigned char i,readdat=0;
    for(i=8; i>0; i--)
    {
        readdat=readdat>>1;
        if(T_IO)
        {
            readdat|=0x80;
        }
        T_CLK = 1;
        T_CLK = 0;            
    }
    return(readdat);
}

void  W1302(unsigned char address,unsigned char dat)
{
    T_RST = 0;
    T_CLK = 0;
    _nop_();
    _nop_();
    T_RST = 1;
    _nop_();
    _nop_();
    WriteB(address);         
    WriteB(dat);           
    T_CLK = 1;
    T_RST =0;
}

unsigned char  R1302(unsigned char  address)
{
    unsigned char dat=0;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    WriteB(address);           
    dat = ReadB();           
    T_CLK = 1;
    T_RST =0;
    return(dat);
}

void delay(unsigned int n)
{
  unsigned i=0,j=0;
    for(i=0;i<n;i++)
    {
      for(j=0;j<120;j++);
    }
}
void writedat(unsigned char dat)
{
  RS=1;
    RW=0;  
    E=0;   
    P0=dat;
    delay();
    E=1;
    E=0;
}

void writecom(unsigned char com)
{
  RS=0;
    RW=0;  
    E=0;  
    P0=com;
    delay();
    E=1;
    E=0;
}
void initlcd()
{
  writecom(0x38);  
    writecom(0x0c);  
    writecom(0x06);  
    writecom(0x01);  
}



void LcdDisplay()
{
        LcdWriteCom(0x80+0X40);
        LcdWriteData('0'+TIME[2]/16);   
        LcdWriteData('0'+(TIME[2]&0x0f));                                 
        LcdWriteData('-');
        LcdWriteData('0'+TIME[1]/16);   
        LcdWriteData('0'+(TIME[1]&0x0f));        
        LcdWriteData('-');
        LcdWriteData('0'+TIME[0]/16);
        LcdWriteData('0'+(TIME[0]&0x0f));

        LcdWriteCom(0x80);
        LcdWriteData('2');
        LcdWriteData('0');
        LcdWriteData('0'+TIME[6]/16);   
        LcdWriteData('0'+(TIME[6]&0x0f));
        LcdWriteData('-');
        LcdWriteData('0'+TIME[4]/16);   
        LcdWriteData('0'+(TIME[4]&0x0f));
        LcdWriteData('-');
        LcdWriteData('0'+TIME[3]/16);  
        LcdWriteData('0'+(TIME[3]&0x0f));
        LcdWriteCom(0x8D);
        LcdWriteData('0'+(TIME[5]&0x07));      
}

void Int0Configuration()
{
        //éèÖÃINT0
        IT0=1;
        EX0=1;
        EA=1;
}
//********************************
void Int0() interrupt 0                 
{
        delay(10);
        if(s7==0)
        {
                SetState=~SetState;
                SetPlace=0;
                Ds1302Init();        
        }
}

回復

使用道具 舉報

ID:734017 發表于 2021-10-30 00:34 | 顯示全部樓層
首先第一點,沒有注釋,別人怎么知道你要干嘛。
還有你的程序太多delay(); 連中斷都delay(); 有何意義。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产午夜精品久久久 | 亚洲在线 | 国产精品日韩高清伦字幕搜索 | a网站在线观看 | 一级毛片在线看 | 日韩视频区 | 性色网站 | 日韩一区二区av | 中文字幕免费 | 成人av网站在线观看 | 亚洲36d大奶网 | 亚洲精品区 | 国产精品毛片无码 | 天天干视频 | 亚洲国产免费 | 午夜视频在线观看网址 | www.成人免费视频 | 国产在线97 | 九九久久国产 | 色花av| 久久久久久久91 | 亚洲日本激情 | 国产精品国产精品 | 免费一区二区 | 91免费在线播放 | 久久香蕉精品视频 | 一区在线视频 | 在线国产精品一区 | 欧美专区在线 | 精品免费国产一区二区三区四区介绍 | 天天夜干 | 久久久久九九九女人毛片 | 在线日韩视频 | 久在线 | 亚洲精品1区2区3区 91免费看片 | 久久久久久久久久久久91 | 亚洲h色| 偷拍自拍第一页 | 成人免费黄视频 | 亚洲+变态+欧美+另类+精品 | 91私密视频 |