Цитата(Muxamor @ Aug 12 2005, 20:57)
Что нужно!!!
Сделать управление устройством с компа через RD-232!!!
А ранее я этого еще не касался!!
Вообщим вот пишу такую прогу для пердачи данных с мк!!!
REL 96 EQU 0FDh
MOV IE,#0
MOV TMOD,#20H
MOV TH1,#REL96
MOV TL1,#REL96
ANL PCON,#7Fh
MOV SCON,#50H
SETB TR1
ну и собственно передача
MOV A,#10101001B
MOV SBUF,A
SEND:
JNB Tl,SEND
CLR Tl
ret
И не работает, в чем дело но подскаижите что не так???
Такое значение для TH1 будет работать только если у Вас кварц 11059МГц или кратный (22 118 МГц например) со скоростью в Вашем случае (SMOD=0) 9600. У Вас, как я понял, кварц 12 МГц, следовательно, скорость будет другой и комп скорее всего ничего не примет или выдаст ошибку. Смените кварц, и если в схеме нет ошибок, то обмен должен пойти. И еще, не забудьте по вектору прерывания таймера 1 поставить RETI - тоже на всякий случай, а то если где-нибудь случайно разрешите его прерывание будет глючить не только обмен.
Иногда (но это не Ваш случай) прием не идет, если прога где-то по ошибке или случайно сбросила RxD в 0,а вернуть в исходное состояние забыла, поэтому рекомендую при настройке обмена по Rs232 принудительно выставлять RxD и TxD в 1. Просто так, на всякий случай.
И еще: чем проверяете обмен с компом (то есть какой программой)? Для некоторых программ (особенно если это самолично Вами написанная утилита и Вы не настроили последовательный порт на работу без всяких там CTS, RTS DSR и проч) при распайке кабеля со стороны компа нужно сделать пару закороток, иначе эта самая программка ни фига принимать/отправлять не будет.
Если хотите подробнее, стукните в аську, а то я не каждый день сюда заглядываю.