在Keil C51软件用汇编时,编辑的程序出现“UNDEFINED SYMBOL”的错误!(程序如下),请高手帮帮忙!!

作者&投稿:归败 (若有异议请与网页底部的电邮联系)
在Keil中出现UNDEFINED SYMBOL~

原因:
一、.C中未定义。
二、.H中未引用。
三、未包含含有该类型的.H文件。
四、在keil中未添加.C或.H文件到工程。
解决方法:因为你没有把新建的c文件添加到工程中,左边窗口中,右键Sourse Group——Add file to就可以了。
电脑蓝屏又叫蓝屏死机,指的是微软Windows操作系统在无法从一个系统错误中恢复过来时所显示的屏幕图像。
***STOP 0x0000001E(0xC0000005,0xFDE38AF9,0x0000001,0x7E8B0EB4) KMODE_EXCEPTION_NOT_HANDLED ***
其中错误的第一部分是停机码(Stop Code)也就是STOP 0x0000001E,用于识别已发生错误的类型, 错误第二部分是被括号括起来的四个数字集,表示随机的开发人员定义的参数,第三部分是错误名。
信息第一行通常用来识别生产错误的驱动程序或者设备,这种信息多数很简洁,但停机码可以作为搜索项在微软知识库和其他技术资料中使用。

倒数第三行改为
TAB: DB 01H,23H,45H,67H,89H,0ABH,0CDH,0EFH
即可
字母开头的常数前面不加0的话,编译器会认为是符号(symbol)
那几个符号系统没看到定义,所以报错 说 未定义符号undefined symbol

可能原因:你没有选好芯片(即目标设备),编译器会根据你选的芯片,进行编译连接。P0,P1口都是在一个预定义文件里定义过的。也有可能是你的这个预定义文件丢失了。造成编译时,不认识P0,P1。


苏州市18242441487: 在Keil C51软件用汇编时,编辑的程序出现“UNDEFINED SYMBOL”的错误!(程序如下),请高手帮帮忙!! -
崔胡猗清: 可能原因:你没有选好芯片(即目标设备),编译器会根据你选的芯片,进行编译连接.P0,P1口都是在一个预定义文件里定义过的.也有可能是你的这个预定义文件丢失了.造成编译时,不认识P0,P1.

苏州市18242441487: KEIL C51程序中如何嵌入汇编? -
崔胡猗清: keil中汇编函数调用c51函数 [ycong_kuang] 在keil的写法可参考89852帖子,具体如下:与89852帖子相比,第一步在工程里多了一个被汇编调用的c51的函数文件(c51func.c),至于汇编函数还是先用c51编写出主体(a51func.c),这样汇编程...

苏州市18242441487: 用keil软件如何将汇编与C语言结合起来一起编写单片机的程序 -
崔胡猗清: 在混合编程中,最常用也是最实用的方法是在C语言中加入部分汇编语言的代码,分为两种方法. 方法1)在Keil C51的函数中直接插入汇编语句 方法2)按照Keil C51接口规则,编写汇编模块方法1是利用编译控制命令#pragma asm(用来标识...

苏州市18242441487: C51写单片机程序如何插入汇编指令. -
崔胡猗清: C51些单片机程序插入汇编指令的方法如下: 1、以#pragma asm开始,以#pragma endasm结束, 用pragma asm和#pragma endasm这两个伪指令将汇编代码包起来. 比如: 2、但是如果直接这样嵌入汇编代码的时候,编译时会报错,错误代码是: 'asm/endasm' requires src-control to be active 解决办法是:在工程中,按如图所示操作. 3、如果勾选椭圆圈中的两项,这样就可以了.

苏州市18242441487: keil 怎样编写汇编程序 -
崔胡猗清: 新建工程——新建文件——保存为.asm——源代码组右键“添加文件到源代码组”,然后就可以写程序了.具体指令什么的,找一本汇编语言的书看吧.

苏州市18242441487: 我用keil c51仿真软件编的汇编程序,编译后显示目标没产生 -
崔胡猗清: 作为新手,还是按照KEIL默认的安装路径安装吧(虽然这个路径是可以任意修改的). 你看看你的Keil是否装在了 C:\keil\ 这个文件夹下,,如果不是,你默认配置文件中的配置是找不到相应A51、C51、BL51等工具的.你可以尝试装到那路径下.另外,如果是没有注册过的KEIL,当程序超过2K时,会出现代码限制的错误,也是不能通过编译的,,,这个可以通过KEIL的注册机解决.其实当你遇到编译不能通过时,最好能把你的编译信息发上来,这样就能更好的了解你那里的情况.我的邮箱是 ppt1845@163.com 如果有问题,我有时间的话,可以帮助你.

苏州市18242441487: 怎么用keil写汇编程序并且下载到51单片机中去,我试了但硬件没反应,求详细过程? -
崔胡猗清: Keil写汇编程序与写c程序差不多,写一个汇编程序步骤如下.一,运行keil,建一个工程.二,新建一个文件,另存为后缀为asm的汇编文件.三,将这个文件载入刚建的工程.四,现在可以录入代码了.五,录入完成后编译调试直到没有错误和警告,生成HEX文件.六,将HEX文件下载到单片机,运行看效果.七,修改软件直到达到预期效果.

苏州市18242441487: 单片机汇编语言1加到100怎么编? -
崔胡猗清: org 0mov r0,#100 ;共100个数 mov a,#0 ;累加结果先清0 mov r1,#1 ;第1个数为1loop: add a,r1 ;把数累加起来 inc r1 ;下一个数 djnz r0,loop;共100个数,未完转 LOOP循环sjmp $ ;完成 end

苏州市18242441487: kei c51 这个软件能编写编译汇编语言程序吗? -
崔胡猗清: Keil c51支持两种语言,3种做法 1.C语言 2.汇编语言 3.C语言中嵌入汇编 其中1和2之间的选择是通过 File-->New-->Save-->这时候可用后缀表示你选择的语言 C语言的话,可把文件名定为Text.c 汇编语言的话,可把文件名定为Text.asm3的做法是用语法来完成.

苏州市18242441487: keil c51用汇编语言编程用法一样么 -
崔胡猗清: 有难度.你要总结一些这方面的经验.C编译的时候.会多出一些东西来是正常的.因为编译器不是针对某一个MCU来做的.所以,它在编译的时候往往会参考INTEL的芯片结构来做.你可以找一些C语言编译优化等资料来看看.写程序的时候,把运算的代码尽可能的分行来写,特别是IF等语句不要执行带运算的判断.少一个跳转的情况.尽量的少使用乘除法.改用移位来实现.慢慢的你就会做到了!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网