变形错误:PC = 0x0118上无效的操作码0x000D

时间:2018-11-23 22:13:38

标签: avr micro codevisionavr

我在Bascom上编写了此代码,但是在运行并单击Proteus上的键盘时,我看到了此错误:

Invalid opcode 0x000D at PC=0x0118

这是我在Bascom上的代码

$regfile = "m16def.dat"
$crystal = 1000000
Config Kbd = Portd , Debounce = 30
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.3 , E = Portb.2
Dim Adad As Byte
Dim Andis As Byte
Dim Lable As Byte

Scan1:
Waitms 200
Adad = 0
Andis = Getkbd()
If Andis > 15 Then Goto Scan1

Lable = Lookup(andis , Dta)
If Lable < 10 Then
Adad = Adad * 10
Adad = Adad + Lable
Lcd Adad
End If

Dta:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15

这是我对proteus的{​​{1}}模拟: enter image description here

,当我单击键盘时,我看到以下内容: enter image description here

我不知道那里发生了什么。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这是因为PIC的版本或类型。例如,将其与arduino一起使用时,必须指定类型(UNO,NANO,MEGA)。

答案 1 :(得分:0)

可能是第一个.include 在使用atmega328p在同一程序(proteus)上的汇编avr中编程时,我遇到了这个问题。我忘了将注入器放在第一位,并且我有一个变形版的演示版(每次再次启动该应用程序时,都必须以管理员身份运行)。试试这个,让我知道它有效。