|
|
Yayınlandı 25.11.2014 22:12:09
|
|
|

[mw_shl_code=c,doğru]#include<pic.h> // 12M kristal osilatör kullanın #include"12864.h" #define imzasız int #define imzasız Uchar __CONFIG(FOSC_HS&WDTE_OFF&LVP_OFF); uchar temp_valueH,hum_valueH,hum_valueL,temp_valueL,çek; uint delay_time; Void timer0_init()
{ TMR0=0; İlk değer T0CS=0; Kristal osilatörün 1/4 kısmı olan saat kaynağını seçin; T0SE=1; Saat kaynağı kenar seçim bitleri PSA=0; Ön bölücü tahsis bitleri PS0=0; PS1=0; PS2=0; Bölüm öncesi seçim bölümleri TMR0IF=0; Zamanlayıcı bayrağı açık 0 GIE=1; Küresel kesintiyi aç TMR0IE=0; Zamanlayıcı 0 etkinleştirildi TMR0=236; Şiirin ilk değeri
} void kesme zamanlayıcısı0()
{ if(TMR0IF) { TMR0IF=0; TMR0=235; delay_time--; }
} void timer0_delay(uint delay_value)
{ delay_time=delay_value; TMR0IE=1; oynu(delay_time); TMR0IE=0;
} uchar Read_byte()
{ uchar i, temp, hum; for(i=0; i<8; i++) { while(! RC1); timer0_delay(2); Delay 20us temp=0; if(RC1){temp=1; while (RC1); } else{temp=0; } hum<<=1; hum|=sıcaklık; } return (hum);
} Void Read_data()
{ uchar ckeck_value; RC1=0; timer0_delay(2500); Otobüs en az 18 MS tarafından aşağı çekilmiştir RC1=1; timer0_delay(2); Otobüs, pull-up direnci tarafından yukarı çekilir ve ana bilgisayar gecikmesi 20us olur TRISC1=1; Sunucu, köle yanıt sinyalini değerlendirmek için giriş olarak ayarlanmıştır RC1=1; if(! RC1) { Oysa((! RC1)) // Slave'in 80us düşük yanıt sinyali yayıp yaymadığını belirleyin { NOP(); } while(RC1) // Slave'in yüksek seviyede 80us yayımlayıp yaymadığını belirler ve eğer öyleyse, veri alıcı duruma girer { 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(); while(1) { Read_data(); } }[/mw_shl_code]
|
Önceki:Düşünce ve Çıplak Programlama [Seriye Edilmiş]Önümüzdeki:Sosyal yardım yardımları, C dili isimlendirme kuralları, çok pratik şeyler
|