Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *****************************************************/
- eeprom char password[]="123456#";
- #include <mega8515.h>
- // Alphanumeric LCD Module functions
- #include <alcd.h>
- // Standard Input/Output functions
- #include <stdio.h>
- #include <delay.h>
- int status,sms_mark;
- char pin_buff[10];
- char key,pass_count,pass[10];
- void read_pin(void);
- void pass_(void);
- void main(void)
- //........
- //.......
- while (1)
- {
- // Place your code here
- lcd_gotoxy(0,1);
- //lcd_putchar(i+48);
- if(PINC.2==0){
- status=0;
- beep();
- delay_ms(100);
- beep();
- while(PINC.2==0){}
- delay_ms(100);
- while(PINC.2==0){}
- PORTC.1=0;// solenoid off
- sms_mark=1;
- lcd_clear();
- lcd_puts("Alarm non aktif");
- }
- if(PINC.3==0){
- lcd_clear();
- beep();
- while(PINC.3==0){}
- delay_ms(100);
- while(PINC.3==0){}
- status=1;
- delay_ms(20);
- lcd_puts("Alarm aktif");
- }
- if(status && PINC.4==1){
- beep();
- PORTC.1=1;// solenoid on
- if(sms_mark==1) {
- sms_tx("089656644591","Gawat, ada maling masuk!");
- lcd_puts("Alarm aktif");
- sms_mark=0;
- }
- }
- read_pin(); // panggil rutin
- //pass_();
- } //--------- loop
- } //============ end
- void read_pin(void)
- {
- key=get_key();
- if(key != '-')
- {
- lcd_putchar(key);
- if(key=='#'){
- while(1){
- key_up();
- key=get_key();
- if(key=='#'){
- lcd_clear();
- status=1;
- sms_mark=1;
- delay_ms(20);
- lcd_puts("Alarm aktif");
- beep();
- break;
- }
- else
- if(key=='*')break;
- }
- }
- else if(key!='-'){
- pass_count=0;
- pass[pass_count++]=key;
- pass_();
- key_up();
- }
- }
- key_up();
- }
- //================
- void pass_(void)
- {
- //char key,pass_count,pass[10];
- key_up();
- while(1){
- key=get_key();
- if(key!='-'){
- pass[pass_count++]=key;
- key_up();
- if(key=='#') break;
- }
- //
- }
- pass_count=0;
- while(1){
- if(password[pass_count] != pass[pass_count]){
- lcd_gotoxy(0,1);
- lcd_puts("Password error ");
- delay_ms(2000);
- lcd_gotoxy(0,1);
- lcd_puts(" ");
- break;
- }
- if(password[pass_count]=='#'){
- status=0;
- PORTC.1=0;// solenoid off
- sms_mark=1;
- lcd_clear();
- lcd_puts("Alarm non aktif");
- beep();
- delay_ms(30);
- beep();
- break;
- }
- pass_count++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment