PIC16F84A

Do you have a question? Post it now! No Registration Necessary

Threaded View
                               Приветик, All!


 помогите, пожалуйста, с сабжем. необходимо связать его с COM-портом
 компьютера через два провода. я выбрал вывод RA0. так вот, кто сможет
 кинуть мне пример работы с COM-пртом для PIC'а (на ASMе)? интересует
 передача одного/двух байт со скоростью до 9600..

                                              С уважением, Vadim.


Re: PIC16F84A
Hello Vadim!

Friday November 28 2003 16:10, Vadim Chumachenko sent a message to All:

 VC>  помогите, пожалуйста, с сабжем. необходимо связать его с COM-портом
 VC>  компьютера через два провода. я выбрал вывод RA0. так вот, кто сможет
 VC>  кинуть мне пример работы с COM-пртом для PIC'а (на ASMе)? интересует
 VC>  передача одного/двух байт со скоростью до 9600..

Я пpавильно понял - тебе из пика в комп пеpедавать надо?
Вот, погляди. Пpовеpено - pаботает.
txd - в твоем случае RA0, опpеделение и настpойка ее на вывод - на твоей
совести, так же как и опpеделение ячеек txbuf, txconst, temp, bit_count,
delay1.
Hа 4MHz в txconst надо положить 0x1e - получишь 9600. Меньше 2400 кажется не
получалось - надо задеpжку делать двухбайтовой. Пеpедаваемый байт кладешь в
txbuf. Работает оно у меня чеpез МАХ232.


comout:         clrwdt
                movf    INTCON,w
                movwf   temp            ;save intcon state
                bcf     INTCON,GIE      ;disable interrupts
                movlw   8
                movwf   bit_count
                bcf     txd             ;start bit
                clrwdt
                call    txdelay         ;delay for 1 bit
co0:            rrf     txbuf,f
                btfsc   STATUS,C
                goto    co2
                bcf     txd
                goto    co3
co2:            bsf     txd
co3:            clrwdt
                call    txdelay
                decfsz  bit_count,f
                goto    co0
                rrf     txbuf,f
                bsf     txd
                clrwdt
                call    txdelay
                call    txdelay         ; stop bit
                movf    temp,w
                movwf   INTCON          ;restore intcon
                return


txdelay:        movf    txconst,w
trxdel:         movwf   delay1
td1:            decfsz  delay1,f
                goto    td1
                return


■ Exit light, Enter night...
See you,
Сергей.


PIC16F84A

   Vadim, ты ещё здесь сидишь?


Пятница Hоябрь 28 2003 16:10, Vadim Chumachenko wrote to All:

 VC>  помогите, пожалуйста, с сабжем. необходимо связать его с COM-портом
 VC>  компьютера через два провода. я выбрал вывод RA0. так вот, кто сможет
 VC>  кинуть мне пример работы с COM-пртом для PIC'а (на ASMе)? интересует
 VC>  передача одного/двух байт со скоростью до 9600..

 Попробуй перейти на PIC16F628, они:

дешевле
экономичнее
содержат аппаратный UART, пару "лишних" таймеров, выход ШИМ и пару компараторов
умеют генерировать тактовую частоту не используя внешних выводов
содержат больше памяти программ и данных
совместимы с 84A по цоколёвке и системе команд


 Думаю, тебе понравится ;)



                                                   Георгий


PIC16F84A
    Hello, George!

Суб Hоя 29 2003, George Shepelev писал к Vadim Chumachenko по  поводу
"PIC16F84A."
 GS>  Попробуй перейти на PIC16F628, они:
 GS> дешевле
 GS> экономичнее
Есть только один недостаток. Если я например по мере надобности во всю пишу на
16f630 за $1.2 то в некоторых местах в России увы f84a до сих пор является
единственным доставабельным PICом (причем при цене в $5-7).
 GS>                                                    Георгий
  WBR!  Maxim Polyanskiy.


Site Timeline