标题:
51单片机编译出现大量错误,急需帮助!谢谢
[打印本页]
作者:
20170826
时间:
2018-4-28 19:46
标题:
51单片机编译出现大量错误,急需帮助!谢谢
Build target 'Target 1'
compiling 122.c...
122.C(19): error C202: 'gt': undefined identifier
122.C(19): error C141: syntax error near ';', expected ')'
122.C(19): error C141: syntax error near ')'
122.C(20): error C141: syntax error near ';', expected ')'
122.C(20): error C141: syntax error near ')'
122.C(32): error C202: 'lt': undefined identifier
122.C(32): error C141: syntax error near ';', expected ')'
122.C(32): error C141: syntax error near ')'
122.C(34): error C202: 'lt': undefined identifier
122.C(34): error C141: syntax error near '='
122.C(43): error C202: 'lt': undefined identifier
122.C(43): error C202: 'lt': undefined identifier
122.C(44): error C202: 'gt': undefined identifier
122.C(44): error C202: 'gt': undefined identifier
122.C(62): error C202: 'wela': undefined identifier
122.C(64): error C202: 'wela': undefined identifier
122.C(65): error C202: 'wela': undefined identifier
122.C(71): error C202: 'wela': undefined identifier
122.C(73): error C202: 'wela': undefined identifier
122.C(74): error C202: 'wela': undefined identifier
122.C(80): error C202: 'wela': undefined identifier
122.C(82): error C202: 'wela': undefined identifier
122.C(83): error C202: 'wela': undefined identifier
122.C(89): error C202: 'wela': undefined identifier
122.C(91): error C202: 'wela': undefined identifier
122.C(92): error C202: 'wela': undefined identifier
122.C(99): error C202: 'gt': undefined identifier
122.C(99): error C141: syntax error near ';', expected ')'
122.C(99): error C141: syntax error near ')'
Target not created
请大神帮忙改改可以吗?谢谢!
#include <reg52.h>//头文件
#include <intrins.h>//_nop_();延时函数用
#define uchar unsigned char //用uchar代替unsigned char,1字节0-255
#define uint unsigned int //用uint代替nsigned int,2字节0-26653
sbit SO=P1^0; //P1.0口与SO相连
sbit CS=P1^1; //P1.1口与CS相连
sbit SCK=P1^2; //P1.2口与SCK相连
sbit dula=P2^6;//段选 sbit wela=P2^7;//位选
uint j,h; float wendu;//4字节(6位数字)
uint Re_Convert();//热电偶数据读取,返回温度
void Disp_temp();//温度显示
uchar qian=0,bai=0,shi=0,ge=0,xiao=0;
uint P_Temp; uint temp;
uchar code table3[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, //共阴数码管
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(unsigned int z)//延时
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uint Re_Convert() //热电偶数据读取,返回温度
{
uchar i;
unsigned long Temp_2;
Temp_2=0;
CS=1;
SCK=0;
_nop_();_nop_(); //这个_nop_()等效与汇编里面的NOP指令,也就是空一个机器周期, //在51单片机中_nop_()等于空12个时钟周期【即一个机器周期】
CS=0;
for(i=0;i<16;i++)//16位数据读取
{
Temp_2<<=1;//向右移一位
_nop_();
SCK=1;//上升
if(SO==1){Temp_2=Temp_2|0x01;}
else Temp_2=Temp_2|0x00; _nop_();
SCK=0;
_nop_();
}
CS=1; //读取完后对CS置1进行温度转换!MAX6675的转换时间是典型值:0.17s,最大值0.22s。
Temp_2=Temp_2<<1; //向左移一位,取0-14位
Temp_2=Temp_2>>4; //向右移4位,取3-14位
Temp_2=Temp_2*10/4;//变换为温度值--每LSB代表0.25度,注意:在此处先乘了个10
return(Temp_2);
}
void Disp_temp()//温度显示
{
uint temp; // wendu=Re_Convert();// 热电偶数据读取,返回温度
temp=wendu;
xiao=temp%10; //取小数位数字
temp=temp/10;
ge =temp%10;//取个位数字
temp=temp/10;
shi =temp%10;//取十位数字
bai =temp/10;//去百位数字 //动态扫描显示各位数字
dula=0;
P0=table3[bai];
dula=1;
dula=0;
wela=0;
P0=0x7e;
wela=1;
wela=0;
delay(1);
dula=0;
P0=table3[shi];
dula=1;
dula=0;
wela=0;
P0=0x7d;
wela=1;
wela=0;
delay(1);
dula=0;
P0=table3[ge];
dula=1;
dula=0;
wela=0;
P0=0x7b;
wela=1;
wela=0;
delay(1);
dula=0;
P0=table3[xiao];
dula=1;
dula=0;
wela=0;
P0=0x77;
wela=1;
wela=0;
delay(1);
}
void main()//主程序
{
while(1)
{
for(j=250;j>0;j--)
{
if(j==250){wendu=Re_Convert();} // 热电偶数据读取,返回温度,每刷新250次(大约0.5秒)进行一次MAX6675的温度转换,MAX6675的转换时间典型值:0.17s,最大值0.22s。
Disp_temp(); //温度显示
}
}
}
复制代码
作者:
wulin
时间:
2018-4-29 08:46
sbit wela=P2^7;//位选 没有换行被注释掉了
sbit dula=P2^6;//段选 sbit wela=P2^7;//位选
作者:
angmall
时间:
2018-4-29 09:57
#include <reg52.h>//头文件
#include <intrins.h>//_nop_();延时函数用
#define uchar unsigned char //用uchar代替unsigned char,1字节0-255
#define uint unsigned int //用uint代替nsigned int,2字节0-26653
sbit SO=P1^0; //P1.0口与SO相连
sbit CS=P1^1; //P1.1口与CS相连
sbit SCK=P1^2; //P1.2口与SCK相连
sbit dula=P2^6;//段选
sbit wela=P2^7;//位选
uint j,h;
float wendu;//4字节(6位数字)
uint Re_Convert();//热电偶数据读取,返回温度
void Disp_temp();//温度显示
uchar qian=0,bai=0,shi=0,ge=0,xiao=0;
uint P_Temp; uint temp;
uchar code table3[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, //共阴数码管
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(unsigned int z)//延时
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uint Re_Convert() //热电偶数据读取,返回温度
{
uchar i;
unsigned long Temp_2;
Temp_2=0;
CS=1;
SCK=0;
_nop_();_nop_(); //这个_nop_()等效与汇编里面的NOP指令,也就是空一个机器周期, //在51单片机中_nop_()等于空12个时钟周期【即一个机器周期】
CS=0;
for(i=0;i<16;i++)//16位数据读取
{
Temp_2<<=1;//向右移一位
_nop_();
SCK=1;//上升
if(SO==1){Temp_2=Temp_2|0x01;}
else Temp_2=Temp_2|0x00;
_nop_();
SCK=0;
_nop_();
}
CS=1; //读取完后对CS置1进行温度转换!MAX6675的转换时间是典型值:0.17s,最大值0.22s。
Temp_2=Temp_2<<1; //向左移一位,取0-14位
Temp_2=Temp_2>>4; //向右移4位,取3-14位
Temp_2=Temp_2*10/4;//变换为温度值--每LSB代表0.25度,注意:在此处先乘了个10
return(Temp_2);
}
void Disp_temp()//温度显示
{
uint temp; // wendu=Re_Convert();// 热电偶数据读取,返回温度
temp=wendu;
xiao=temp%10; //取小数位数字
temp=temp/10;
ge =temp%10;//取个位数字
temp=temp/10;
shi =temp%10;//取十位数字
bai =temp/10;//去百位数字 //动态扫描显示各位数字
dula=0;
P0=table3[bai];
dula=1;
dula=0;
wela=0;
P0=0x7e;
wela=1;
wela=0;
delay(1);
dula=0;
P0=table3[shi];
dula=1;
dula=0;
wela=0;
P0=0x7d;
wela=1;
wela=0;
delay(1);
dula=0;
P0=table3[ge];
dula=1;
dula=0;
wela=0;
P0=0x7b;
wela=1;
wela=0;
delay(1);
dula=0;
P0=table3[xiao];
dula=1;
dula=0;
wela=0;
P0=0x77;
wela=1;
wela=0;
delay(1);
}
void main()//主程序
{
while(1)
{
for(j=250;j>0;j--)
{
if(j==250){wendu=Re_Convert();} // 热电偶数据读取,返回温度,每刷新250次(大约0.5秒)进行一次MAX6675的温度转换,MAX6675的转换时间典型值:0.17s,最大值0.22s。
Disp_temp(); //温度显示
}
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1