Aplikasi Serial PIC
06.13SERIAL PIC
Prosedur Percobaan:
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip kerja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply
1. Rangkaian Simulasi [kembali]
2. Listing Program [kembali]
3. Video [kembali]
4. Link Download [kembali]
File HTML - Download
File Proteus - Download
File Program - Download
File Video - Download
// Koneksi LCD dengan PIC
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections
char receive; // Deklarasi variabel receive sebagai penyimpan data inputan
void main() {
UART1_Init(9600); // Inisialisasi Pin Serial pada PIC dengan nilai baudrate 9600
delay_ms(100); // delay 100 ms
TRISB=0x00; // Menyatakan PORTB sebagai output
PORTB=0x00; // Nilai Awal PortB adalah low
UART1_Write_Text("Type Your Text Here"); // Mencetak tulisan pada Virtual terminal
UART1_Write(13); // Baris baru pada virtual Terminal
UART1_Write(13);
Lcd_Init(); // Inisialisasi LCD
Lcd_Cmd(_LCD_CLEAR); // Bersihkan Layar LCD
Lcd_Out(1,1,"Your Text is :"); // Mencetak tulisan di baris 1 kolom 1 LCD
Lcd_Out(2,1,""); // Menempatkan cursor di baris kedua
while(1){ // Perulangan
if(UART1_Data_Ready()){ // Memantikan pin RX menerima data dari Virtual Terminal
receive=UART1_Read(); // Memasukkan data yang diinput ke variabel receive
if(receive==13){ // Jika yang diinput adalah ENTER, Maka
Lcd_Cmd(_LCD_CLEAR); // Bersihkan Layar LCD
Lcd_Out(1,1,"Your Text is :");
Lcd_Out(2,1,""); // Menempatkan cursor di baris kedua
}
else if(receive==8){ // Jika yang diinputkan adalah BACKSPACE (Delete), Maka
Lcd_Cmd(_LCD_MOVE_CURSOR_LEFT); // Di LCD Karakter sebelumnya dihapus
Lcd_Chr_Cp(32);
Lcd_Cmd(_LCD_MOVE_CURSOR_LEFT);
}
else { // Jika yang diinputkan selain dua di atas, Maka
Lcd_Chr_Cp(receive); // Mencetak karakter yang diinput ke LCD
}
}
}
}
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections
char receive; // Deklarasi variabel receive sebagai penyimpan data inputan
void main() {
UART1_Init(9600); // Inisialisasi Pin Serial pada PIC dengan nilai baudrate 9600
delay_ms(100); // delay 100 ms
TRISB=0x00; // Menyatakan PORTB sebagai output
PORTB=0x00; // Nilai Awal PortB adalah low
UART1_Write_Text("Type Your Text Here"); // Mencetak tulisan pada Virtual terminal
UART1_Write(13); // Baris baru pada virtual Terminal
UART1_Write(13);
Lcd_Init(); // Inisialisasi LCD
Lcd_Cmd(_LCD_CLEAR); // Bersihkan Layar LCD
Lcd_Out(1,1,"Your Text is :"); // Mencetak tulisan di baris 1 kolom 1 LCD
Lcd_Out(2,1,""); // Menempatkan cursor di baris kedua
while(1){ // Perulangan
if(UART1_Data_Ready()){ // Memantikan pin RX menerima data dari Virtual Terminal
receive=UART1_Read(); // Memasukkan data yang diinput ke variabel receive
Lcd_Cmd(_LCD_CLEAR); // Bersihkan Layar LCD
Lcd_Out(1,1,"Your Text is :");
Lcd_Out(2,1,""); // Menempatkan cursor di baris kedua
}
else if(receive==8){ // Jika yang diinputkan adalah BACKSPACE (Delete), Maka
Lcd_Cmd(_LCD_MOVE_CURSOR_LEFT); // Di LCD Karakter sebelumnya dihapus
Lcd_Chr_Cp(32);
Lcd_Cmd(_LCD_MOVE_CURSOR_LEFT);
}
else { // Jika yang diinputkan selain dua di atas, Maka
Lcd_Chr_Cp(receive); // Mencetak karakter yang diinput ke LCD
}
}
}
}
3. Video [kembali]
4. Link Download [kembali]
File HTML - Download
File Proteus - Download
File Program - Download
File Video - Download
