|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
как подать логическую единицу на пин порта18.10.2012, 16:07. Показов 12714. Ответов 30
Метки нет (Все метки)
Здравствуйте извините за глупый вопрос я только начинаю заниматься микроконтроллерами...
Написал программу чтоб при нажатии кнопки на порту А в 6м бите лампа от 6го бита порта С меняла своё состояние 1/0 #include <mega8515.h> void main(void) { DDRA = 0b00000000; //Порты на вход PORTA = 0b00100000; // подключаем подтягивающий резистор DDRC = 0b11111111; //порты на выход PORTC = 0b01001000; PORTC = PORTC ^ PORTA; } 6й бит порта А подключил через кнопку на землю. он просто читает значение порта А и инвертирует сигнал 1 раз без нажатия пробовал зациклить программу но тоже ни к чему непривело( как считать с ножки порта А сигнал не знаю =/ у вас в роликах просто числа написаны(. Помогите пожалуйста ... #include <mega8515.h> void main(void) { DDRA = 0b00000000; //Порты на вход PORTA = 0b00100000; // подключаем подтягивающий резистор DDRC = 0b11111111; //порты на выход PORTC = 0b01001000; while(1) { PORTC = PORTC ^ PORTA; } } тоже ни к чему непривело( то есть просто немогу считать внешний сигнал (
0
|
|
| 18.10.2012, 16:07 | |
|
Ответы с готовыми решениями:
30
Формирование синхроимпульса. Вывести единицу или ноль на определенный пин RS232 На 9-ти контактный разъем СОМ порта на 7-ю ножку подать напряжение |
|
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 789
|
|
| 18.10.2012, 16:11 | |
|
Чтение порта - из регистров PINx. Попробуйте PORTC = PORTC ^ PINA;
0
|
|
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
||
| 18.10.2012, 16:52 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
| 18.10.2012, 16:55 | |
|
если можно киньте пожалуйста программу напишем чтоб лампа с порта С загоралась при подачи напряжения на пин порта А. проинвертировать я итак смогу. просто немогу входной сигнал прочитать =/ непонимаю как это делается
0
|
|
|
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
|
|||
| 18.10.2012, 17:10 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 789
|
||
| 18.10.2012, 17:11 | ||
PORTC = PINA это если не требуется фиксированнное нажатие. Нажали - загорелась, отпустили - потухла. AVR. Учебный курс. Устройство и работа портов ввода-вывода читали?
0
|
||
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
| 18.10.2012, 17:20 | |
|
[QUOTE="Финский"][QUOTE="Цитата:[/QUOTE][QUOTE]и бывает что 2-3 пина так при нажатии гаснут при отпускании загораются. ( чушь какая то =/[/QUOTE] Эта чушь называется "дребезг кнопки"
PORTC = PINA это если не требуется фиксированнное нажатие. Нажали - загорелась, отпустили - потухла. [URL="http://iosyitistromyss.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html"]AVR. Учебный курс. Устройство и работа портов ввода-вывода[/URL] читали? Нечитал =/ про дребезг кнопки сейчас кондёр поставлю но врядли что то изменится В любом случае за ссылку спасибо :)
0
|
|
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
| 18.10.2012, 17:50 | |
|
[QUOTE="Финский"][QUOTE="Цитата:[/QUOTE][QUOTE]и бывает что 2-3 пина так при нажатии гаснут при отпускании загораются. ( чушь какая то =/[/QUOTE] Эта чушь называется "дребезг кнопки"
PORTC = PINA это если не требуется фиксированнное нажатие. Нажали - загорелась, отпустили - потухла. [URL="http://iosyitistromyss.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html"]AVR. Учебный курс. Устройство и работа портов ввода-вывода[/URL] читали?
0
|
|
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
| 18.10.2012, 17:51 | |
|
[QUOTE="Финский"][QUOTE="Цитата:[/QUOTE][QUOTE]и бывает что 2-3 пина так при нажатии гаснут при отпускании загораются. ( чушь какая то =/[/QUOTE] Эта чушь называется "дребезг кнопки"
PORTC = PINA это если не требуется фиксированнное нажатие. Нажали - загорелась, отпустили - потухла. [URL="http://iosyitistromyss.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html"]AVR. Учебный курс. Устройство и работа портов ввода-вывода[/URL] читали? кондер поставил. толку нет. нажал при использовании PINA вообще лампы загараются от наведения микропомех несмотря даже на то что схема заземлена
0
|
|
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 4
|
||
| 18.10.2012, 18:18 | ||
ну а чтоб так не парится пиши PORTA |= 1 << 6; // в шестом бите порта А будет 1
0
|
||
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
||
| 18.10.2012, 18:26 | ||
ну а чтоб так не парится пиши PORTA |= 1 << 6; // в шестом бите порта А будет 1 я сделал проще. подтянул весь порт. всё тупо инвертировалось и всё(
0
|
||
|
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 789
|
||||||
| 18.10.2012, 18:36 | ||||||
|
Код
Ну вот программа, как я понял ТЗ. Но все таки советую разобраться с командами чтения из портов. Почитать, что такое конечный автомат. Да, резистор на светодиоде не указан, но обязателен.
0
|
||||||
|
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 124
|
|
| 18.10.2012, 18:46 | |
|
Я тоже не далеко ушел от старта, единственное, что колупаю пока только в CodivisionAvr
Собственно в нем не вижу проблемы вообще: Генератор кода // Input/Output Ports initiotyzotion // Port B initiotyzotion // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=P State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x40; //бит 6 на вход с подтяжкой DDRB=0x00; // Port C initiotyzotion // Func6=Out Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=0 State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x40; //порт на выход, по умолчанию - 0 основная функция while (1) { if(PINB.6 == 0) { PORTC.6 = 1; } }
0
|
|
|
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 789
|
||
| 18.10.2012, 18:48 | ||
while (1) { if(PINB.6 == 0) { PORTC.6 = 1; } А вдруг выключить нужно будет? :)
0
|
||
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
| 18.10.2012, 18:49 | |
|
Да. всё работает!!! спасибо большое сейчас буду разбираться с командами. Про резистор умолчал думаю это не суть главное чтоб сигнал с порта был. Думал прога куда короче будет =/
0
|
|
|
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 124
|
|
| 18.10.2012, 18:54 | |
|
Интернет глючит, сорри
там еще else { PORTC.6 = 0; } Это может и изврат, но по-началу как мне кажется cvavr очень не плох, ибо с познаниями простого ногодрыганья сам накатал функции общения по y2s
0
|
|
|
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 789
|
||
| 18.10.2012, 18:56 | ||
else { PORTC.6 = 0; } Если так, то светик будет гореть только пока нажата кнопка. Я же понял, ТС хочет: раз нажал - вкл, еще раз нажал - выкл.
0
|
||
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
| 18.10.2012, 19:04 | |
|
1
0
|
|
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
||
| 18.10.2012, 19:04 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 60
|
|
| 18.10.2012, 19:10 | |
|
если вставить тело второй программы в первую всё нормально а по другому АВР матерится
0
|
|
| 18.10.2012, 19:10 | |
|
Помогаю со студенческими работами здесь
20
ATtiny461A не видит логическую единицу на входе ноги 16 пин разъем питания на материнке Fujitsu D2990-A Можно ли как-то запитать от БП с 20(24) пин? Можно ли воспользоваться 8 пин разъемом БП, как 6 пин того же БП ? Написать программу, позволяющую реализовать в регистре порта B непрерывную «Бегущую единицу
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|