Jump to content

Yuroy

Members
  • Content Count

    9
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Yuroy

  • Rank
    Новенький

Информация

  • Пол
    Мужчина
  1. Yuroy

    Uart / Usart

    В общем кажется разобрался. Моя программа написана правильно. rtfcnf, вся загвоздка была как вы и предполагали в частоте микроконтроллера, а также в скорости передачи кода BAUD. В регистр UBRRL загрузил 0х33, что соответствует скорости 9600 при частоте микроконтроллера 8 МГц. Заработало в протеусе! Попробовал разные частоты, разные скорости обмена, почему-то только на частоте 8 МГц и со скоростью 9600 работает(в протеусе). На других частотах выдаёт непонятные символы. Ну хорошо, что теперь знаю почему не работало. Я думал, что всё таки дело в программе. В понедельник проверю на железе - отпишусь. rtfcnf, спасибо за советы.
  2. Yuroy

    Uart / Usart

    Исправил на COM. Если вы имеете ввиду фьюзы под словом конфигурация, то их пока не трогал? Схема очень простая. Питание, и кнопка в порту PC0. Есть ещё микросхема МАХ232, но и без этого сигнал на вывлде контроллера TXD должен быть. Частота от внутреннего генератора 1 МГц.
  3. Yuroy

    Uart / Usart

    Добрый день програмисты! Мучаюсь с ATMEGA8535. Хочу передать информацию, а именно в моём случае три буквы "AVR" с мокроконтроллера через USART на COM порт компьютера в программу hiper terminal. Программка зашиваемая в контроллер вот: .include "m8535def.inc" ; Присоединение файла описаний .list ; Включение листинга .def temp=R16 ; Определение главного рабочего регистра .def count=R17 ; Счётчик .equ start=0 ; 0 вывод порта PD .def rab=r18 .org 0 ; Установка текущегно адреса в ноль rjmp init ;---------------Инициализация микроконтроллера------------------ init: ;-----------------Инициализация стёка-------------------------- ldi temp, high(RAMEND) ; Выбор адреса вершины стёка out SPH, temp ; Запись его в регистр стёка ldi temp, low(RAMEND) out SPL, temp ldi ZL, low(text*2) ldi ZH, high(text*2) ldi count, 3 ; Установка счётчика байтов ldi temp, 0 ; Запись 0 в temp out DDRC, temp ; Порт D на ввод ldi temp, 0xFF out PORTC, temp ; Подключаем внутренние резисторы ;---------------Настройка UART на передачу данных--------------- ldi temp, 1 ;Настройка скорости out UBRRL, temp ldi temp, 0 out UCSRA, temp ldi temp, (1<<RXEN)|(1<<TXEN)|(0<<RXCIE)|(0<<TXCIE)|(0<<UDRIE) out UCSRB, temp ldi temp, (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1) out UCSRC, temp WAIT_START: sbic PINC, start ; Ожидание нажатия кнопки rjmp WAIT_START OUTPUT: lpm ; Загрузка байта из програмной памяти в r0 out UDR, r0 ; Вывод этого байта в регистр данных(пер-ик) sbi UCSRA, TXC ; Сброс флага ТХС WAIT: sbic UCSRA, TXC ; Ожидание завершения передачи rjmp next rjmp WAIT next: adiw zl,1 ; Увеличение адреса на 1 dec count ; Уменьшение счётчика на 1 brne OUTPUT ; Продолжение вывода(перейти сли Z не равно 0) fin: rjmp fin ; Передача завершена text: .db 'A','V','R' ; Текст сообщения Пишу а AVR studio. Когда запускаю пошаговое выполнение программы в AVR studio, то нужный код поступает в регистр UDR. Когда прошиваю программу в контроллер , то на выходе TXD нет никакого кода. Симулирую программу в протеусе, тоже на выходе TXD ничего нет. Вопрос в том куда этот код девается, как его на TXD вывести? Может в программу ещё што-то надо дописать....? Много книжек пересмотрел, не могу найти нужный пример. Может как-нибудь надо ещё и TDX инициализировать??? Выручайте....
  4. Благодарю за помощь 131959G, я разобрался, всё нормально.
  5. Ну вот собственно эта схема. В таком виде она изменяет выходной сигнал компаратора когда входное напряжение превысит напряжения стабилизации. Теперь допустим что мы подали на вход напряжение больше чем напряжение стабилизации(сигнал на выходе неизменен) и нужно чтовы выходной сигнал изменился при понижении входного напряжения до напряжения стабилизации. Что сделать??
  6. Здравствуйте ! Помогите решить очень важный вопрос: Есть 2-х канальный компаратор напряжения и стабилитрон (Uст=6.4 В). Подключив стабилитрон к инверсному входу компаратора мы будем иметь на нём опорное напряжение Uоп=6.4 В. Теперь если на неинверсный вход компаратора подать входной сигнал Uвх=5 В на выходе компаратора сигнал будет появляться только тогда, когда Uвх превысит 6.4 В. То есть мы имеем ограничение напряжения по максимальному уровню. Теперь сам вопрос: Как собрать эту схему чтобы получить ограничения напряжения по минимальному уровню. Например я на вход подаю 10 В и мне надо, чтобы сигнал на выходе компаратора появлялся когда Uвх=10 В просядет до 6.4 В? Не могу сообразить, пожалуста подскажите. (Я нарисовал и саму схему но её не удаётся сюда загрузить)
  7. Дело в том, что время нарастание сигнала должно быть примерно 3 секунды. Насколько я знаю с помощью конденсатора такого не добиться. Может быть есть какая-нибудь микросхема, позволяющая это реализовать. Borodach: Замолчал потому что были проблемы с интернетом.
  8. Venta x: Вообще это устройство для управления шаговым двигателем. Сигнал 15 В подаётся на преобразователь: Напряжение-последовательность импульсов. Так вот для плавного пуска двигателя необходимо, чтобы напряжение плавно нарастало. Можно подробнее насчёт транзистора ? karlson131: Максимальный ток 0.24А
  9. Добрый день. Помогите решить такую задачу: есть постоянное напряжение +15 В и нужно, чтобы при включении оно нарастало не мгновенно, а плавно. Заранее благодарен.
×
×
  • Create New...