|
|
Geplaatst op 25-11-2014 22:12:09
|
|
|

[mw_shl_code=c,waar]#include<pic.h> // Gebruik een 12M kristaloscillator. #include"12864.h" #define uint unsigned int #define uchar onondertekende char __CONFIG(FOSC_HS&WDTE_OFF&LVP_OFF); Uchar temp_valueH, hum_valueH, hum_valueL, temp_valueL, check; Uint delay_time; Void timer0_init()
{ TMR0=0; Eerste waarde T0CS=0; Selecteer de klokbron, die 1/4 van de kristaloscillator is; T0SE=1; Klokbron-randselectiebits PSA=0; Predidiver-allocatiebits PS0=0; PS1=0; PS2=0; Pre-divisie selectiebits TMR0IF=0; De timervlag is clear 0 GIE=1; Open de globale onderbreking TMR0IE=0; Timer 0 ingeschakeld TMR0=236; De eerste waarde van het gedicht
} void interrupt timer0()
{ als(TMR0IF) { TMR0IF=0; TMR0=235; delay_time--; }
} Void timer0_delay(uint delay_value)
{ delay_time=delay_value; TMR0IE=1; terwijl, (delay_time); TMR0IE=0;
} Uchar Read_byte()
{ Uchar I, Temp, Hum; voor(i=0; i<8; i++) { Terwyl(! RC1); timer0_delay(2); Vertraging 20us temp=0; if(RC1){temp=1; terwijl (RC1); } else{temp=0; } hum<<=1; hum|=temperatuur; } return(hum);
} Void Read_data()
{ Uchar ckeck_value; RC1=0; timer0_delay(2500); De bus wordt minstens 18 MS naar beneden getrokken RC1=1; timer0_delay(2); De bus wordt omhoog getrokken door de pull-up weerstand en de hostvertraging is 20 us. TRISC1=1; De host wordt ingesteld op input om het slave-responssignaal te beoordelen RC1=1; als(! RC1) { Terwijl((! RC1)) // Bepaal of de slave een 80 US low response signaal uitzendt of niet { NOP(); } while(RC1) // Bepaal of de slave een hoog niveau van 80us uitzendt, en zo ja, hij in de data-ontvangende toestand komt { 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; als(check==ckeck_value) { Proce_num(0x84,temp_valueH); Proce_num(0x94,hum_valueH); } } TRISC1=0; RC1=1;
} Void main()
{ TRISB=0X00; lcdinit(); timer0_init(); terwijl(1) { Read_data(); } }[/mw_shl_code]
|
Vorig:Gedachte en Naakte Programmering [Geserialiseerd]Volgend:Bijstandsuitkeringen, C-taal naamgevingsregels, heel praktische dingen
|