Pazalini
Apr 28 2005, 12:31
Люди, помогите ламеру

пожалуйста... Дайте плиз программу для этого микроконтроммера для работы с UART. Любую, только рабочую

А то я не пойму, толи у меня прога моя не работает, толи компилятор не тот, толи девайс гонит, толи прога не заливается...
Набери в поиске х51 и будет тебе счастье. Если на асме подойдёт могу кинуть....
Pazalini
Apr 29 2005, 15:36
Дак мне на асме и надо! Дай плиз

Мыло - pazalini@tpu.ru
;кварц 11.059 Мгц все данные выкидываются в сом порт
;1 тест сом порта передача 9600
;выкидывает в порт неприрывно строку 1234567890
org 0h
ljmp start
org 023h
ljmp com_rx
start:
lcall com_init ;подключение порта
_test:
mov r0,#13d
lcall com_tx
mov r0,#'1'
lcall com_tx
mov r0,#'2'
lcall com_tx
mov r0,#'3'
lcall com_tx
mov r0,#'4'
lcall com_tx
mov r0,#'5'
lcall com_tx
mov r0,#'6'
lcall com_tx
mov r0,#'7'
lcall com_tx
mov r0,#'8'
lcall com_tx
mov r0,#'9'
lcall com_tx
mov r0,#'0'
lcall com_tx
ajmp _test
;======================================================
; RX Com Port R0-rx озу=79h
;===============================================================================
=============
com_rx:
clr ie.7 ;Запрет всех прерываний на всякий случай если нужны будут
;прерывания оттаймеров и входов то можно будет убрать
clr ie.4 ;Запрет прерываний от сом порта
setb ie.4 ;разрешение прерывания от сом порта
setb ie.7 ;разрешения всех прерывания общих
reti
;===================================================
; Com port INIT
;===================================================
com_init:
mov scon,#01010000b ;Режим работы сом порта
mov tmod,#20h ;режим таймера
; mov pcon,#0h ;упр биты мошность и скорость х1
mov th1,#0fdh ;9600 11.059 мгц
;251d ;коэф. деления частоты
clr ri ;обнуляем флаг прерывания приемника
; setb ie.4;;;; ;разрешить прерывания от сом порта
setb tcon.6 ;запуск таймера 1
setb ie.7 ;разрешили все прерывания
ret
;======================================================
; TX Com Port R0-tx
;===============================================================================
=============
com_tx:
clr ie.7
clr ie.4
mov sbuf,r0
com_ti:
jnb scon.1,com_ti
clr scon.1
setb ie.4
setb ie.7
ret
end