Squirrels have fuzzy tails.
0 Members and 1 Guest are viewing this topic.
#include <pic.h> __CONFIG(0x3F32); #define seg PORTD // define 7 segment as PORTD #define led RB0 // define led as PORTB.0 unsigned char a; void init(void) // subroutine to initialize { SPBRG=0x81; // set baud rate as 9600 baud BRGH=1; TXEN=1; CREN=1; SPEN=1; TRISD = 0b00000000; // set PORTD as output seg = 0b00000000; //TRISB = 0b00000000; // set PORTB as output led = 0b00000000; } void display(unsigned char c) // to display the text on the screen { while (TXIF == 0); TXREG = c; } unsigned char receive(void) // to receive command from PC { while (RCIF == 0); a = RCREG; return a; } void main(void) { init(); while(1) // wait for user enter letter "x" { a = receive(); if (a == 'x') break; display('W'); // display text on screen display('E'); display('L'); display('C'); display('O'); display('M'); display('E'); display(0x0a); display(0x0d); display('E'); display('n'); display('t'); display('e'); display('r'); display(0x20); display('p'); display('a'); display('s'); display('s'); display(0x20); display('k'); display('e'); display('y'); display(0x0a); display(0x0d); display(0x0a); display(0x0d); }//end of while 1 while(1) // wait for passkey "fkee" to be entered { a = receive(); if (a == 'f') { a = receive(); if (a == 'k') { a = receive(); if (a == 'e') { a = receive(); if (a == 'e') break; } } } } display('W'); // display text on screen display('h'); display('a'); display('t'); display(0x20); display('w'); display('o'); display('u'); display('l'); display('d'); display(0x20); display('y'); display('o'); display('u'); display(0x20); display('l'); display('i'); display('k'); display('e'); display(0x20); display('t'); display('o'); display(0x20); display('d'); display('o'); display('?'); display(0x0a); display(0x0d); display(0x5B); display('1'); display(0x5D); display(0x20); display('L'); display('I'); display('G'); display('H'); display('T'); display(0x20); display('O'); display('N'); display(0x0a); display(0x0d); display(0x5B); display('2'); display(0x5D); display(0x20); display('L'); display('I'); display('G'); display('H'); display('T'); display(0x20); display('O'); display('F'); display('F'); display(0x0a); display(0x0d); display(0x0a); display(0x0d); seg = 0; // 7 segement show "0" on its display led = 0; // led is off while(1) // wait for user to enter command { a = receive(); if (a=='1'){ display('C'); display('O'); display('N'); display('D'); display('I'); display('T'); display('I'); display('O'); display('N'); display(0X3a); display('L'); display('I'); display('G'); display('H'); display('T'); display(0X20); display('O'); display('N'); display(0x0a); display(0x0d); display(0x0a); display(0x0d); seg = a-0x30; // 7 segment display number "1" led = 1; // led on display('W'); // display text on screen display('h'); display('a'); display('t'); display(0x20); display('w'); display('o'); display('u'); display('l'); display('d'); display(0x20); display('y'); display('o'); display('u'); display(0x20); display('l'); display('i'); display('k'); display('e'); display(0x20); display('t'); display('o'); display(0x20); display('d'); display('o'); display('?'); display(0x0a); display(0x0d); display(0x5B); display('1'); display(0x5D); display(0x20); display('L'); display('I'); display('G'); display('H'); display('T'); display(0x20); display('O'); display('N'); display(0x0a); display(0x0d); display(0x5B); display('2'); display(0x5D); display(0x20); display('L'); display('I'); display('G'); display('H'); display('T'); display(0x20); display('O'); display('F'); display('F'); display(0x0a); display(0x0d); display(0x0a); display(0x0d); }//end if if (a == '2'){ display('C'); display('O'); display('N'); display('D'); display('I'); display('T'); display('I'); display('O'); display('N'); display(0X3a); display('L'); display('I'); display('G'); display('H'); display('T'); display(0X20); display('O'); display('F'); display('F'); display(0x0a); display(0x0d); display(0x0a); display(0x0d); seg = a-0x30; // 7 segment display number "2" led = 0; // led off display('W'); // display text on screen display('h'); display('a'); display('t'); display(0x20); display('w'); display('o'); display('u'); display('l'); display('d'); display(0x20); display('y'); display('o'); display('u'); display(0x20); display('l'); display('i'); display('k'); display('e'); display(0x20); display('t'); display('o'); display(0x20); display('d'); display('o'); display('?'); display(0x0a); display(0x0d); display(0x5B); display('1'); display(0x5D); display(0x20); display('L'); display('I'); display('G'); display('H'); display('T'); display(0x20); display('O'); display('N'); display(0x0a); display(0x0d); display(0x5B); display('2'); display(0x5D); display(0x20); display('L'); display('I'); display('G'); display('H'); display('T'); display(0x20); display('O'); display('F'); display('F'); display(0x0a); display(0x0d); display(0x0a); display(0x0d); }//end if} //end while 1}//end of main
#include <pic.h> #include <conio.h>#include <stdio.h>#include <ctype.h>__CONFIG(0x3F32); unsigned char delayus_variable;#define seg PORTD // define 7 segment as PORTD #define led RB0 // define led as PORTB.0 #define WaitFor1Us asm("nop") //used for timeouts#define DelayDivisor 2 unsigned char dummy;#define clear_usart_errors_inline \if (OERR) \{ \ TXEN=0; \ TXEN=1; \ CREN=0; \ CREN=1; \} \if (FERR) \{ \ dummy=RCREG; \ TXEN=0; \ TXEN=1; \}unsigned char a; static const unsigned char passcode[4] = {'f','k','e','e'};unsigned char passtry[4] = {'q','q','q','q'};short int auth = 0;void DelayUs(unsigned char tm){ while (tm>=1){ WaitFor1Us; tm--; }// }void init(void) // subroutine to initialize { SPBRG=0x81; // set baud rate as 9600 baud BRGH=1; TXEN=1; CREN=1; SPEN=1; TRISD = 0b00000000; // set PORTD as output seg = 0b00000000; //TRISB = 0b00000000; // set PORTB as output led = 0; } void putch(unsigned char c)//writes a character to the serial port{ while(!TXIF) //set when register is empty { clear_usart_errors_inline; } TXREG=c; DelayUs(60);}void puts(register const char *str)//writes a string to the serial port{ while((*str)!=0) { putch(*str); if (*str==13) putch(10); if (*str==10) putch(13); str++; }}unsigned char receive(void) // to receive command from PC { while (RCIF == 0); a = RCREG; return a; } void print_welcome_string(void){puts("Welcome Enter Pass Key:-"); putch(0x0a); putch(0x0d);}void logon(void){print_welcome_string();passtry[0] = receive();//get pass letter 1putch('*');//provide an echo character passtry[1] = receive();//get pass letter 2 putch('*');//provide an echo characterpasstry[2] = receive();//get pass letter 3putch('*');//provide an echo characterpasstry[3] = receive();//get pass letter 3putch('*');//provide an echo characterputch(0x0a); putch(0x0d);//test to see if entered pass code is correctif(passtry[0] == passcode[0] && passtry[1] == passcode[1] && passtry[2] == passcode[2] && passtry[3] == passcode[3]){auth=1;//set to 1 because the pass code is correct}else{auth=0; //set to 0 because pass code is incorrectputs("Incorrect pass code");}}void main(void) { init(); while(1){ if (auth == 0)//if the password didnt authorize { //what to do if pass word is wrong logon(); }//end of if else { //code here if password was correct puts("Light is currently "); if(led == 0){ puts("off"); } else{ puts("on"); } putch(0x0a); putch(0x0d); puts("What would you like to do?"); putch(0x0a); putch(0x0d); puts("1 = Light On"); putch(0x0a); putch(0x0d); puts("2 = Light Off"); putch(0x0a); putch(0x0d); puts("x = Logoff"); putch(0x0a); putch(0x0d); a = receive(); if(a == '1'){ led=1; //turn led on seg = a-0x30; // 7 segment display number "1" } if(a == '2'){ led=0; //turn led off seg = a-0x30; // 7 segment display number "2" } if(a == 'x'){ auth = 0; //remove pass word authority, (return to logon) } } //end of else}//end of infinite while}//end of main