找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4145|回復(fù): 10
收起左側(cè)

請問Keil編譯匯編語言的時候 很多行都顯示符號未定義是怎么回事?

[復(fù)制鏈接]
ID:949330 發(fā)表于 2021-7-5 12:34 來自手機(jī) | 顯示全部樓層 |閱讀模式
如題
回復(fù)

使用道具 舉報

ID:934353 發(fā)表于 2021-7-5 14:47 | 顯示全部樓層
不能發(fā)張圖片嗎,這樣問。。。
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2021-7-5 16:13 | 顯示全部樓層
因為真的未定義
回復(fù)

使用道具 舉報

ID:155507 發(fā)表于 2021-7-5 16:55 | 顯示全部樓層
題主你好,你這樣的提問。我估計沒幾個人會回答你的。
無圖、無程序,怎么幫你? 好歹給點信息嘛! 那怎麼判斷到底問題出在哪裏呢

找提示的第一個錯誤,后面的是累記的,一般第一個錯誤改正后就沒錯誤了
回復(fù)

使用道具 舉報

ID:949744 發(fā)表于 2021-7-6 10:23 | 顯示全部樓層
你在程序開頭就要把會使用到的變量聲明,定義它的數(shù)據(jù)類型,未定義就是因為你沒聲明就直接使用了,計算機(jī)無法把它帶入運算
回復(fù)

使用道具 舉報

ID:949330 發(fā)表于 2021-7-6 10:36 來自手機(jī) | 顯示全部樓層
不好意思,第一次提問忘了放圖片了,這個我問了老師,老師問我LP1是啥,我不知道,他就說要定義LP1,怎么定義啊,我真的是單片機(jī)小白,怪我沒聽課
IMG20210705124134.jpg
回復(fù)

使用道具 舉報

ID:949330 發(fā)表于 2021-7-6 10:42 來自手機(jī) | 顯示全部樓層
聰明勇敢 發(fā)表于 2021-7-6 10:23
你在程序開頭就要把會使用到的變量聲明,定義它的數(shù)據(jù)類型,未定義就是因為你沒聲明就直接使用了,計算機(jī)無 ...

是這么個情況 謝謝啦
回復(fù)

使用道具 舉報

ID:949330 發(fā)表于 2021-7-6 10:42 來自手機(jī) | 顯示全部樓層
angmall 發(fā)表于 2021-7-5 16:55
題主你好,你這樣的提問。我估計沒幾個人會回答你的。
無圖、無程序,怎么幫你? 好歹給點信息嘛! 那怎麼 ...

對對對,是這樣 謝謝啦 我這就去改
回復(fù)

使用道具 舉報

ID:949330 發(fā)表于 2021-7-6 10:43 來自手機(jī) | 顯示全部樓層
lkc8210 發(fā)表于 2021-7-5 16:13
因為真的未定義

是真的
回復(fù)

使用道具 舉報

ID:155507 發(fā)表于 2021-7-6 12:53 | 顯示全部樓層
獨小獸 發(fā)表于 2021-7-6 10:36
不好意思,第一次提問忘了放圖片了,這個我問了老師,老師問我LP1是啥,我不知道,他就說要定義LP1,怎么定 ...

要定義LP1,就是這個樣  LP1: 定義啊

我給你來個程序試試

  1. ;打開任意串口調(diào)試軟件
  2. ;打開對應(yīng)的串口,可以在設(shè)備管理器中看到
  3. ;設(shè)置波特率為9600,8個數(shù)據(jù)位,1個停止位,無奇偶校驗
  4. ;在發(fā)送欄輸入任意數(shù)字或者字符串,點擊發(fā)送,接收區(qū)能接收到相同的信息
  5. ;發(fā)送格式與接收格式必須相同,如都是字符或者都是十六進(jìn)制格式
  6.         ORG 0000H
  7.         AJMP MAIN
  8.         ORG 0023H
  9.         AJMP RECEIVE          ;跳轉(zhuǎn)到接收中斷入口
  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            ;串口接收數(shù)據(jù)
  21.         MOV R0,A
  22.         MOV SBUF,A            ;將接收的數(shù)據(jù)再傳送給計算機(jī)
  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
復(fù)制代碼

回復(fù)

使用道具 舉報

ID:88256 發(fā)表于 2021-7-6 13:54 | 顯示全部樓層
獨小獸 發(fā)表于 2021-7-6 10:36
不好意思,第一次提問忘了放圖片了,這個我問了老師,老師問我LP1是啥,我不知道,他就說要定義LP1,怎么定 ...

你這個程序是哪里來的?KEIL的軟件要設(shè)置顯示行號,這樣出問題看提示哪一行就好找了,網(wǎng)友們幫你也好說明哪個地方出問題。
MOV R2,#OFH報錯,那個#號后面應(yīng)該為0而不是O,類似的問題自己找;
你要求程序跳轉(zhuǎn)到LP1處,可是你沒有指定LP1在哪個地方,軟件肯定報錯;
程序不完整,其它報錯的自己對行號查看;
需要用 ORG 0030H 指定START的起始地址,跳過所有的中斷入口。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表