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

Вывод цифр на семисегментный индикатор Atmega328P

24.05.2020, 21:32. Просмотров 296. Ответов 5
Метки нет (Все метки)

Здравствуйте всем.
Задание по лабораторному: Как написать программу так чтобы ножки индикатора подключались к заданным выводам микроконтроллера (atmega328p). То есть по шаблону задания ножки индикатора подключены к портам от PB0-PB6. А по варианту надо подключить так например PB1, PB3, PB5, PB7, PC1, PC2, PC3 (или совсем по другому). И возможно ли это?

Вот исходный код:
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
.DEF DATA_REGISTER=R18
.MACRO OUTI
LDI R16, @1
OUT @0, R16
.ENDMACRO
.MACRO CHECK_AND_FILL
SBIS @0, @1
LDI DATA_REGISTER, @2
.ENDMACRO
OUTI PORTD, 0b11111111
OUTI PORTC, 0b00001100
OUTI DDRB, 0b01111111
 
start:
 
CHECK_AND_FILL PIND, 0, 0b00000110; 1
CHECK_AND_FILL PIND, 1, 0b01011011; 2
CHECK_AND_FILL PIND, 2, 0b01001111; 3
CHECK_AND_FILL PIND, 3, 0b01100110; 4
CHECK_AND_FILL PIND, 4, 0b01101101; 5
CHECK_AND_FILL PIND, 5, 0b01111101; 6
CHECK_AND_FILL PIND, 6, 0b00000111; 7
CHECK_AND_FILL PIND, 7, 0b01111111; 8
CHECK_AND_FILL PINC, 2, 0b01101111; 9
CHECK_AND_FILL PINC, 3, 0b00111111; 0
 
OUT PORTB, DATA_REGISTER
RJMP start
Ниже фото с протеуса:
1) исходник
2) вариант (и здесь вопрос так возможно или преподаватель ошибается)
И код для вариантов которые нам даны:

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
.DEF REG1=R18
.DEF REG2=R19
.MACRO OUTI
LDI R16, @1
OUT @0, R16
.ENDMACRO
.MACRO CHECK_AND_FILL
SBIS @0, @1
LDI REG1, @2
LDI REG2, @2
.ENDMACRO
OUTI PORTC, 0b00111111
OUTI DDRD, 0b10000000
OUTI DDRB, 0b00111111
 
loop:
CHECK_AND_FILL PINC, 0, 0b00000110; 1
CHECK_AND_FILL PINC, 0, 0b00000110; 1
 
CHECK_AND_FILL PINC, 1, 0b01011011; 2
CHECK_AND_FILL PINC, 1, 0b01011011; 2
 
CHECK_AND_FILL PINC, 2, 0b01001111; 3
CHECK_AND_FILL PINC, 2, 0b01001111; 3
 
CHECK_AND_FILL PINC, 3, 0b01100110; 4
CHECK_AND_FILL PINC, 3, 0b01100110; 4
 
CHECK_AND_FILL PINC, 4, 0b01101101; 5
CHECK_AND_FILL PINC, 4, 0b01101101; 5
 
CHECK_AND_FILL PINC, 5, 0b01111101; 6
CHECK_AND_FILL PINC, 5, 0b01111101; 6
 
OUT PORTD, REG1
OUT PORTB, REG2
RJMP loop

Можете помочь с кодом...
0
Миниатюры
Вывод цифр на семисегментный индикатор Atmega328P   Вывод цифр на семисегментный индикатор Atmega328P  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2020, 21:32
Ответы с готовыми решениями:

Вывод букв с клавиатуры через МК ATmega8 на семисегментный индикатор
На фото приблизительная схема Нажимая на клавиатуре символ(Число) через микроконтроллер ATmega8...

Семисегментный индикатор с общим анодом
Помогите переделать вот этот исходник, так как я в программировании почти полный ноль начинающий ,...

Трехразрядный семисегментный индикатор на ATtiny2313
Имеется задача сделать так, чтобы трех разрядный семисегментный идникатор считал от 1до999 Удалось...

АЦП+UART+семисегментный индикатор(ATMega16, asm)
Пытаюсь разобраться с АЦП на AVR. Взял за исходник вот эту программу...

5
901 / 541 / 81
Регистрация: 15.05.2012
Сообщений: 3,168
25.05.2020, 07:58 2
Ошибается. Смотрим, куда он выводит данные после опроса кнопок.
0
0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 23
25.05.2020, 08:34  [ТС] 3
Цитата Сообщение от pyzhman Посмотреть сообщение
Ошибается. Смотрим, куда он выводит данные после опроса кнопок.
А здесь можно что-то изменить тогда...для разнообразия вариантов...например изменить не кнопки, а именно ножки индикатора?
0
901 / 541 / 81
Регистрация: 15.05.2012
Сообщений: 3,168
25.05.2020, 10:00 4
Можно и нужно поменять код. Изменение схемы не поможет.
0
0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 23
25.05.2020, 10:11  [ТС] 5
Подключить индикатора к этим ножкам (PB1, PB3, PB5, PB7, PC1, PC2, PC3) микроконтроллера возможно?
Если есть можете помочь?
0
901 / 541 / 81
Регистрация: 15.05.2012
Сообщений: 3,168
25.05.2020, 10:30 6
Конечно возможно.
Да, могу.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2020, 10:30

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

Вывод на семисегментный индикатор
Реализовать на левой паре знакомест статического семисегментного индикатора отображение состояний...

Вывод данных в семисегментный индикатор
что не так сделал? должно выводится 0 1 2 3 4 5 из массива BufTime #include <stdio.h>...

Семисегментный индикатор
Здравствуйте! Помогите написать программу к курсовому на тему:"Семисегментный индикатор,...

Двойной семисегментный индикатор
Подскажите, пожалуйста, как подключить двойной семисегментный индикатор к контроллеру PIC16F84A, и...

STM321F4 и семисегментный индикатор
Кто-то пробовал управлять семисегментным индикатором с STM32F4? Поделитесь кодом или посоветуйте...

Семисегментный индикатор (ассемблер)
Сохранить числа в двоичной и двоично - десятичной системе счисления, и отобразить на семисегментном...


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

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

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