Squirrels have fuzzy tails.
0 Members and 1 Guest are viewing this topic.
#include<16F72.h>#use delay (clock=12000000)#fuses XT, NOWDT, PROTECT#use i2c(master, sda=PIN_C4, scl=PIN_C3)#include<lcd420.c>int temph , templ;int1 x=0 , y=0;int m;#define zcd PIN_A4#define pir PIN_B0#define ldr PIN_A2#define dim1 PIN_A0#define dim2 PIN_A1#include <temperature.c>#include <dimmer1.c>#include <dimmer2.c>#int_extvoid main(){ output_low(dim1); output_low(dim2); X=0; Y=0; Setup_adc_ports(NO_ANALOGS) ; //All are digital only temp_init() ; lcd_init() ; LCD_PUTC("POWER SAVER \f") ; delay_ms(2000) ; while(1) { if (!input(pir)) { output_high(dim1) ; while(!input(pir)){} X=~x ; lcd_putc("PIR ON \n") ; delay_ms(5000) ; } if(x==0) { if(y==1) { delay_ms(20000); Y=0 ; } output_low(dim1); output_low(dim2); lcd_putc("STAND BY \n") ; delay_ms(300); } if(x==1) { y=1; temp_read(); if(templ==0x80) templ=5; else templ=0; printf(lcd_putc,"\n TEMP: %02d.%d dc",temph,templ); if(temph>=27 && temph<=28) {back25: if(!input(zcd))goto back25; //waiting to get zero start delay_ms(5); output_high(dim2);back26: if(!input(zcd))goto back26; //waiting to get zero start output_low(dim2); delay_ms(5); output_high(dim2);back27: if(!input(zcd))goto back27; output_low(dim2); } if(temph>=29 && temph<=31) {back20: if(!input(zcd))goto back20; //waiting to get zero start delay_ms(5); //161 output_high(dim2);back30: if(!input(zcd))goto back30; //waiting to get zero start output_low(dim2); delay_ms(5); output_high(dim2);back32: if(!input(zcd))goto back32; output_low(dim2); } if(temph>31 && temph<=33) {back9: if(!input(zcd))goto back9; //waiting to get zero start delay_ms(5); //161 output_high(dim2);back10: if(!input(zcd))goto back10; //waiting to get zero start output_low(dim2); delay_ms(5); output_high(dim2);back11: if(!input(zcd))goto back11; output_low(dim2); } if(temph>33 && temph<=35) {back12: if(!input(zcd))goto back12; //waiting to get zero start delay_ms(3); //161 output_high(dim2);back13: if(!input(zcd))goto back10; //waiting to get zero start output_low(dim2); delay_ms(3); output_high(dim2);back14: if(!input(zcd))goto back14; output_low(dim2); } if(temph>3 && temph<=37) { back15: if(!input(zcd))goto back15; //waiting to get zero start delay_ms(2); output_high(dim2);back16: if(!input(zcd))goto back16; //waiting to get zero start output_low(dim2); delay_ms(2); output_high(dim2);back17: if(!input(zcd))goto back17; output_low(dim2); } if(temph>37) output_high(dim2); if(input(ldr)) output_high(dim1); if(!input(ldr)) output_low(dim1); } }}
back20: if(!input(zcd))goto back20; //waiting to get zero start
while (!input(zcd)) {};
if(temph>33 && temph<=35) {back12: if(!input(zcd))goto back12; //waiting to get zero start delay_ms(3); //161 output_high(dim2);back13: if(!input(zcd))goto back10; //waiting to get zero start output_low(dim2); delay_ms(3); output_high(dim2);back14: if(!input(zcd))goto back14; output_low(dim2); }
if(temph>3 && temph<=37)
if(!input(zcd))
probably replaced with a function that takes the two delay periods.
back12: if(!input(zcd))goto back12;
while (!input(zcd)) {}
probably replaced with a function that takes the two delay periods
{back12: if(!input(zcd))goto back12; //waiting to get zero start delay_ms(3); //161 output_high(dim2);back13: if(!input(zcd))goto back10; //waiting to get zero start output_low(dim2); delay_ms(3); output_high(dim2);back14: if(!input(zcd))goto back14; output_low(dim2); }
#include<16F72.h>#use delay (clock=12000000)#fuses XT, NOWDT, PROTECT#use i2c(master, sda=PIN_C4, scl=PIN_C3)#include<lcd420.c>int temph , templ;int1 x=0 , y=0;int m;#define zcd PIN_A4#define pir PIN_B0#define ldr PIN_A2#define dim1 PIN_A0#define dim2 PIN_A1#include <temperature.c>#include <dimmer1.c>#include <dimmer2.c>#int_extvoid main(){ output_low(dim1); output_low(dim2); X=0; Y=0; Setup_adc_ports(NO_ANALOGS) ; //All are digital only temp_init() ; lcd_init() ; LCD_PUTC("POWER SAVER \f") ; delay_ms(2000) ; while(1) { if (!input(pir)) { output_high(dim1) ; while(!input(pir)){} X = ~x ; lcd_putc("PIR ON \n") ; delay_ms(5000) ; } if(x==0) { if(y==1) { delay_ms(20000); Y=0 ; } output_low(dim1); output_low(dim2); lcd_putc("STAND BY \n") ; delay_ms(300); } if(x==1) { y=1; temp_read(); if(templ==0x80) templ=5; else templ=0; printf(lcd_putc,"\n TEMP: %02d.%d dc",temph,templ); if(temph>=27 && temph<=28) { my_func (5, 5); } if(temph>=29 && temph<=31) { my_func (5, 5); } if(temph>31 && temph<=33) { my_func (5, 5); } if(temph>33 && temph<=35) { my_func (3, 3); } if(temph>35 && temph<=37) { my_func (2, 2); } if(temph>37) output_high(dim2); if(input(ldr)) output_high(dim1); if(!input(ldr)) output_low(dim1); } }}void my_func (int time1, int time2) { while (!input(zcd)) {}; delay_ms(time1); output_high(dim2); while (!input(zcd)) {}; output_low(dim2); delay_ms(time2); output_high(dim2); while (!input(zcd)) {}; output_low(dim2);}
#include<16F72.h>#use delay (clock=12000000)#fuses XT, NOWDT, PROTECT#use i2c(master, sda=PIN_C4, scl=PIN_C3)#include<lcd420.c>int temph , templ;int1 x=0 , y=0;int m;#define zcd PIN_A4#define pir PIN_B0#define ldr PIN_A2#define dim1 PIN_A0#define dim2 PIN_A1#include <temperature.c>#include <dimmer1.c>#include <dimmer2.c>#int_extvoid main(){ output_low(dim1); output_low(dim2); X=0; Y=0; Setup_adc_ports(NO_ANALOGS) ; //All are digital only temp_init() ; lcd_init() ; LCD_PUTC("POWER SAVER \f") ; delay_ms(2000) ; while(1) { if (!input(pir)) { output_high(dim1) ; while(!input(pir)){} X = ~x ; lcd_putc("PIR ON \n") ; delay_ms(5000) ; } if(x==0) { if(y==1) { delay_ms(20000); Y=0 ; } output_low(dim1); output_low(dim2); lcd_putc("STAND BY \n") ; delay_ms(300); } if(x==1) { y=1; temp_read(); if(templ==0x80) templ=5; else templ=0; printf(lcd_putc,"\n TEMP: %02d.%d dc",temph,templ); if(temph>=27 && temph<=33) { my_func (5, 5); } if(temph>33 && temph<=35) { my_func (3, 3); } if(temph>35 && temph<=37) { my_func (2, 2); } if(temph>37) output_high(dim2); if(input(ldr)) output_high(dim1); if(!input(ldr)) output_low(dim1); } }}void my_func (int time1, int time2) { while (!input(zcd)) {}; delay_ms(time1); output_high(dim2); while (!input(zcd)) {}; output_low(dim2); delay_ms(time2); output_high(dim2); while (!input(zcd)) {}; output_low(dim2);}
#include<16F72.h>#use delay (clock=12000000)#fuses XT, NOWDT, PROTECT#use i2c(master, sda=PIN_C4, scl=PIN_C3)#include<lcd420.c>int temph , templ;int1 x=0 , y=0;int m;#define zcd PIN_A4#define pir PIN_B0#define ldr PIN_A2#define dim1 PIN_A0#define dim2 PIN_A1#include <temperature.c>#include <dimmer1.c>#include <dimmer2.c>#int_extint times [] = {5,5,5,5,5,5,5,3,3,2,2}; // times for temp values from 27 to 37 inclusivevoid main(){ output_low(dim1); output_low(dim2); X=0; Y=0; Setup_adc_ports(NO_ANALOGS) ; //All are digital only temp_init() ; lcd_init() ; LCD_PUTC("POWER SAVER \f") ; delay_ms(2000) ; while(1) { if (!input(pir)) { output_high(dim1) ; while(!input(pir)){} X = ~x ; lcd_putc("PIR ON \n") ; delay_ms(5000) ; } if(x==0) { if(y==1) { delay_ms(20000); Y=0 ; } output_low(dim1); output_low(dim2); lcd_putc("STAND BY \n") ; delay_ms(300); } if(x==1) { y=1; temp_read(); if(templ==0x80) templ=5; else templ=0; printf(lcd_putc,"\n TEMP: %02d.%d dc",temph,templ); if (temph > 26 && temph < 38) { my_func (temps[temph - 27]); } if(temph > 37) output_high(dim2); if(input(ldr)) output_high(dim1); else output_low(dim1); } }}void my_func (int time) { while (!input(zcd)) {}; delay_ms(time); output_high(dim2); while (!input(zcd)) {}; output_low(dim2); delay_ms(time); output_high(dim2); while (!input(zcd)) {}; output_low(dim2);}
my_func (temps[temph - 27]);
can i just ignore those #include<.c>?
temp_init(){ i2c_start(); i2c_write(0x90);// device address i2c_write(0xac);// control register i2c_write(00);// write mode i2c_stop(); delay_ms(10); i2c_start(); i2c_write(0x90);// device address i2c_write(0xee);// control register i2c_stop();} temp_read(){ i2c_start(); i2c_write(0x90); i2c_write(0xaa); i2c_start(); i2c_write(0x91); temph=i2c_read(); templ=i2c_read(0); i2c_stop();}
Function not void and does not return a value of temp_initFunction not void and does not return a value of temp_read