keil编译错误missing ';' before 'code'

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:36:58
#include <reg52.h> //定义的 系统头文件和全局变量

/*A/D SFR*/
sfr ADC_LOW2 = 0xBE;
sfr ADC_CONTR = 0xC5;
sfr ADC_DATA = 0xC6;
sfr CLK_DIV = 0xC7; ////////
//定义变量

uchar code display_AD_channel_ID[2] = {0x00,0x01};

uchar data AD_channel_result[2][5]; //各通道A/D转换结果。前是通道号;后是转换的值

//定义引用外部
extern void Delay(uint number);//晶振=11059200,机器周期=1.085069444us,"加"的机器周期=1
extern void send_char_com(uchar ch);
extern void send_string_com(uchar *str,uchar strlen);
void Ad_Change(uchar channel);

//------------------------------------------------------
//功能:A/D转换
//入口:channel = 通道号 .0:0通道;1:1通道。。。。。。。
//出口:AD_channel_1_result: 10位的数据,16进制。
//------------------------------------------------------
void Ad_Change(uchar channel)
{
uint AD_Result_Temp = 0 ;
//---------------------将P1.0--P1.1设置成适合AD转换的模式
/// P1 = 0xff; //将P1口置高,为A/D转换作准备

#define uchar unsigned char

先添加:
#define uchar unsigned char
#define uint unsigned int
再增加单片机特有寄存器定义,具体地址请自己查询,这里地址仅做示例:
sfr P1M0 = 0xC9;
sfr P1M1 = 0xCA;
再之后的问题要你自己搞清楚外部函数调用问题了。