Чт июн 25, 2009 15:27:41
Чт июн 25, 2009 17:37:23
Чт июн 25, 2009 17:55:55
Чт июн 25, 2009 18:26:48
Чт июн 25, 2009 19:27:15
Чт июн 25, 2009 20:13:06
Чт июн 25, 2009 21:00:54
asteroid7 писал(а):vitaliy85
Вы опишите лучше что не получается, а не как сделать.
Исходные данные, которые вы привели, недостаточны для советов "как это сделать".
Чт июн 25, 2009 21:02:22
Аlex писал(а):НаписАть програмный. Если ничем серьёзным больше МК не будет заниматься, то проблем не вижу никаких.
Чт июн 25, 2009 22:15:22
Чт июн 25, 2009 22:17:42
Это и есть ОДИН UARTvitaliy85 писал(а): Например, принимает по 19600 передает по 2400 и наоборот. Подскажите, как это осуществить, имея один USART на микросхеме.
Чт июн 25, 2009 22:48:16
Чт июн 25, 2009 23:30:46
Пт июн 26, 2009 02:19:40
; сегмент передачи от МК в сторону ПК (9600, 8-N-1, 104 мкс)
Tx movlw .9 ; 8+1, т.е + бит C из STATUS
movwf Reg_2
bcf STATUS,C ; подготовка стартового бита
m1 btfsc STATUS,C
goto bit1
goto bit0
bit1 bsf PORTA,1 ; передача единицы
call Pause
goto m2
bit0 bcf PORTA,1 ; передача нуля
call Pause
goto m2
m2 rrf Reg_3,F ; сдвиг вправо для передачи с младшего бита
decfsz Reg_2,F
goto m1
bsf PORTA,1 ; установка 1 - "режим ожидания"
call Pause
return
;delay = 95 machine cycles
Pause movlw .31
movwf Reg_1
wr decfsz Reg_1, F
goto wr
nop
return
; сегмент приема данных от ПК на стороне МК (9600, 8-N-1, 104 мкс)
Rx movlw .8 ; ровно 8 бит
movwf Reg_2
m1 btfsc PORTA,0 ; отслеживаем стартовый бит
goto m1
;delay = 52 machine cycles ; задержка на 104/2 мкс
Pause1 movlw .17 ; для выхода на середину бита
movwf Reg_1
wr1 decfsz Reg_1, F
goto wr1
m3 call Pause2
btfsc PORTA,0
goto bit1
goto bit0
bit1 bsf STATUS,C
goto m2
bit0 bcf STATUS,C
goto m2
m2 rrf Reg_3,F ; сдвиг вправо
decfsz Reg_2,F
goto m3
call Pause3
return
;delay = 89 machine cycles ; задержка с учётом
Pause2 movlw .29 ; ранее выполненных команд
movwf Reg_1
wr2 decfsz Reg_1, F
goto wr2
nop
return
;delay = 104 machine cycles ; задержка под 1 стоповый бит
Pause3 movlw .34
movwf Reg_1
wr3 decfsz Reg_1, F
goto wr3
nop
return
Пт июн 26, 2009 02:47:28
__Alexander писал(а):А переключить в регистре скорость религия не позволяет?
Пт июн 26, 2009 07:46:39
Пт июн 26, 2009 10:50:57
Пт июн 26, 2009 11:22:57
Пт июн 26, 2009 11:26:42
Пт июн 26, 2009 11:32:30
DrWatson писал(а):У Atmel есть Апноуты ...
Пт июн 26, 2009 11:48:34
...
Сдвоенный программируемый последовательный USART