Ошибка протея: неверный код операции 0x000D на ПК =0x0118
Я написал этот код на 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
симуляция для simple calculation
:
и когда я нажимаю на клавиатуру, я вижу это:
Я понятия не имею, что там произошло. любая помощь будет оценена.
0 ответов
Это из-за версии ПОС или его типа. Например, при использовании с arduino вы должны указать тип (UNO, NANO, MEGA).
Вероятно, это.include, когда я впервые столкнулся с этой проблемой при программировании на ассемблере avr в той же программе (proteus) с использованием atmega328p. Мне удалось поставить inculde на 1-е место, и у меня была демонстрационная версия proteus (которая требует запуска от имени администратора каждый раз, когда вы снова запускаете приложение). Попробуйте это и дайте мне знать, что это сработало.