|
|
Objavljeno na 25. 11. 2014 22:12:09
|
|
|

[mw_shl_code=c,true]#include<pic.h> // Uporabite 12M kristalni oscilator #include"12864.h" #define unsigned int #define uchar nepodpisani char __CONFIG(FOSC_HS&WDTE_OFF&LVP_OFF); Uchar temp_valueH, hum_valueH, hum_valueL, temp_valueL, preverjeno; uint delay_time; praznina timer0_init()
{ TMR0=0; Prva vrednost T0CS=0; Izberite vir ure, ki je 1/4 kristalnega oscilatorja; T0SE=1; Biti izbire robov vira ure PSA=0; Predivider alokacijske bite PS0=0; PS1=0; PS2=0; Izbirni biti pred delitvijo TMR0IF=0; Zastavica časovnika je jasna 0 GIE=1; Odpri globalno prekinitev TMR0IE=0; Omogočen časovnik 0 TMR0=236; Prva vrednost pesmi
} void interrupt timer0()
{ if(TMR0IF) { TMR0IF=0; TMR0=235; delay_time--; }
} praznina timer0_delay(uint delay_value)
{ delay_time=delay_value; TMR0IE=1; while(delay_time); TMR0IE=0;
} Uchar Read_byte()
{ uchar i, temp, hum; for(i=0; i<8; i++) { medtem ko (! RC1); timer0_delay(2); Zamuda 20us temp=0; if(RC1){temp=1; medtem ko (RC1); } else{temp=0; } hum<<=1; hum|=temp; } return(hum);
} void Read_data()
{ Uchar ckeck_value; RC1=0; timer0_delay(2500); Avtobus potegne navzdol vsaj 18 MS RC1=1; timer0_delay(2); Vodilo potegne upor navzgor, zakasnitev gostitelja pa je 20us TRISC1=1; Gostitelj je nastavljen na vhod, da oceni signal odziva podrejenega RC1=1; if(! RC1) { medtem ko ((! RC1)) // Določite, ali podrejeni signal oddaja 80us signal z nizkim odzivom ali ne { NOP(); } while(RC1) // Določite, ali podrejeni oddaja visoko raven 80us, in če da, vstopi v stanje prejemanja podatkov { NOP(); } temp_valueH=Read_byte(); temp_valueL=Read_byte(); hum_valueH=Read_byte(); hum_valueL=Read_byte(); check=Read_byte(); ckeck_value=hum_valueL+hum_valueH+temp_valueL+temp_valueH; if(check==ckeck_value) { Proce_num(0x84,temp_valueH); Proce_num(0x94,hum_valueH); } } TRISC1=0; RC1=1;
} void main()
{ TRISB=0X00; lcdinit(); timer0_init(); medtem ko (1) { Read_data(); } }[/mw_shl_code]
|
Prejšnji:Misel in golo programiranje [serijsko]Naslednji:Socialne ugodnosti, pravila poimenovanja v jeziku C, zelo praktične stvari
|