Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "defs.h"
- #include <stdio.h>
- #include <stdlib.h>
- #define C1 1
- #define C2 2
- #define C3 3
- int main(){
- unsigned char code_now= NOKEY, code_ante;
- unsigned char kbhit=0,kbcode, loop_cnt=0;
- int lumi=50; //luminozitatea
- char buf_lumi[4];
- unsigned char stare = C1;
- char buf_pit[4];
- unsigned long int a,b,c;
- sysinit();
- TCCR0 = Ob01101100;
- OCR0 = 256*lumi/100;
- while(1){
- if(loop_cnt==200){
- code_ante=code_now;
- code_now = kbscan();
- if(code_now! = NOKEY && code_ante== NOKEY ){
- kbhit=1;
- kbcode=code_now;
- }
- loop_cnt=0;
- }
- //PWM start
- if(kbhit && (kbcode == 'C' || kbcode == 'D')){
- if(kbcode == 'C'){
- if(lumi < 100){
- lumi = lumi + 5;
- OCR0 = 256*lumi/100;
- //lumi=//...creste luminozitatea
- //...
- }
- }
- if(kbcode == 'D'){
- //lumi=//...scade luminozitatea
- //...
- if(lumi > 0){
- lumi = lumi - 5;
- OCR0 = 256*lumi/100;
- }
- }
- gotoLC(2,1);
- putsLCD("L=");
- itoa(lumi, buf_lumi, 10);
- putsLCD(buf_lumi);
- putsLCD("% " );
- }
- //PWM end
- //c pitagoreic start
- if( kbhit && kbcode>='0' && kbcode<='9'){
- kbhit=0;
- switch(stare){
- case C1: //cifra 0
- gotoLC(1, 1);
- putsLCD(" ");
- gotoLC(1, 1);
- buf_pit[0]=kbcode;
- // scrie prima cifra
- gotoLC(1,1);
- putch(kbcode);
- stare=C2;
- break;
- case C2:
- buf_pit[1]=kbcode;
- // scrie a doua cifra
- gotoLC(1,2);
- putch(kbcode);
- stare=C3;
- break;
- case C3:
- buf_pit[2]=kbcode;
- buf_pit[3]='\0';
- // scrie a treia cifra
- gotoLC(1,3);
- putch(kbcode);
- // scrie "Busy... ," pe linia 1, din coloana 8
- gotoLC(1,8);
- putsLCD("Busy... ");
- // calculeaza c
- c = kbcode - 48;
- for(a = 1;a <= c; a++){
- for(b = 1; b<= c; b++){
- // verifica daca a^2 + b^2 = c^2
- if(a*a+b*b=c*c){
- spion = 1;
- goto Pyth_or_not;
- }
- }
- }
- Pyth_or_not:
- gotoLC(1,8);
- if(spion == 1){
- putsLCD("PYTH ");
- }
- else{
- putsLCD("nonPYTH ");
- }
- stare=C1;
- break;
- }//end switch
- }
- // end c pitagoreic
- kbhit=0;
- loop_cnt++;
- }//end while
- }//end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement