51µ¥Æ¬»úѧϰCÓïÑÔ ÏÂÔر¾ÎÄ

dl_us(80); //ÑÓʱ¹«Ê½= 30 + (i-1)*13us dat_1820=1; dl_us(1); }

/*****************************/

2¡¢ Óзµ»Ø²ÎÊý,ÎÞÊäÈë²ÎÊýµÄº¯ÊýµÄ¶¨Òå·½·¨

·µ»ØÖµÀàÐͱêʶ·û º¯ÊýÃû£¨void£© {º¯ÊýÌåÓï¾ä}

/*Àý×Ó****************************/

bit rdbit(void) //¶ÁÒ»¸ö룬bit·µ»ØÖµÀàÐÍÉùÃ÷ { uchar i;

bit dat_bit;/* dat_bit Êý¾ÝÀàÐÍÉùÃ÷*/

dat_1820=0;i++; dat_1820=1;i++;i++; dat_bit=dat_1820;

dat_1820=0;

i=8; //i=3,4,5,7,8·Ö±ðÑÓʱ30,39,47,62,70΢Ãî

while(i>0) {i--;}

dat_1820=1;i++;i++;

return(dat_bit);

}/*·µ»ØµÄλ±äÁ¿dat_bit£¬²»½öÒªÔÚº¯Êý¶¨ÒåʱÉùÃ÷£¬ÔÚº¯ÊýÌåÄÚ²¿Ò²ÒªËµÃ÷*/ /*****************************/

3¡¢ ÎÞ·µ»Ø²ÎÊý,ÓÐÊäÈë²ÎÊýµÄº¯ÊýµÄ¶¨Òå·½·¨

void º¯ÊýÃû£¨Êý¾ÝÀàÐÍ ÐÎʽ²ÎÊý1£¬Êý¾ÝÀàÐÍ ÐÎʽ²ÎÊý2£¬¡­¡­.£© {º¯ÊýÌåÓï¾ä}

/*Àý×Ó**********************************************/ void dl_ms(uint count) { uchar i;

while(count--)

{ for(i=0;i<125;i++) { ; } } }

/***********************************************/ 4¡¢ ¿Õº¯ÊýµÄ¶¨Òå·½·¨

·µ»ØÖµÀàÐͱêʶ·û º¯ÊýÃû£¨void£© { }

/*Àý×Ó**********************************************/ Float min() {}

/***********************************************/

µ÷Óÿպ¯Êýʱ¡£Ê²Ã´¹¤×÷Ò²²»×ö£¬´Ëº¯ÊýÖ»ÊÇÄ£¿é»¯Éè¼ÆʱռλÐèÒª£¬ÎªÒÔºó³ÌÐòÀ©³äÓá£

14.5¡¢º¯ÊýµÄ²ÎÊýºÍº¯ÊýÖµ

1¡¢ÐÎʽ²ÎÊý ÔÚ¶¨Ò庯Êýʱ£¬º¯ÊýÃûºóÃæÀ¨ºÅÖеıäÁ¿Ãû³ÆΪ¡°ÐÎʽ²ÎÊý¡±£¬¼ò³Æ¡°ÐÎÊý¡±

/*Àý×Ó**********************************************/

void dl_ms(uint count)/*ÔÚº¯ÊýÃûdl_msºóÃæÀ¨ºÅÖеıäÁ¿uint countΪ¡°ÐÎʽ²Î

Êý¡±£¬Ö»ÊÇ˵Ã÷Á˲ÎÊýµÄÊý¾ÝÀàÐÍ£¬Ã»ÓÐʵ¼ÊµÄÊýÖµ*/

{ uchar i;

while(count--)

{ for(i=0;i<125;i++) { ; } } }

/***********************************************/

2¡¢Êµ¼Ê²ÎÊý ÔÚº¯Êýµ÷ÓÃʱ£¬Ö÷µ÷Óú¯ÊýÃûºóÃæÀ¨ºÅÖеıí´ïʽ³ÆΪ¡°Êµ¼Ê²ÎÊý¡±£¬¡°Êµ²Î¡±¡£

main()

{ dl_ms(500);/* Ö÷µ÷Óú¯ÊýÖ±½Ó½«ÊýÖµ500´«µÝ¸ødl_ms()º¯Êý*/

}

3¡¢º¯ÊýµÄ·µ»ØÖµ£¨P128£©

/*Àý×Ó*************************************/ /*ÎļþÃû£ºstudy3.C 2008.4.6 */ #include typedef unsigned char uchar; typedef unsigned int uint;

uint min(uint k1,uint k2); /*×Óº¯ÊýÉùÃ÷¡£º¯ÊýµÄÐβÎk1,k2*/

main ()/*Ö÷º¯Êý¿ªÊ¼*/ {int result;

result=min(35,25);/* º¯ÊýµÄʵ²Îk1=35,k2=25*/ }

int min(int k1,int k2)/*×Óº¯Êý¿ªÊ¼*/ {int k3;

k3=(k1+k2)/2;

return (k3);/*¼ÆËã½á¹ûË͵½k3*/ }

/**************************************/

¼ò³Æ

µÚ¢Ù²½£ºÖ÷µ÷Óú¯Êýmain()ÔÚµ÷ÓÃÓвÎÊýmin()º¯Êýʱ£¬½«Êµ¼Ê²ÎÊý35,25·Ö±ð´«µÝ¸ø±»µ÷Óú¯ÊýµÄÐβÎk1,k2

µÚ¢Ú²½£º±»µ÷Óú¯Êýmin()ʹÓÃʵ²Î35£¬25×÷ΪÊäÈë±äÁ¿½øÐÐÔËË㣬ËùµÃ½á¹ûͨ¹ý·µ»ØÓï¾äreturn£¨k3£© ·µ»Ø¸øÖ÷º¯Êý µÚ¢Û²½£ºÔÚÖ÷º¯Êýresult= min(35£¬25)ÖУ¬Í¨¹ýµÈºÅ¸³Öµ¸ø±äÁ¿result¡£Õâ¸öreturn£¨k3£©ÖбäÁ¿k3¾ÍÊDZ»µ÷Óú¯ÊýµÄ·µ»ØÖµ£¬¼ò³Æº¯ÊýµÄ·µ»ØÖµ¡£

Ò»¸öº¯Êý¿ÉÒÔÓÐÒ»¸öÒÔÉϵÄreturnÓï¾ä£¬µ«¶àÓÚÒ»¸öµÄreturnÓï¾ä±ØÐëÔÚÔÚÑ¡Ôñ½á¹¹£¨if»ò

do/case£©ÖÐʹÓã¬ÒòΪ±»µ÷Óú¯ÊýÒ»´ÎÖ»ÄÜ·µ»ØÒ»¸ö±äÁ¿Öµ¡£ 14.6¡¢º¯ÊýµÄµ÷ÓÃ

1¡¢º¯Êýµ÷ÓõÄÒ»°ãÐÎʽ

º¯ÊýÃû£¨Êµ¼Ê²ÎÊý±íÁУ©£»

º¯ÊýÃû£¨Êµ²Î1£¬Êµ²Î2£¬¡­£©£»//Ò»¸öÒÔÉÏʵ²ÎÖ®¼äÓá°£¬¡± 2¡¢º¯Êýµ÷Óõķ½Ê½£¨P130£©

¢Ù¡¢°Ñ±»µ÷Óú¯ÊýÃû×÷ΪÖ÷µ÷Óú¯ÊýÖеÄÒ»¸öÓï¾ä disp();

¢Ú¡¢º¯Êý½á¹û×÷Ϊ±í´ïʽµÄÒ»¸öÔËËã¶ÔÏó result=min(35,25)*3.1416 ¢Û¡¢×÷ΪÁíÒ»¸öº¯ÊýµÄ²ÎÊý m = max (a,min(k1,k2)) 14.7¡¢¶Ô±»µ÷Óú¯ÊýµÄ˵Ã÷

1¡¢±»µ÷Óú¯Êý±ØÐëÊÇÒÑ´æÔڵĺ¯Êý£¨¿âº¯Êý»òÓû§×Ô¶¨Ò庯Êý£© 2¡¢Èç¹ûÔÚ³ÌÐòÖÐʹÓÃÁ˿⺯Êý£¬»òʹÓÃÁ˲»ÔÚͬһ³ÌÐòÖеÄÓû§×Ô¶¨Ò庯Êý£¬ÒªÊ¹ÓÃ#includeÓï¾ä

3¡¢Ò»°ãÐÎʽ£º

±»µ÷º¯ÊýÉùÃ÷£» Ö÷µ÷Óú¯Êý

/*Àý×Ó***************************************/ void disp(void); main() {¡­. disp();

}

/*Àý×Ó***************************************/

14.8¡¢º¯ÊýµÄǶÌ×(P132)

ÔÚµ÷ÓÃÒ»¸öº¯ÊýµÄ¹ý³ÌÖÐÔÊÐíµ÷ÓÃÁíÒ»¸öº¯Êý¡£ÓÉÓÚ51µ¥Æ¬»úRAM¿Õ¼äµÄÏÞÖÆ£¬×¢ÒâǶÌ×Éî¶È 14.9¡¢º¯ÊýµÄµÝ¹éµ÷ÓÃ(P132)

ÔÚµ÷ÓÃÒ»¸öº¯ÊýµÄ¹ý³ÌÖÐÓÖÖ±½Ó»ò¼ä½Óµ÷Óøú¯Êý±¾Éí£¬ÕâÖÖÇé¿ö³ÆΪº¯ÊýµÄµÝ¹éµ÷Óá£µÝ ¹éµ÷ÓÃÖ÷ÒªÓÃÓÚÎÊÌâµÄÇó½â£¬Çó½×³ËµÈ¡£

µÚÊ®Îå¿Î ζȴ«¸ÐÆ÷DS18B20¹¤×÷Ô­Àí¼°±à³Ì

15.1¡¢µ¥Ïߣ¨1-wire£©¼¼Êõ¡£Ö»ÓÐÒ»¸ùÊý¾ÝÏߣ»Êý¾Ý´«ÊäÊÇË«ÏòµÄ£»µ¥Ö÷»úÄÜ¿ØÖÆÒ»¸ö»ò¶à¸ö´Ó

»úÉ豸

15.2¡¢Ö÷»úºÍ´Ó»úͨÐŹý³Ì£º

³õʼ»¯µ¥ÏßÆ÷¼þ£¬Ê¶±ðµ¥ÏßÆ÷¼þºÍµ¥ÏßÊý¾Ý´«Êä¡£Ö»ÓÐÖ÷»úºô½Ð´Ó»úʱ£¬´Ó»ú²ÅÄÜÓ¦´ð µ¥Ïߣ¨1-wire£©Ð­ÒéÓɸ´Î»Âö³å£¬Ó¦´ðÂö³å¡¢Ð´0¡¢Ð´1¡¢¶Á0¡¢ºÍ¶Á1Õ⼸ÖÖÐźÅÀàÐÍ×é³É¡£ÕâЩÐźţ¬³ýÁËÓ¦´ðÂö³å£¬ÆäËû¾ùÓÉÖ÷»ú·¢³ö£¬²¢ÇÒËùÓÐÃüÁîºÍÊý¾Ý¶¼ÊÇ×ֽڵĵÍλÔÚÇ°¡£ 15.3¡¢DS18B20µÄÖ÷Òª¼¼ÊõÖ¸±ê£º

ÿ¸öDS18B20¶¼ÓÐΨһµÄ64λROM±àÂ룬Ëü´æ·ÅÔÚ64λ¼¤¹âROMÖÐ 64λ¼¤¹âROMÄÚÈÝ 8λCRCУÑéÂë MSB LSB 48λ²úÆ·ÐòÁкŠ8λ²úƷϵÁбàÂë MSB LSB MSB LSB DS18B20µÄ´æ´¢Æ÷½á¹¹£¨Öмä½á¹ûRAM£© ζÈÖµµÍλ×Ö½Ú Î¶ÈÖµ¸ßλ×Ö½Ú TH/Óû§Ê¹ÓÃ×Ö½Ú1£¨THµÄÒ×ʧÐÔ¿½±´£¬Éϵçʱ±»³ýÊýˢУ© TL/Óû§Ê¹ÓÃ×Ö½Ú2£¨TLµÄÒ×ʧÐÔ¿½±´£¬Éϵçʱ±»³ýÊýˢУ© ÅäÖÃ×Ö½Ú£¨ÅäÖüĴæÆ÷Ò×ʧÐÔ¿½±´£¬Éϵçʱ±»³ýÊýˢУ© ±£Áô×Ö½Ú£¨ÄÚ²¿¼ÆËãÓã© ±£Áô×Ö½Ú£¨ÄÚ²¿¼ÆËãÓã© ±£Áô×Ö½Ú£¨ÄÚ²¿¼ÆËãÓã© CRC×Ö½Ú ·ÇÒ×ʧÐÔµç¿É²Á³ýRAM TH/Óû§Ê¹ÓÃ×Ö½Ú1£¨´æ´¢¸ßδ¥·¢Æ÷£© TL/Óû§Ê¹ÓÃ×Ö½Ú2£¨´æ´¢µÍδ¥·¢Æ÷£© ÅäÖÃ×Ö½Ú£¨ÅäÖüĴæÆ÷£©

ÅäÖüĴæÆ÷ 0 R1 R0 1 1 1 1 1 MSB LSB ÆäÖÐR1ºÍR0ÊÇζȷֱæÂÊ£¬ÅäÖñíÈçÏ£º R1 R0 ·Ö±æÂÊ ×î´óת»»Ê±¼ä ζÈÖµ·Ö±æÂÊ