Например TDA7294

Форум РадиоКот :: Просмотр темы - помогите разобраться с простым примером USART
Форум РадиоКот
https://radiokot.ru/forum/

помогите разобраться с простым примером USART
https://radiokot.ru/forum/viewtopic.php?f=20&t=47570
Страница 1 из 1

Автор:  спящий [ Пн май 02, 2011 15:27:07 ]
Заголовок сообщения:  помогите разобраться с простым примером USART

Собственно вопрос в теме)Был бы пример простой программы в proteus -сам бы разобрался.Два контроллера mega48 передатчик и приемник,две программы для них - неделю мучаюсь :cry: )
Нету даже прерывания



передатчик:


.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m48def.inc"
.list
.nolist
.list

.equ XTAL = 8000000
.equ baudrate = 9600
.equ bauddivider = XTAL/(16*baudrate)-1

;
.def temp =r16;
.def delay =r17;
.def delay1 =r18;
.def delay2 =r19;
.def delay3=r20;

.org 0x000
rjmp unit;
.org 0x0014
rjmp txc; настраиваем прерывание TXC на передачу

unit :
ldi temp,0b11111110;
out DDRD,temp;

LDI R16, 0x51; скороcсть 9600
sts UBRR0L,R16
ldi temp,0b11011000;(rxcie0<<1) |(txcie0<<1)|(rxeb0<<1) прерывание по передачи
sts UCSR0a, temp;
ldi temp,0b00000110; (ucsz01<<1) | (ucsz00<<1) 8битное слово
sts UCSR0c, temp;
sei
start:
inc temp;
ldi delay1,0x05; просто задержка
ldi delay3,0x05;
;задерка
loop4:
subi delay3,1;
sbci delay1,0;
brcc loop4;

rjmp start;

txc:
ldi temp,UCSR0A; почемуто sbis UCSR0A,5 неработает(
sbrs temp,5;
RJMP txc ;
sts udr0,temp;
reti






приемник:

;
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m48def.inc"
.list
.nolist
.list
.equ XTAL = 8000000
.equ baudrate = 9600
.equ bauddivider = XTAL/(16*baudrate)-1


;
.def temp =r16;

.org 0x000
rjmp unit;

.org 0x0012
rjmp RXC; настраиваем прерывание RXC на прием

unit :

ldi temp,0b11111111;
out DDRB,temp;
ldi temp,0b11111101;
out DDRD,temp;

LDI R16, 0x51; скороcсть 9600
sts UBRR0L,R16
ldi temp,0b11011000;(rxcie0<<1) |(txcie0<<1)|(rxeb0<<1) прерывание по приему
sts UCSR0a, temp;
ldi temp,0b00000110; (ucsz01<<1) | (ucsz00<<1) 8битное слово
sei
clr temp;

start:
out portB,temp;
rjmp start;

RXC:
lds temp,udr0;
reti








зачем это пишется? это на чтонибудь влияет?
.equ XTAL = 8000000
.equ baudrate = 9600
.equ bauddivider = XTAL/(16*baudrate)-1

Вложения:
Комментарий к файлу: соединение контроллеров
222222222222222222222.png [10.56 KiB]
Скачиваний: 367

Автор:  CS16AMX [ Пн май 02, 2011 15:39:59 ]
Заголовок сообщения:  Re: помогите разобраться с простым примером USART

xtal ето ваш кварц, относительно его мк опирается чтоб соответствовать скорости 9600/сек у вас же есть выбор 4800,9600,.......

Автор:  спящий [ Пн май 02, 2011 17:08:29 ]
Заголовок сообщения:  Re: помогите разобраться с простым примером USART

это ясно,а если от внутреннегокварца будет работать?
а почему программа неработает-то??? если есть простые примеры на протеусе подскажите где их посмотреть...

Автор:  CS16AMX [ Пн май 02, 2011 20:03:04 ]
Заголовок сообщения:  Re: помогите разобраться с простым примером USART

я в код вижене научился высылать пакеты на протеусе испытано,но принимать пока учусь.
можно без кварца ,внутрянняя RC хреновина может работать до 8мгц но не настолько стабильна и чем выше скорость, тем больше ошибок получить реально

Автор:  спящий [ Вт май 03, 2011 11:13:58 ]
Заголовок сообщения:  Re: помогите разобраться с простым примером USART

скинь пожалуйста,хочу посмотреть,желательно архив с протеусом - мож свои ошибки найду.

Автор:  CS16AMX [ Вт май 03, 2011 23:30:59 ]
Заголовок сообщения:  Re: помогите разобраться с простым примером USART

прошу ))) код вижн и в асме выдаст что он там вытворяет , в кратце не причёсанный код высылает ацп по uart
будет время,допишу)

Вложения:
RGBmini.rar [326.03 KiB]
Скачиваний: 174

Автор:  спящий [ Вс май 08, 2011 14:11:19 ]
Заголовок сообщения:  Re: помогите разобраться с простым примером USART

спасибо, разобрался косяк скорее всего был гдето в прерываниях.

Подскажите: можноли управлять IGBT транзистором через логику(или) питание до 18 вольт,транзистор открываеться при 6В.


И главное подскажите как изменить питание логики в протеус, стандартная 5В, надо хотябы 7,для точного отпирания!!

Вложения:
dlya_foruma.png [6.89 KiB]
Скачиваний: 408

Автор:  спящий [ Вс май 22, 2011 23:28:04 ]
Заголовок сообщения:  Re: помогите разобраться с простым примером USART

подскажите почему АЦП ,когда перекидываеш регистр,значение меняеться сначало очень быстро,потом очень медленно - хотя сигнал входящий меняется плавно(синусоида),в чем может быть причина?
сигнал изменяеться 0-5В,опорный 5В.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/