Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 01.08.2018
Сообщений: 104
1

Непонятная ошибка

30.05.2020, 17:04. Просмотров 182. Ответов 6
Метки нет (Все метки)

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
    .include "m16def.inc"
    .def cdel=R25
    .def temp=R16
    .def data=R24
    .def zreg=R1
    .cseg
    .org 0
    rjmp start
    .org $30
start:ldi temp,high(ramend)
    out sph,temp
    ldi temp,low(ramend)
    out spl,temp
    ldi temp,$03
    out DDRB,temp
    LDI temp,0b11111100
    out portb,temp
    ldi temp,$FF
    out DDRA,temp
    OUT DDRD,temp
    cli temp
    out DDrc,temp
    ldi temp,$FF
    out portc,temp
    call LCD_INIT
 
    ;call max_prov
    ;call prov
    ldi zh,1
    ldi zl,0
    ldi temp,$30
vr: st z+,temp
    cpi temp,$38
    brne vr
    call LCD_OUT2
vr2:rjmp vr2
 
LCD_OUT2:
    call LCD_str
    ldi temp,2
    sts $70,temp
    ldi temp,0
    sts $71,temp
    call LCD_adr
    ldi zh,1
    ldi zl,0
news: ld data,z+
    cpi data,0
    breq pr
    ret
pr: call LCD_OUT
    rjmp news
 
 
LCD_INIT:
    ldi temp,0b00111000;установка 8 разрядной шины 2 строки, шрифт 5*7
    out portd,temp
    cbi portb,1
    sbi portb,0 ;выдача Е
    cbi portb,0; снятие Е
    call LCD_DELAY
    ldi temp,0b00001110;включение дисплея видимый курсор, не минает
    out portd,temp
    sbi portb,0 ;выдача Е
    cbi portb,0; снятие Е
    call LCD_DELAY
    ldi temp,0b00010100;пермещение курсора впрво
    out portd,temp
    sbi portb,0 ;выдача Е
    cbi portb,0; снятие Е
    call LCD_DELAY
    ldi temp,$80;установка начального адреса
    out portd,temp
    sbi portb,0 ;выдача Е
    cbi portb,0; снятие Е
    call LCD_DELAY
    ret
 
 
    LCD_adr:; процедура установки положения курсора
    LDS temp,$70
    cpi temp,1
    breq ustadr1
    ldi data,$C0
    rjmp sum
ustadr1:ldi data,$80
sum:    LDS temp,$71
    add data,temp
    out portd,data
    cbi portb,1;установка RS
    sbi portb,0 ;выдача Е
    cbi portb,0; снятие Е
    call LCD_DELAY
    ret
 
    LCD_STR:;выдача строки на LCD из памяти парограмм
    clr temp
    clr zreg
    ldi zh, high(str1*2)
    ldi zl, low(str1*2)
str:lpm
    mov data,R0
    call LCD_OUT
    inc zl
 
    inc temp
    cpi temp,15
    brne str
 
    
 
LCD_DELAY:ldi cdel,50
re: dec cdel
    nop 
    brne re
    ret
    
LCD_OUT:
    out PORTD,data
    sbi portb,1
    sbi portb,0 ;выдача Е
    cbi portb,0; снятие Е
    call LCD_DELAY
    ret
 
str1:
    .db 0x48,0x45,0xA5,0x43,0xA8,0x50,0x2E,0xA8
    .db 0x50,0x4F,0x42,0x4F,0xE0,0x41
есть подпрограммы для работы с LCD HD44780 8 бит при компиляции ругается на команду call в 25 строке и не понятно почему(контроллер ATmega16)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2020, 17:04
Ответы с готовыми решениями:

Непонятная ошибка шины i2c...
y2s работает на прерываниях, но иногда происходит что то не понятное, хаотично примерно через 5-30...

Непонятная ошибка...
Вот код $(function() { $(".vote").click(function() {

непонятная ошибка
Я пытаюсь создать хедер, в котором будут структуры, для использование в разных программах. При...

Непонятная ошибка
код main.cpp #include <o.cpp> #include <o.moc> MyEdit *label4; MyThread *TR; ...

6
Модератор
6692 / 3268 / 1309
Регистрация: 01.02.2015
Сообщений: 10,364
Записей в блоге: 1
30.05.2020, 18:45 2
rcall
0
1 / 1 / 0
Регистрация: 01.08.2018
Сообщений: 104
30.05.2020, 18:56  [ТС] 3
и все равно такая же ошибка
0
Модератор
6692 / 3268 / 1309
Регистрация: 01.02.2015
Сообщений: 10,364
Записей в блоге: 1
30.05.2020, 19:44 4
андрей богатыре, вот прямо сейчас скачал и установил AvrStudio 4.18.
Создал проект, скопировал код из первого сообщения, нажал в меню Build, получил ошибку
Код
C:\Users\User\Documents\avr_0001\avr_0001.asm(21): error: Wrong number of operands
Assembler
21
    cli temp
Не знаю, что подразумевалось, удалил строку 21.

Повторил компиляцию - успешно
Код
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)
Copyright (C) 1995-2009 ATMEL Corporation

C:\Users\User\Documents\avr_0001\avr_0001.asm(1): Including file 'C:\Program Files (x86)\Atmel\AVR Tools\AvrAssembler2\Appnotes\m16def.inc'
C:\Users\User\Documents\avr_0001\avr_0001.asm(129): No EEPROM data, deleting C:\Users\User\Documents\avr_0001\avr_0001.eep

ATmega16 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x00014c    224     14    238   16384   1.5%
[.dseg] 0x000060 0x000060      0      0      0    1024   0.0%
[.eseg] 0x000000 0x000000      0      0      0     512   0.0%

Assembly complete, 0 errors. 0 warnings
Не могу воспроизвести ни одной из ваших ошибок.
0
1 / 1 / 0
Регистрация: 01.08.2018
Сообщений: 104
30.05.2020, 19:56  [ТС] 5
спасибо заменил cli на ldi temp,0
0
Модератор
8201 / 6071 / 811
Регистрация: 14.02.2011
Сообщений: 21,062
30.05.2020, 21:31 6
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Не знаю, что подразумевалось, удалил строку 21.
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
C:\Users\User\Documents\avr_0001\avr_0001.asm(21): error: Wrong number of operands
подразумевалось что нет такого операнда
CLI это
Очистка флага глобального прерывания (I) в регистре статуса (SREG).
отсюда http://www.gaw.ru/html.cgi/txt... sm/cli.htm
ну а по простому команда CLI запрещает прерывания
и пишется просто
Assembler
1
CLI
и второй операнд не нужен
Цитата Сообщение от андрей богатыре Посмотреть сообщение
Assembler
1
cli temp
0
Модератор
6692 / 3268 / 1309
Регистрация: 01.02.2015
Сообщений: 10,364
Записей в блоге: 1
30.05.2020, 22:19 7
Или это
Assembler
clr temp
Оставил автору удовольствие вспомнить ход мыслей.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2020, 22:19

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Непонятная ошибка
Здравствуйте, есть код, в котором два раза выполняется одна и та же последовательность, первый раз...

Непонятная ошибка
Пишу программу, выскакивает ровно на 2000-ной итерации в цикле. в программе есть динамические...

Непонятная ошибка
Когда пытаюь сохранить проект, то при сохранении .dpr / .dprprj вылетает это. А потом проект не...

Непонятная ошибка
Привет всем) Есть главная форма! type TFormMainMenu = class(TForm) GroupBox1:...

Непонятная ошибка
При работе вылетает ошибка... "Ошибка при записи в файл процесса pid.nbf. " С чем это может быть...

Непонятная ошибка
Команда: профиль | :11: attempt to concatenate a nil value как ее исправить? сам скрипт init = {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.