找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2262|回复: 8
收起左侧

代码问题

[复制链接]
ID:92895 发表于 2016-3-3 15:26 | 显示全部楼层 |阅读模式
#include <REG51.h>
/*11.0592晶振*/
#define m15_19    14000               //15.19mS
#define m8_68                  8000              //8.68mS
#define m1_57                  1450               //1.57mS
#define m_75                 700              //0.75mS
#define m3_25                   3000       //3.25mS


unsigned char Im[4]{0x00,0x00,0x00,0x00};
unsigned char show[2]{0,0};
unsigned char f;
unsigned long m,Tc;
unsigned char Irok;

void VS838_INT1_SET()
{
        IT1=1;
        //当IT1=0时,为电平触发方式
        //当IT1=1时,为边沿触发方式(下降沿有效)
        EX1=1;
       
        TM0D=0;//16位定时器
        TH0=0;
        TL0=0;
        TR0=1;//中断启动停止位
       
        EA=1;
}


//外部中断解码
void Time(void) interrupt 2
{
        Tc=TH0*256+TL0;
        TH0=0;
        TL0=0;
       
        if (Tc>m_68 &&Tc<m15_19)
        {
                m=0;
                f=1;
                return;
        }
        if(f==1)
        {
                if(Tc>m1_57&&Tc<m3_25)
                {
                        Im[m/8]=Im[m/8]>>1|0x80;
                        m++;
                }
               
                if(Tc>m_75&&Tc<m1_57)
                {
                        Im[m/8]=Im[m/8]>>1;
                        m++;
                       
                }
                if(m==32)
                {
                        m=0;
                        f=0;
                        if(Im[2]==~Im[3])
                        {
                                Irok=1;
                        }
                        else
                        {
                                Irok=0;
                        }
                }
        }
       
}




void main()
{
        IT1=1;
        //当IT1=0时,为电平触发方式
        //当IT1=1时,为边沿触发方式(下降沿有效)
        EX1=1;
       
        TM0D=0;//16位定时器
        TH0=0;
        TL0=0;
        TR0=1;//中断启动停止位
       
        EA=1;
       
        while(1)
        {
                if (Irok==1)
                {
                        show[1]=Im[2] &0x0f;
                        show[0]=Im[2]>>4;
                        Irok=0;
                       
                }
        }
       
}


虽然还没写完   但为什么编译的时候会显示这两行:
unsigned char Im[4]{0x00,0x00,0x00,0x00};
unsigned char show[2]{0,0};
“{”   前缺少  “;”  ?

回复

使用道具 举报

ID:96682 发表于 2016-3-3 16:37 | 显示全部楼层
提示编写不符合规范。
回复

使用道具 举报

ID:92895 发表于 2016-3-3 18:57 | 显示全部楼层
wc86110 发表于 2016-3-3 16:37
提示编写不符合规范。

请问 可以怎么改呢?
回复

使用道具 举报

ID:97249 发表于 2016-3-4 08:42 | 显示全部楼层
unsigned char Im[4]={0x00,0x00,0x00,0x00};
unsigned char show[2]={0,0};
加等号,赋初值

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:36525 发表于 2016-3-4 09:10 | 显示全部楼层
第一要加功能说明,第二每条程序要加注说明,别人才能花最少的时间看懂,才能帮到你。
回复

使用道具 举报

ID:97867 发表于 2016-3-4 15:54 | 显示全部楼层

回帖奖励 +2

加等号,赋初值
回复

使用道具 举报

ID:92895 发表于 2016-3-4 22:17 | 显示全部楼层
红尘有你 发表于 2016-3-4 08:42
unsigned char Im[4]={0x00,0x00,0x00,0x00};
unsigned char show[2]={0,0};
加等号,赋初值

谢谢   已解决  
回复

使用道具 举报

ID:110672 发表于 2016-3-26 17:58 | 显示全部楼层
没有“ = ”号
回复

使用道具 举报

ID:109511 发表于 2016-3-26 21:52 | 显示全部楼层
这程序排版不好
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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