我在keil中编写程序后,就出现了以下这个问题,是目标文件无法创建的问题,好像这些变量都出错了。(proteus中用的是AT89C52)
#include<reg52.h>
#include<stdio.h>
#include <intrins.h>
#define uchar unsigned char //宏定义
#define uint unsigned int
#define THC0 0xf8
#define TLC0 0xcc
unsigned char data dis_buf1[16]; //lcd上排显示缓冲区
unsigned char data dis_buf2[16]; //lcd下排显示缓冲区
unsigned char data flag,vkey,skey;//设置状态计数标志、按键先前值、按键当前值
unsigned char data bai,shi,ge;
unsigned char t1;
sbit CS = P2^0;//
sbit CLK = P2^1;//
sbit DIO = P2^2;//
sbit rs = P2^6; //LCD数据/命令选择端(H/L)
sbit rw = P2^5; //LCD读/写选择端(H/L)
sbit ep = P2^7; //LCD使能控制
sbit PWMA = P1^0; //PWM信号
sbit run = P1^1; //运行停止键
sbit yidong = P1^2; //移动光标键
sbit jiayi = P1^3; //加一按键
sbit zheng = P1^4; //正转键
sbit fan = P1^5; //反转键
//sbit ting = P1^6;
//sbit buzzer = P1^7; //蜂鸣器
sbit IN1 = P3^0;
sbit IN2 = P3^1;
bit flag1=0;
bit flag0=0;
uchar i=0;
int e=0,e1=0,e2=0; //pid偏差
int ei=0,ei1=0,ei2=0;//
float uk=0,uk1=0.0,duk=0.0; //pid输出值
float uki=0,uki1=0.0,duki=0.0; //电流pid输出值
float Kp=5,Ki=1.5,Kd=0.9; //pid控制系数
float Kpi=5,Kii=1.5,Kdi=0.9; //电流pid控制系数
int out=0;
int out_s=0;
uint SpeedSet=900;
uint cnt=0; //pid周期
uint Inpluse=0,num=0; //脉冲计数
uint act_cur=0;
uint PWMTime=0; //脉冲宽度
uint dat=0;
void PIDControl();
void PIDControl_current();//
unsigned char A_D();//
void SystemInit();
void PWMOUT();
void delayms(unsigned char ms); //延时程序
bit lcd_busy(); //测试LCD忙碌状态程序
void lcd_wcmd(char cmd); //写入指令到LCD程序
void lcd_wdat(char dat); //写入数据到LCD程序
void lcd_pos(char pos); //LCD数据指针位置程序
void lcd_init(); //LCD初始化设定程序
void pro_display(); //显示处理程序
void pro_key(); //按键处理程序
unsigned char scan_key(); //按键扫描程序
void update_disbuf(t1,SpeedSet,num);
//更新显示缓冲区函数