Advertisement
febripratama

main

Nov 4th, 2014
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.35 KB | None | 0 0
  1. #asm
  2.     .equ __lcd_port = 0x15;
  3. #endasm
  4.  
  5. #include <mega32.h>
  6. #include <delay.h>
  7. #include <lcd.h>
  8. #include <subprogram.c>
  9. #include <stdio.h>
  10.  
  11. unsigned long login,i;
  12. char number[17];
  13.  
  14. void main(void){
  15.     //initialisasi session login
  16.     login=0;i=1;
  17.     //initialisasi led
  18.     DDRD=255;
  19.     PORTD=0;
  20.     //initialisasi motor
  21.     DDRB=255;
  22.     PORTB.0=0;
  23.     //initialisasi keypad
  24.     DDRA=0b11110000;
  25.     PORTA=0b11111111;
  26.     //initialisasi lcd
  27.     lcd_init(16);    
  28.     lcd_gotoxy(0,0);lcd_putsf("Selamat Datang");delay_ms(100);
  29.     lcd_clear();
  30.  
  31.     while(1){
  32.          //check session
  33.          if(login==0){
  34.             lcd_clear();
  35.             for(i=1;i<=6;i++){
  36.                 sprintf(number,"%-i",i);          
  37.                 lcd_gotoxy(0,0);lcd_putsf("Password(6) ke-");lcd_gotoxy(15,0);lcd_puts(number);
  38.                 passwordInput(i);                
  39.                 delay_ms(100);                
  40.             }
  41.             //cek password
  42.             login=cekPassword();
  43.                    
  44.          }else if(login==1){
  45.             //login sukses
  46.             lcd_clear();
  47.             lcd_gotoxy(0,0);lcd_putsf("Sukses Login");
  48.             PORTD.0=1;delay_ms(100);PORTD.0=0;delay_ms(100);PORTD.0=1;delay_ms(100);PORTD.0=0;delay_ms(100);
  49.            
  50.             //system aktif  
  51.             lcd_clear();
  52.             lcd_gotoxy(0,0);lcd_putsf("System Aktif"); PORTD.2=1;
  53.            
  54.             while(1){
  55.                     PORTA=0b10111111;      
  56.                         delay_ms(1);
  57.                     if (PINA.0==0) { lcd_gotoxy(0,1);lcd_putsf("        ");lcd_gotoxy(0,1);lcd_putsf("LOGOUT");delay_ms(200); login=0;break; } //logout
  58.                     if (PINA.3==0) { lcd_gotoxy(0,1);lcd_putsf("        ");lcd_gotoxy(0,1);lcd_putsf("UNLOCKED"); PORTB.0=0;PORTB.1=1; } //kiri
  59.                     PORTA=0b11101111;      
  60.                         delay_ms(1);
  61.                      if (PINA.3==0) { lcd_gotoxy(0,1);lcd_putsf("        ");lcd_gotoxy(0,1);lcd_putsf("LOCKED"); PORTB.0=1;PORTB.1=0;} //kanan
  62.             }
  63.            
  64.            
  65.          }else{
  66.          
  67.             lcd_clear();lcd_gotoxy(0,0);lcd_putsf("Password Salah!");
  68.             PORTD.1=1;delay_ms(100);PORTD.1=0;delay_ms(100);            
  69.             PORTD.1=1;delay_ms(100);PORTD.1=0;delay_ms(100);
  70.            
  71.          }
  72.     }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement