|
發(fā)布時間: 2020-5-17 22:21
正文摘要:;;;;;通過查表程序控制P0口的發(fā)光二極管周期性變換花樣閃爍發(fā)光 MAIN:CLR A ;初始化 MOV DPTR,#SHEET ;取表首地址 &n ... |
1zjxx 發(fā)表于 2020-5-19 22:37 (所用的軟件為proteus7.8以及keil4) 所需要的資料:(VDM51.DLL+keil+proteus) keil與proteus聯(lián)調(diào)方法如下: (1)假若Keil C51與Proteus均已正確安裝在D:\Program Files的目錄里,把D:\Program Files\Labcenter Electronics\Proteus 7 Professional\MODELS\VDM51.dll復(fù)制到D:\Program Files\keilC\C51\BIN目錄中,如果沒有“VDM51.dll”文件,那么去下載一個把proteus安裝目錄下 (2)修改keil安裝目錄下 Tools.ini文件,在C51字段加入TDRV8=BIN\VDM51.DLL (“Proteus VSM Monitor-51 Driver”),并保存。注意:不一定要用TDRV8,根據(jù)原來字段選用一個不重復(fù)的數(shù)值,如“TDRV9”也可以。 (3)打開proteus,畫出相應(yīng)電路原理圖。在proteus的Debug菜單中選中“use remote debug monitor”。 (4)在proteus中選擇Debug,“Start/Restart Debugging”,如果在KEIL的Output Window的窗口中出現(xiàn)“VDM51 target initialized.”說明Proteus連接成功了;在keil中進行debug,如進行單步、斷點等;同時在proteus中查看調(diào)試的結(jié)果。 |
madell 發(fā)表于 2020-5-20 10:10 非常感謝! |
你這個是P0端口沒有定義,要么是工程沒有設(shè)定好,要么是工程沒有導(dǎo)入ASM文件,你的代碼在我的KEIL4上是可以運行的,并沒有報錯
|
madell 發(fā)表于 2020-5-19 17:19 好的!那么您知道,keil4和keil5怎么弄,才可以和proteus聯(lián)合擬真嗎 我在網(wǎng)上找來找去,vdmagdi插件都是只支持keil2和keil3的,沒有能支持keil3以上的![]() |
xuyaqi 發(fā)表于 2020-5-19 20:48 感謝大佬! 我把P0換成80h ,報錯變成了 NOT AN OBJECT FILE 我把P0換成#80h ,報錯變成了 EXPRESSION TYPE DOES NOT MATCH INSTRUCTION 報錯內(nèi)容變了,說明問題就出在這個P0這里了! |
datianmo 發(fā)表于 2020-5-19 16:30 試了一下,還是報錯了,而且報錯的內(nèi)容不變,,, 總之還是感謝您的回復(fù)了 ![]() |
| P0直接用寄存器地址 80h 替換 |
| 程序沒有問題,編譯器問題,重新安裝KEIL,我用KEIL4編譯沒有問題。 |
| 最前面一行加上ORG 0 |
| 不知會少包含標準的.h文件 |
| 高手都用匯編。 |
Y_G_G 發(fā)表于 2020-5-19 09:03 我選的是AT89C51 |
重新選擇一下單片機型號,如果還是不行的話,可能是你安裝的不是C51版本的KEIL
|
ByanouQ 發(fā)表于 2020-5-18 08:54 我不是高手,只是個學(xué)單片機的學(xué)生罷了 ![]() |
madell 發(fā)表于 2020-5-18 12:46 試了一下還是一樣的報錯,,, A51(11): error A45: UNDEFINED SYMBOL 不管怎么說還是很感謝您的回答了 ![]() |
madell 發(fā)表于 2020-5-18 12:46 好的!感謝大佬! |
ByanouQ 發(fā)表于 2020-5-18 08:54 感謝回復(fù)! |
| 取表定義錯誤。MOV DPTR,#SHEET 改為 MOV DPTR,#SHOW |
| 高手都用匯編語言。出錯英文意思沒有定義符號,好像匯編沒有P0的定義吧。匯編丟很久,如果不對,望見諒!! |
Powered by 單片機教程網(wǎng)