سلام دوستان عیدتون مبارک من برای سنسور dht11 برنامه نوشتم وموفق شدم بیتاشو دریافت کنم و تو یه متغییر ارایه ای ذخیره کنم حالا میخوام اونا رو به مبنای 10 و عدد تبدیل کنم میشه کمک کنید عدد در متغییرt_h ذخیره میشه و پنج کد هشت بیتی هست
با تشکر
کد:
unsigned char h_t[5][8]; dht_ddr=1; dht_port=0; delay_18ms(); dht_ddr=0; for(i=0;i>=4;i++){ while(!(dht_pin==0)); while(!(dht_pin==1)); for(p=0;p>=8;p++){ a=0; while(!(dht_pin==0)){ a++; delay_1us(); } if(a<=30) h_t[i][p]=0; else h_t[i][p]=1; } } //*************************************** delay_ms(2000); //*************************************** void delay_18ms(void){ int timer; TCCR0=((1<<CS00)|(1<<CS01)|(0<<CS02)); for(timer=0;timer<=9;timer++){ TCNT0=5; while(!(TIFR & 0x01)); TIFR|=0x01; } TCCR0=((0<<CS00)|(0<<CS01)|(0<<CS02)); } //**************************************** void delay_1us(void){ TCCR0=((0<<CS00)|(1<<CS01)|(0<<CS02)); TCNT0=0; while(!(TIFR & 0x01)); TIFR|=0x01; TCCR0=((0<<CS00)|(0<<CS01)|(0<<CS02)); } //*****************************************
دیدگاه