标题: 请问Keil编译汇编语言的时候 很多行都显示符号未定义是怎么回事? [打印本页]

作者: 独小兽    时间: 2021-7-5 12:34
标题: 请问Keil编译汇编语言的时候 很多行都显示符号未定义是怎么回事?
如题

作者: 开心就好hhhh    时间: 2021-7-5 14:47
不能发张图片吗,这样问。。。
作者: lkc8210    时间: 2021-7-5 16:13
因为真的未定义
作者: angmall    时间: 2021-7-5 16:55
题主你好,你这样的提问。我估计没几个人会回答你的。
无图、无程序,怎么帮你? 好歹给点信息嘛! 那怎麽判斷到底問題出在哪裏呢

找提示的第一个错误,后面的是累记的,一般第一个错误改正后就没错误了
作者: 聪明勇敢    时间: 2021-7-6 10:23
你在程序开头就要把会使用到的变量声明,定义它的数据类型,未定义就是因为你没声明就直接使用了,计算机无法把它带入运算
作者: 独小兽    时间: 2021-7-6 10:36
不好意思,第一次提问忘了放图片了,这个我问了老师,老师问我LP1是啥,我不知道,他就说要定义LP1,怎么定义啊,我真的是单片机小白,怪我没听课

IMG20210705124134.jpg (599.25 KB, 下载次数: 37)

IMG20210705124134.jpg

作者: 独小兽    时间: 2021-7-6 10:42
聪明勇敢 发表于 2021-7-6 10:23
你在程序开头就要把会使用到的变量声明,定义它的数据类型,未定义就是因为你没声明就直接使用了,计算机无 ...

是这么个情况 谢谢啦
作者: 独小兽    时间: 2021-7-6 10:42
angmall 发表于 2021-7-5 16:55
题主你好,你这样的提问。我估计没几个人会回答你的。
无图、无程序,怎么帮你? 好歹给点信息嘛! 那怎麽 ...

对对对,是这样 谢谢啦 我这就去改
作者: 独小兽    时间: 2021-7-6 10:43
lkc8210 发表于 2021-7-5 16:13
因为真的未定义

是真的
作者: angmall    时间: 2021-7-6 12:53
独小兽 发表于 2021-7-6 10:36
不好意思,第一次提问忘了放图片了,这个我问了老师,老师问我LP1是啥,我不知道,他就说要定义LP1,怎么定 ...

要定义LP1,就是这个样  LP1: 定义啊

我给你来个程序试试

  1. ;打开任意串口调试软件
  2. ;打开对应的串口,可以在设备管理器中看到
  3. ;设置波特率为9600,8个数据位,1个停止位,无奇偶校验
  4. ;在发送栏输入任意数字或者字符串,点击发送,接收区能接收到相同的信息
  5. ;发送格式与接收格式必须相同,如都是字符或者都是十六进制格式
  6.         ORG 0000H
  7.         AJMP MAIN
  8.         ORG 0023H
  9.         AJMP RECEIVE          ;跳转到接收中断入口
  10.         ORG 0030H

  11. MAIN:   MOV TMOD,#20H         ;T1工作方式2
  12.         MOV TH1,#0FDH         ;波特率9600
  13.         MOV SCON,#50H         ;传口工作方式1,允许中断接受
  14.         SETB EA               ;打开总中断
  15.         SETB ES               ;打开串口中断
  16.         SETB TR1              ;打开定时器1
  17.         AJMP $


  18. RECEIVE:
  19.         CLR RI
  20.         MOV A,SBUF            ;串口接收数据
  21.         MOV R0,A
  22.         MOV SBUF,A            ;将接收的数据再传送给计算机
  23.         JNB TI,$
  24.         CLR TI
  25.         MOV A,R0

  26.         ;送LED显示
  27.         MOV P1,A
  28.         RETI


  29. TAB:    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H    ;共阳字码表

  30.         END
复制代码


作者: hhdsdy    时间: 2021-7-6 13:54
独小兽 发表于 2021-7-6 10:36
不好意思,第一次提问忘了放图片了,这个我问了老师,老师问我LP1是啥,我不知道,他就说要定义LP1,怎么定 ...

你这个程序是哪里来的?KEIL的软件要设置显示行号,这样出问题看提示哪一行就好找了,网友们帮你也好说明哪个地方出问题。
MOV R2,#OFH报错,那个#号后面应该为0而不是O,类似的问题自己找;
你要求程序跳转到LP1处,可是你没有指定LP1在哪个地方,软件肯定报错;
程序不完整,其它报错的自己对行号查看;
需要用 ORG 0030H 指定START的起始地址,跳过所有的中断入口。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1