PIC Lesson: UART Module

September 18th, 2010  Posted at   Lesson PIC
arrow   |   24 Commentsarrow

UART adalah singkatan bagi Universal Asynchronous Receiver Transmitter. Address yang terlibat dalam UART Module adalah TXSTA, RCSTA dan SPBRG.

Isyarat UART menghantar dan menerima data melalui tiga wayar iaitu TX, RX dan GND. Isyarat UART terdapat dalam jenis Synchronous atau Asynchronous. Synchronous transmission memerlukan penghantar dan penerima berkongsi clock signal yang sama. Asynchronous transmission pula membolehkan data di hantar tanpa menghantar clock signal tetapi penghantar dan penerima mesti beroperasi pada timing parameter yang sama yang dikenali Baud Rate.

Setting BRGH akan menentukan Baud Rate Formula. Contohnya, dengan menggunakan crystal 20MHz, Low Speed Asynchronous boleh menghasilkan Baud Rate dari 1,221Hz-312,500Hz, High Speed Asynchronous boleh menghasilkan Baud Rate dari 4,883Hz-1,250kHz dan Synchronous boleh menghasilkan Baud Rate dari 19.53kHz-5MHz.

Antara alatan menggunakan UART adalah PS2 Controller Starter Kit ataupun SKPS daripada Cytron. Sambungan PIC dengan SKPS menggunakan pin RX dan TX.

Schematic SKPS

Caranya adalah PIC meminta ataupun request PS2 Controller status berdasarkan SKPS Protocol.

Berikut adalah videonya.

PIC Source Code

24 Responses to “PIC Lesson: UART Module”

  1. kamal says:

    utk data yg akan jadi input rf module tu mst serial data kn?
    boleh xabg terangkn lebih detail mcm mne nk tentukn baud rate utk rf transmission?

  2. kamal says:

    abg shahrul
    utk transmit data guna rf tu, data tu mst dalam serial bit kn?
    boleh x abg terangkn secara detail tk baud rate
    mcm mne kita nk tentukan baud rate utk transmission kite tue

  3. kamal says:

    as salam abg shahrul
    klu sy nk interface PIC dgn rf transmitter dan receiver
    kite bleh direct dr UART module masuk ke pin data di transmitter ke
    kena ada device len sebelum masuk ke transmitter
    pas tu pakah maksud serial data..adakah serial data ni sama dgn data analog?

Leave a Reply

What is 10 + 4 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)