找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1524|回复: 1
收起左侧

xDS1302.c(233): error C141: syntax error near '=', expected '__asm' DS1302.c(...

[复制链接]
ID:974311 发表于 2021-10-24 18:50 | 显示全部楼层 |阅读模式
#include <reg52.h>
#include <intrins.h>  

#define LED1
#define LED2
#define LED3
#define LED4
#define LED5
#define LED7
#define LED8
#define time1
#define time2
#define time3
#define time4
#define time5
#define time7
#define time8
#define select_function

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 timechar[]={"TIME:"};
unsigned char datechar[]={"DATE:"};

void Timer0Init()
{
        TMOD=0X01;
        TH0=0XD8;
        TL0=0XF0;
        ET0=1;
        EA=1;
        TR0=1;
}

void time_calculate()
{
        time1++;
        if(time1==60)
        {
                time1=0;
                time2++;
        }
        if(time2==60)
        {
                time2=0;
                time3++;
        }
        if(time3==24)
        {
                time1=0;
                time2=0;
                time3++;
        }
}
//*********************************************************************************




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(5);
    E=1;
    E=0;
}

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



void keypros()
{
        if(s6==0)
        {
                delay(10);
          if(s6==0)
           {
                   select_function++;
                   if(select_function==4)select_function=0;
                   if(select_function!=0)TRO=0;
           }while(!s6);
          if(select_function==0)TRO=1;
   }
        /**********************************************************/
        if(select_function==1)
        {
                if(s5==0)
                {
                        time1++;
                        if(time1>=60)time1=0
                        }while(!s5);
                if(s4==0)
                {
                        if(time1==0)time1=60;
                        time1--;
                }while(!s4);
        }
        /**********************************************************/
if(select_function==2)
        {
                if(s5==0)
                {
                        time2++;
                        if(time2>=60)time2=0
                        }while(!s5);
                if(s4==0)
                {
                        if(time2==0)time2=60;
                        time2--;
                }while(!s4);
        }
/**********************************************************/
        if(select_function==3)
        {
                if(s5==0)
                {
                        time3++;
                        if(time3>=24)time3=0
                        }while(!s5);
                if(s4==0)
                {
                        if(time3==0)time3=24;
                        time3--;
                }while(!s4);
        }
        LED1=time1%10;
        LED1=time1/10;
        
        LED2=time2%10;
        LED2=time2/10;
        
        LED3=time3%10;
        LED3=time3/10;
        
}

void Timer0() interrupt 1
{
        static unsigned int k=0;
        TH0=0xD8;
        TL0=0xF0;
        k++;
        if(k==50)
        {
                k=0;
                timer_calculate();
        }
}



//*********************************************************************
void display()
{
   lcd_pos(0x07);
         lcdwriteData(LED8+'0');
   lcd_pos(0x08);
         lcdwriteData(LED7+'0');
         lcd_pos(0x09);
         lcewriteData('-');
/*****************************/
         lcd_pos(0x0A);
         lcdwriteData(LED5+'0');
   lcd_pos(0x0B);
         lcdwriteData(LED4+'0');
         lcd_pos(0x0C);
         lcewriteData('-');
/****************************/
         lcd_pos(0x0D);
         lcdwriteData(LED2+'0');
   lcd_pos(0x0E);
         lcdwriteData(LED1+'0');
         lcd_pos(0x0F);
         lcewriteData('-');
         
}
//***********************************************************************




//***********************************************************************

void main()
{
    Initlcd();
    show_string(display);
        Time0Init();
        LED1=0;
        LED2=0;
        LED3=0;
        LED4=0;
        LED5=0;
        LED6=0;
        LED7=0;
        LED8=0;
        select_function=0;
        time1=0;
        time2=0;
        time3=0;
        
        show_string(display)

    while(1)
    {
                        keypros();
      display();
    }
}

回复

使用道具 举报

ID:624769 发表于 2021-10-24 19:34 | 显示全部楼层
非法  “=”

因为:
#define time1              <== 这是重定义  到  “空气”
#define time2

所以:
              time1=0;           <=== 你让 “空气” = 0 ???
              time2++;          <=== 你让 “空气” +1  ???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表