Wednesday 2 May 2018

AVR oprator (bahasa C)

1. Oprator Assignment

Oprator assignment adalah suatu oprator penugasan yang digunakan untuk memasukan nilai kedalam suatu variabel. dilambangkan dengan sama dengan (=) .

C = 90;   // C merupakan variable, dan (=) merupakan oprator

yang berarti memasukan nilai 90 kedalam variabel C.




2. Oprator Unary

Oprator Unary adalah oprator yang digunakan untukmelakukan oprasi-oprasi matematik yang hanya melibatkan satu buah oprand. contoh



3. Increment

Increment adalah suatu proses menaikan (menambahkan) nilai dengan nilai 1. Untuk melakukan proses tersebut adalah oprator (++).  Contoh : Variabel X bertipe int dengan nilai 10, maka setelah oprasi X++ maka nilai X akan bertambah 1, menjadi 11, (terus  bertambah satu selama kondisi masih terpenuhi)

4. Decrement

Decrement merupakan kebalikan dari Increment, yang merupakan proses penurunan nilai dengan nilai 1.

5. Oprator Aritmatka

Oprator aritmatika berfungsi untuk melakukan oprasi matematika seperti penjumlahan, pengurangan, pembagian, perkalian dan seterusnya. tabel oprator aritmatika lihat dibawah...!

6. Oprator Bitwise

Oprator Bitwise digunakan untuk menyelesaikan oprasi-oprasi bilangan dalam bentuk biner yang dilakukan bit demi bit. Bitwise berfungsi untuk memanipulasi bit. oprasi untuk memanipulasi bit dapat dilakukan pada bilangan bertipe char dan int 


Monday 23 October 2017

Akses RTC dengan CVAVR DS1307

Source Code 

/*******************************************************
This program was created by the
CodeWizardAVR V3.12 Advanced
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 10/23/2017
Author  : 
Company :Add-Elektronik 
Comments:Add-Elektronik.blogspot.com 


Chip type               : ATmega32
Program type            : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 512
*******************************************************/

#include <mega32.h>
#include <delay.h>
#include <stdio.h>
// I2C Bus functions
#include <i2c.h>

// DS1307 Real Time Clock functions
#include <ds1307.h>

// Alphanumeric LCD functions
#include <alcd.h>

unsigned char hour,min,sec;
unsigned char week_day,day,mont,year;

unsigned char temp [16];
unsigned char temp1 [16];
unsigned char buffer [16];

flash char * flash week_day_string[7]={"senin","selasa","rabu","kamis","jumat","sabtu","minggu"};

void week_day_tampil(unsigned char hari);

void main(void)
{
// Bit-Banged I2C Bus initialization
// I2C Port: PORTA
// I2C SDA bit: 1
// I2C SCL bit: 0
// Bit Rate: 100 kHz
// Note: I2C settings are specified in the
// Project|Configure|C Compiler|Libraries|I2C menu.
i2c_init();
//rtc_set_time(12,0,0);//set hour,min,sec
rtc_set_date(6,1,11,17);//set week_day,day,mont,year

// DS1307 Real Time Clock initialization
// Square wave output on pin SQW/OUT: Off
// SQW/OUT pin state: 0
rtc_init(0,0,0);

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("RTC AVR 70");
delay_ms(3000);
lcd_clear();// untuk menghapus character LCD
while (1)
      {
       rtc_get_time(&hour,&min,&sec);// mengambil data waktu jam,menit,detik
       lcd_gotoxy(0,0);
       sprintf(temp,"%d:%d:%d",hour,min,sec); //%d menampilkan nilai decimal// sprintf = string
       lcd_puts(temp); // menampilkan memori "temp"
       
       rtc_get_date(&week_day,&day,&mont,&year); 
       
      lcd_gotoxy(7,1);
      sprintf(temp1,"%d:%d:%d",day,mont,2000+year);
      lcd_puts(temp1);  
       
       week_day_tampil(week_day);
      }
}


void week_day_tampil(unsigned char hari)
{
   lcd_gotoxy(0,1);
   sprintf(buffer,"%p", week_day_string[hari]);
   lcd_puts(buffer);
}

Refferensi 
[1] Code Vision AVR
[2] ATMEL Atmega32

Sunday 22 October 2017

akses LCD 2x16 CVAVR

LCD 2x16 CVAVR

Instalasi

instalasi sesuaikan dengan Hardwarnya contoh seperti di gambar.

ket 

RS - PORTC Bit 0
RD - PORTC Bit 1
EN - PORTC Bit 2
D4 - PORTC Bit 4
D5 - PORTC Bit 5
D6 - PORTC Bit 6
D7 - PORTC Bit 7
NB VCC sesuaikan dengan LCD
Langkah

1. Seting LCD melalui Code Wizard  setelah masuk jendela Code Wizaed pilih"Alphanumeric LCD"
    


2, Cek List "Enable-Alphanumeric LCD Suport" kemudian pilih "Character / Line 16"karena menggunakan LCD 16 karakter.


3. pilih PORT setting pada LCD Module AVR  sesuaikan PORT dengan instalasi Hardware AVR nya, Contoh menggunakan PORT.C. jika sudah "Save genrete and Exit"


4. contoh sederhana Source Code pada CVAVR



Source Code


/*******************************************************
This program was created by the
CodeWizardAVR V3.12 Advanced
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 10/22/2017
Author  : 
Company : 
Comments: 


Chip type               : ATmega32
Program type            : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 512
*******************************************************/

#include <mega32.h>

// Alphanumeric LCD functions
#include <alcd.h>

// Declare your global variables here

void main(void)
{
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);

while (1)
      {
    lcd_gotoxy(0,0);
    lcd_putsf("Mini Modul AVR70"); 
    
     lcd_gotoxy(5,1);
    lcd_putsf("LCD 2 X16");
      }
}

Review 
lcd_goto[xy merupakan sumbu tamapil dari LCD](nilai dari [x],nilaidari[y])




Refferensi 
[1] Code Vision AVR
[2] Atmel Microcontroller Atmega 32 DIP

Saturday 21 October 2017

Setting I/O CVAVR

Seting I/O dengan Code wizard



1. Open Run CVAVR

2. Pilih "file" , "New"," project" lalu muncul jendela baru

3. plih "yes"


4. Pilih "AT90, AT tiny, Atmega" (cek llist) kemudian "OK"


5. Setelah muncul tampilan Code wizard, Pilih "Chip" sesuai dengan Mikrokontroller yang digunakan, contoh Atmega32 "Pilih Atmega32"


6. Pilih "Port"  disebelah kana display PORT


7. "Click" Cek list In pada Port setting, sehingga tulisan berubah mnejadi Out, Optional untuk PORT     yang digunakan sesuai dengan kebutuhan contoh PORTA


8. jika sudah lanjut, pilih "Program", "Generate, Save and Exit"


9. setelah itu File akan disimpan, sebelumnya File ini akan disimpan sebanyak 3 kali dengan        extension file yang berbeda, dan nama file harus sama karena file tersebut saling terhubung. contoh seperti digambar.

A. file Extension .C

B. file Extension .prj

C. file Extension .cwp

10. setelah file disimpan akan muncul seperti dibawah dan perhatikan gambar.

warna pink menunjukan PORT sebagai OUTPUT
warna Orange menunjukan PORT sebagai INPUT



refferensi Code Vision AVR

Friday 20 October 2017

modul AVR Shield

Mini modul AVR Shield 70

Feature's
. Atmega 32 DIP
. External Shield Arduino Uno
. Pin I/O configure
. 8 LED 
. 8 Push On Switch
. 2 Relay NO / NC
. Motor Drive Transistor
. LCD module 2x16 /4 x16
. RTC module DS1307
. potensio ADC read Ex
. 10 pin ISP programing 
. USB ASP downloader

Module 


Thursday 12 October 2017

Inverter W75 DC to AC

Inverter W75 DC to AC

Feature's

- DC 12 Volt Input AC output Optional [tergantung transformator]
- Signal modified
- Low Noise
- High Current
- Fuse pengaman

Application
- Lampu TL, pijar, LED 
- Kipas Angin 
- Charger Smartphone

Board Inverter






AVR oprator (bahasa C)

1. Oprator Assignment Oprator assignment  adalah suatu oprator penugasan yang digunakan untuk memasukan nilai kedalam suatu variabel. dil...