Wednesday, November 29, 2017

7. ADC

[KEMBALI KE MENU SEBELUMNYA]

APLIKASI ADC



A. Gambar Rangkaian [kembali]



B. Prinsip Kerja [kembali]

Program ini memerlukan deklarasi register untuk mikrokontroler jenis AT89x51. Setelah mendeklarasi register, program akan masuk ke dalam perogram utama. Pada program utama terdapat pendeklarasian variabel data1. Data1 berfungsi untuk mengambil nilai dari ADC0804. Selanjutnya, mode timer diaktifkan dan memanggil prosedur menyalakan LCD. LCD akan mengeluarkan data tulisan, lalu mikrokontroler membaca nilai ADC dan ditampilkan ke mikrokontroler.


C. Listing Program [kembali]

#include <at89x51.h>
#include "lcd.h"


idata at 0x50 unsigned int i;
idata at 0x51 unsigned int k;

void PowerOn()
{
    unsigned char inner, outer;

    for (outer = 0x00; outer < 0x10; outer++)
    {
        for (inner = 0x00; inner < 0xFF; inner++);
    }
 
    LCD_init();
 
    for (inner = 0; inner < 10; inner++)
     LCD_delay(2);
}

void send2lcd(unsigned char value)
{
 unsigned char buf = 0;

 buf = value & 0xF0;  /* Filter for high byte */
 buf = (buf>>4)|(0x30);  /* Convert  to ascii code */

 LCD_putc(buf);   /* Show on LCD */

 buf = value & 0x0F;  /* Filter for low byte */
 buf = buf | 0x30;        /* Convert to ascii code */

 LCD_putc(buf);   /* Show on LCD */
}

void tunda(unsigned int j)
{
  while(j)

  {
  TH0=0xfc;
  TL0=0x65;
  TR0=1;
  while(!TF0);
   TF0=0;
   TR0=0;
   j--;
  }
}

void main()
{
 int  data1;
 TMOD=0x11;
 PowerOn();

 LCD_row1(); LCD_puts("      HALO  ");
 LCD_row2(); LCD_puts("  TEKNIK  ");   
 LCD_delay(2);
 LCD_row1(); LCD_puts(" TEKNIK ELEKTRO");
 LCD_row2(); LCD_puts("  UNAND  ");


 while(1)
 {
 LCD_clear();
 LCD_row1(); LCD_puts("NILAI ADC");
 P3 = 0x00; 
 data1 = P0;
 P3 = 0x0F; 
 LCD_command(0xC6); /* Set LCD cursor at (2,6) */
 send2lcd(data1); /* Show month on LCD */ 
 tunda (1000);
 }
}


D. Flowchart [kembali]




E. Link Download [kembali]

     File Program silahkan download disini
     File Rangkaian silahkan download disini
     HTML silahkan download disini


No comments:

Post a Comment