keil c编译遇到问题!

submind 2006-10-18 09:08:08
我是c菜鸟,也是keil菜鸟-__- 前两天在用keil编了一个c程序以后,只要一编译就出现“C51/ CX51 Compiler 遇到问题需要关闭。”的字样,在网上搜索了几天都没发现解决方法,不知道版上有没有人遇到过同样的问题,可能的原因有哪些呢?
谢谢大家了
...全文
465 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Great_Bug 2006-11-03
  • 打赏
  • 举报
回复
二维数组是否会有问题?
dylqhjimmy 2006-10-27
  • 打赏
  • 举报
回复
好像我没有看到
philips 8xc51rd2
的头文件。
submind 2006-10-18
  • 打赏
  • 举报
回复
philips 8xc51rd2
晕 还是出现那个错误,还是不知道怎么解决,有人说是我程序的问题,我把程序贴一下,请哪个好心人看看是什么错:
#include <time.h>
#include <ctype.h>
#include <string.h>
#include <stdio.h>
#include "lcd.h"

#define LINUX_OS

#ifndef null
#define null 0
#endif
#define UP
#define DOWN
#define LEFT
#define RIGHT
#define BACKSPACE
#define CONFIRM
#define CHANGEMODE
//纵向像素数
#ifndef V_PIX_LENGTH
#define V_PIX_LENGTH
#endif
//横向
#ifndef H_PIX_LENGTH
#define H_PIX_LENGTH
#endif
//每行的字符数(列数)
#ifndef CHARSPERROW
#define CHARSPERROW (H_PIX_LENGTH/8)
#endif
//行数
#ifndef ROWS
#define ROWS (V_PIX_LENGTH/16)
#endif
//是否西文字符
#define ISEASTERNWORD(x) (((x)&0xf0)==0?1:0)
//定义位置常数
#define MODE_POS (unsigned char(2&0x0f))
#define OUTPUT_POS (unsigned char(1<<4))
#define CHINESE_POS (unsigned char((V_PIX_LENGTH/16-1)<<4|0x01))
#define PY_POS (unsigned char((V_PIX_LENGTH/8-4)<<4|(H_PIX_LENGTH/8-7)))/*拼音是8*8的字符*/
#define UP_ARROW_POS (unsigned char((V_PIX_LENGTH/8-4)<<4|(H_PIX_LENGTH/8-1)))
#define DOWN_ARROW_POS (unsigned char((V_PIX_LENGTH/8-3)<<4|(H_PIX_LENGTH/8-1)))
#define LEFT_ARROW_POS (unsigned char((V_PIX_LENGTH/8-1)<<4 | (0)))
#define RIGHT_ARROW_POS (unsigned char((V_PIX_LENGTH/8-2)<<4 | (0)))
#define UD_ARROWS_POS ((V_PIX_LENGTH/16-2)<<4 | H_PIX_LENGTH-1)
#define LR_ARROWS_POS (CHINESE_POS-1)

#ifndef MODE_TYPE
#define MODE_TYPE
enum MODE {CHINESEMODE,UPPERMODE,LOWERMODE,DIGITALMODE};
#endif

#ifdef LINUX_OS
#define CURRENTTIME(curtime) (gettimeofday(&(curtiem),0))
#else
#define CURRENTTIME(curtime) ()
#endif

#ifndef LINK_STRUCT
#define LINK_STRUCT
typedef struct tagLink{
unsigned int data;
struct tagLink* pre,*next;
}Link;
#endif


unsigned char DigitalChar[][4]={
{'a','b','c'},
{'d','e','f'},
{'g','h','i'},
{'j','k','l'},
{'m','n','o'},
{'p','q','r','s'},
{'t','u','v'},
{'w','x','y','z'}
};

MODE CurrentMode=0;//当前模式
unsigned char cInput=0;//当前输入字符
unsigned char Input_String[10];//累计输入字符串
unsigned char Input_String_Length=0;//累计输入字符串长度
unsigned char* PY_String=null;//查表得到拼音串
unsigned char* Option_PY[4]={null}; //分离后得到的拼音单字
unsigned char iOption_PY_CurrentPos=0;//the position of the selected PY
unsigned char iOption_PY_Length=0; // 拼音单字个数
unsigned char* Option_Chinese=null; //Chinese character string
unsigned char iOption_Chinese_CurrentPos=0;
unsigned char iOption_Chinese_Length=0;//length of the Chinese string
unsigned char iOption_Chinese_LeftPos=0;
unsigned char iOption_Chinese_RightPos=0;
struct Link* Output_String=null;//the string show in the screen
unsigned char iOutput_String_Length=0;
unsigned char iOutput_String_CurrentPos=0;
Link* pOutput_String_CurrentNode=null;
Link* pStart=null,*pEnd=null;//用来标示显示的字符串,pStart为开始,pEnd为结束
unsigned char nCurLength;//当前由pStart和pEnd指向的字符串长
unsigned char nOutputPos=OUTPUT_POS;

extern void gotoxy(unsigned char xy);
extern unsigned char cursor(unsigned char f);
extern void dis_ch(unsigned int ch,unsigned char xy,unsigned char mode);
extern void dis_str(unsigned char* str, unsigned char xy);
extern void dis_8str(unsigned char* str,unsigned char xy);
extern void right_scroll(unsigned char xy,unsigned char xy1,unsigned int ch);
extern void clr_scr(unsigned char xy,unsigned char xy1);

extern char *getpy(char *src,unsigned char len);
extern char * py_ime(char *strInput_py_str);

void ShowLeftArrow(unsigned char flag);
void ShowRightArrow(unsigned char flag);
void ShowUpArrow(unsigned char flag);
void ShowDownArrow(unsigned char flag);
void ShowPY(char ** PY_String,unsigned char length);
void ShowChinese(unsigned char* Option_Chinese_String);
void ShowOutput();
void ShowMode(unsigned char nMode);

void apartPYString(char* PY_String,unsigned char length);
void Output_String_MoveLeft();
void Output_String_MoveRight();
void Output_String_Delete();
void Output_String_Add(unsigned int word);
void Output_String_Replace(unsigned int word);
void clearOutput();//清除已输入信息
void clearPY();//清除拼音栏
void clearChinese();//清除汉字栏
void initEnvironment();//初始化
void clearEnvironment();//保留已输入内容,删除其他内容,清屏
void clearScreen();
void cursorMoveRight(unsigned char flag);
void cursorMoveLeft(unsigned char flag);
然后就是main函数了,原程序太长,有1000多行,我先贴这些 大家有没有想法啊?
头痛死了:(
lbing7 2006-10-18
  • 打赏
  • 举报
回复
不知道具体型号就选通用的,反正指令集是一致的!
submind 2006-10-18
  • 打赏
  • 举报
回复
仿真器的配置文件是什么?安装完了能加吗?我建立工程的时候有选择一个芯片的种类,因为不是我装的我也不知道加了配置文件没有啊
dylqhjimmy 2006-10-18
  • 打赏
  • 举报
回复
你的就是楼上那个版本啦。
你再安装的时候有没有加你使用的仿真器的配置文件呀??
lbing7 2006-10-18
  • 打赏
  • 举报
回复
uVision2 只是一个界面.
submind 2006-10-18
  • 打赏
  • 举报
回复
我这个是什么uVision2 是什么版本阿?我是个菜鸟:(
lbing7 2006-10-18
  • 打赏
  • 举报
回复
我在XP,2000,98下都用7.08版

没出过问题哈!!
submind 2006-10-18
  • 打赏
  • 举报
回复
to lbing7:
您能推荐一个版本吗?
lbing7 2006-10-18
  • 打赏
  • 举报
回复
和系统的兼容性问题?

换一个版本看看?
解决keil不认识“数”字的办法 在使用keil 8.02版编译程序时,发现keil竟然不认识汉字“数”这个字,“数”字的内码是“CAFD”而keil编译成“CA”,可想而知,后面的都变成乱码了。 TAB0: DB "请输入: " TAB1: DB "源数据地址 " TAB2: DB "目的地址 " TAB3: DB "数据长度 " 编译成: 00EC 259 TAB0: 00EC C7EBCAE4 260 DB "请输入: " 00F0 C8EBA3BA 00F4 20202020 00F8 20202020 00FC 261 TAB1: 00FC D4B4CABE 262 DB "源示莸刂? " 0100 DDB5D8D6 0104 B7202020 0108 202020 010B 263 TAB2: 010B C4BFB5C4 264 DB "目的地址 " 010F B5D8D6B7 0113 20202020 0117 20202020 011B 265 TAB3: 011B CABEDDB3 266 DB "示莩ざ? " 011F A4B6C820 0123 20202020 0127 202020 无奈之下改成如下的方式: TAB0: DB "请输入: " TAB1: DB "源",0CAH,0FDH,"据地址 " TAB2: DB "目的地址 " TAB3: DB 0CAH,0FDH,"据长度 " 编译的结果: 00EC C7EBCAE4 260 DB "请输入: " 00F0 C8EBA3BA 00F4 20202020 00F8 20202020 00FC 261 TAB1: 00FC D4B4CAFD 262 DB "源",0CAH,0FDH,"据地址 " 0100 BEDDB5D8 0104 D6B72020 0108 20202020 010C 263 TAB2: 010C C4BFB5C4 264 DB "目的地址 " 0110 B5D8D6B7 0114 20202020 0118 20202020 011C 265 TAB3: 011C CAFDBEDD 266 DB 0CAH,0FDH,"据长度 " 0120 B3A4B6C8 0124 20202020 0128 20202020 问题是解决了,但是总感觉这个办法有点太笨了点,不知道各位高手有什么高招? 另外,是不是还有其他类似的keil不认识的汉字?不知各位遇到过没有?怎么解决的? 本文来自: 电子工程师之家http://www.eehome.cn

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧