(精�)基于�片机的超声波测�仪的设计�考毕业论�- 百度文库

Æ÷½ÓÊÕµ½µÄ·´É䲨Ðźŷdz£Î¢Èõ£¬Á½¼¶·Å´óµç·ÓÃÓÚ¶Ô´«¸ÐÆ÷½ÓÊÕµ½µÄÐźŽøÐзŴó¡£ËøÏà»·µç·½ÓÊÕµ½ÆµÂÊ·ûºÏÒªÇóµÄÐźźóÏòµ¥Æ¬»ú·¢³öÖжÏÇëÇó¡£ËøÏà»·LM567ÄÚ²¿Ñ¹¿ØÕñµ´Æ÷µÄÖÐÐÄÆµÂÊΪ£¬Ëø¶¨´ø¿íÓëC3Óйء£ÓÉÓÚ·¢Ë͵ij¬Éù²¨ÆµÂÊΪ40kHz£¬°ïµ÷ÕûÏà¹ØÔª¼þÊ¹ËøÏà»·µÄÖÐÐÄÆµÂÊΪ40kHz£¬Ö»ÏìÓ¦¸ÃƵÂʵÄÐźţ¬±ÜÃâÁËÆäËûƵÂÊÐźŵĸÉÈÅ¡£

µ±³¬Éù²¨´«¸ÐÆ÷½ÓÊÕµ½³¬Éù²¨Ðźźó£¬ËÍÈëÁ½¼¶·Å´óÆ÷·Å´ó£¬·Å´óºóµÄÐźŽøÈëËøÏà»·¼ì²¨£¬Èç¹ûƵÂÊΪ40kHz£¬Ôò´Ó8½Å·¢³öµÍµçƽÖжÏÇëÇóÐźÅË͵¥Æ¬»úP3.3¶Ë£¬µ¥Æ¬»ú¼ì²âµ½µÍµçƽºóÍ£Ö¹¶¨Ê±Æ÷µÄ¹¤×÷¡£³¬Éù²¨½ÓÊÕµç·Èçͼ5.2Ëùʾ¡£

ͼ5.2 ³¬Éù²¨½ÓÊÕµç·

5.3 ÏÔʾµç·

ÏÔʾµç·Èçͼ5.3£¬ËÄλLED×é³É¶¯Ì¬É¨Ãèµç·£¬ÓÉAT89C51µÄP0¿ÚÊä³ö¡£¶¯Ì¬É¨Ãèʱ£¬ÓÉP2¿Ú¿ØÖÆLEDµÄµ±Ç°ÏÔʾλ¡£µ±¾àÀë²âÁ¿½áÊø²¢µ÷ÓÃÏÔʾ³ÌÐò£¬¾Í»áÏÔʾ¾àÀë´óС£¬ÏÔʾÁ½Î»Ð¡Êý¡£µ±°´Ï°´¼ük2ʱ£¬½«»áÏÔʾζÈÖµ£¬ÑÓʱ5sºó»Ö¸´ÏÔʾ¾àÀëÖµ¡£

ͼ5.3 ÏÔʾµç·

5.4 µçÔ´µç·

µçÔ´µç·Èçͼ5.4Ëùʾ¡£Îª·½±ãÆð¼û£¬±¾Éè¼Æ²ÉÓõÄÊÇ9Vµç³Ø¹©µç£¬Ö±Á÷µçËÍÈëÈý¶ËÎÈѹÆ÷LM7805ÎÈѹ£¬Êä³ö+5VÎȺãÖ±Á÷µç£¬×÷Ϊµç·µÄµçÔ´¡£LEDÊǵçԴָʾµÆ£¬Í¨µçºó·¢¹â¡£

ͼ5.4 µçÔ´µç·

5.5 ¸´Î»µç·

AT89C51¸´Î»ÓÐÒ»¸öרÓõÄÍⲿÒý½ÅRESET£¬Íⲿ¿Éͨ¹ý´ËÒý½ÅÊäÈëÒ»¸öÕýÂö³åʹµ¥Æ¬»ú¸´Î»¡£Ëùν¸´Î»£¬¾ÍÊÇÇ¿ÖÆµ¥Æ¬»úϵͳ»Ö¸´µ½È·¶¨µÄ³õʼ״̬£¬²¢Ê¹ÏµÍ³ÖØÐ´ӳõʼ״̬¿ªÊ¼¹¤×÷¡£±¾Éè¼Æ²ÉÓõÄÊÇµçÆ½Ê½¿ª¹ØÓëÉϵ縴λµç·£¬ÎªÁËÄÜʹÔËÐÐÖеÄϵͳ£¬¾­È˹¤¸ÉÔ¤£¬Ç¿ÖÆÏµÍ³½øÐи´Î»¡£Æäµç·ͼÈç5.4Ëùʾ£º

ͼ5.4 ¸´Î»µç·

µÚ6Õ Èí¼þÉè¼Æ

6.1 Ö÷³ÌÐòÁ÷³Ì

ÎÒÃÇÖªµÀCÓïÑÔ³ÌÐòÓÐÀûÓÚʵÏֽϸ´ÔÓµÄËã·¨£¬»ã±àÓïÑÔ³ÌÐòÔò¾ßÓнϸߵÄЧÂÊÇÒÈÝÒ×¾«Ï¸¼ÆËã³ÌÐòÔËÐеÄʱ¼ä£¬¶ø³¬Éù²¨²â¾àÒǵijÌÐò¼ÈÓнϸ´ÔӵļÆË㣨¼ÆËã¾àÀëʱ£©£¬ÓÖÒªÇó¾«Ï¸¼ÆËã³ÌÐòÔËÐÐʱ¼ä£¨³¬Éù²¨²â¾àʱ£©£¬ËùÒÔ¿ØÖƳÌÐò¿É²ÉÓÃCÓïÑԺͻã±àÓïÑÔ»ìºÏ±à³Ì¡£

ÒòΪ±¾Éè¼Æ¶Ôʱ¼äÒªÇ󾫶ȽϸߵIJ¿·ÖÈ«²¿Óɵ¥Æ¬»úÄÚ²¿µÄ¶¨Ê±Æ÷Íê³É£¬¶øËäȻζȴ«¸ÐÆ÷µÄ¶Áд¶Ôʱ¼ä¾«¶ÈÒªÇóÒ²¸ß£¬µ«¾­Ïêϸ¼ÆËãËùµÃ³öµÄC³ÌÐòÒѱ»¹ã·ºÓ¦Ó㬹ÊÖ±½Ó½èÓÃÒÑÓгÌÐòÒ²ÄÜ×÷µ½¶ÔζȵÄ׼ȷ¶ÁÈ¡£¬ËùÐı¾Éè¼ÆÈ«²¿Ê¹ÓÃCÓïÑÔ±à³Ì£¬ÕâÑùÄÜʹÉè¼ÆÖÐËùÓõ½µÄ¹«Ê½ÄÜ·½±ã¿ì½ÝµÄÌåÏÖºÍʵÏÖ£¬ÓÖËõ¶ÌÁËÂÛÎĵįª·ù¡£

Èí¼þ²ÉÓÃÄ£¿é»¯Éè¼Æ·½·¨£¬ÓÉÖ÷³ÌÐò¡¢³¬Éù²¨·¢Éú×Ó³ÌÐò¡¢³¬Éù²¨½ÓÊÕÖжÏ×Ó³ÌÐò¡¢Î¶ȲâÁ¿×Ó³ÌÐò¡¢¾àÀë¼ÆËã×Ó³ÌÐò¡¢ÏÔʾ×Ó³ÌÐò¡¢¼üÅÌɨÃè´¦Àí³ÌÐòµÈÄ£¿é×é³É¡£

ͼ6.1ΪÖ÷³ÌÐòÁ÷³Ìͼ¡£

ϵͳÉϵçºó£¬Ê×ÏÈϵͳ³õʼ»¯£¬²»¶ÏɨÃè°´¼ük1£¬Èô°´¼ük1°´Ï£¬Ôò¿ªÊ¼²âÁ¿¿ÕÆøÎ¶ȣ¬È»ºó½«P1.0ÖÃλ£¬Ê¹¶¨Ê±Æ÷T0¿ªÊ¼¶¨Ê±£¬¿ØÖƳ¬Éù²¨´«¸ÐÆ÷·¢³ö³¬Éù²¨£¬Í¬Ê±Ê¹¶¨Ê±Æ÷T1¿ªÊ¼¶¨Ê±¡£CPUÑ­»·¼ì²âP3.3Òý½Å£¬µ±P3.3ΪµÍµçƽʱ½ÓÊÕµ½»Ø²¨£¬Á¢¼´Ê¹T1Í£Ö¹¹¤×÷£¬±£´æ¶¨Ê±Æ÷µÄ¼ÆÊýÖµ¡£

È»ºó¸ù¾ÝζȺʹ«Êäʱ¼ä¼ÆËã¾àÀ룬ζȲ¹³¥´ëʩʹ²âÁ¿¾«¶ÈÓÐÁËÃ÷ÏÔÌá¸ß£¬¼ÆËã³ö¾àÀëºóµ÷ÓþàÀëÏÔʾ×Ó³ÌÐò£¬LEDÏÔʾ¾àÀë¡£

×îºó¼ì²â°´¼ük2£¬Èôk2±ÕºÏ£¬Ôòµ÷ÓÃζÈÏÔʾ×Ó³ÌÐò£¬LEDÏÔʾζȣ¨Î¶Ȳ¢·Ç²âÁ¿¾àÀëʱÓÃÓÚ²¹³¥µÄζȣ¬¶øÊǵ±Ç°Î¶ȣ©5sºó»Ö¸´ÏÔʾ±¾´Î²âÁ¿¾àÀ룻Èô°´¼ük2ûÓбպϣ¬ÔòÏÔʾÆ÷ºã¶¨ÏÔʾ×îÐÂÒ»´ÎµÄ²âÁ¿½á¹û£»ÈôÒª½øÐÐÏÂÒ»´Î²âÁ¿£¬ÔòÏÈÒª°´ÏÂk3ÖØÐ¿ªÊ¼£¬ÔÙ°´Ï°´¼ük1²ÅÖ´ÐÐÐÂÒ»´Î²âÁ¿¡£ÓÉÓÚ²»ÐèÊäÈëÊý¾Ý£¬¼üÅÌÖ»ÉèÖÃÁË3¸ö°´¼ü£¬ÓÃÓÚ¿ªÊ¼²âÁ¿¾àÀë²¢ÏÔʾζȹ¦ÄÜÉèÖõȡ£

6.2 ×Ó³ÌÐòÉè¼Æ

6.2.1 ³¬Éù²¨·¢ËÍ×Ó³ÌÐò¼°³¬Éù²¨½ÓÊÕÖжÏ×Ó³ÌÐò

³¬Éù²¨·¢Éú×Ó³ÌÐòµÄ×÷ÓÃÊÇͨ¹ýP1.0¶Ë¿Ú·¢ËÍ×óÓÒ³¬Éù²¨Âö³åÐźţ¨ÆµÂÊÔ¼40kHzµÄ·½²¨£©£¬Âö³å¿í¶ÈΪ12¦Ìs×óÓÒ£¬Í¬Ê±°Ñ¼ÆÊýÆ÷T1´ò¿ª½øÐмÆÊ±£¬¶¨Ê±Æ÷T1¹¤×÷ÔÚ·½Ê½0¡£

³¬Éù²¨²â¾àÒÇÖ÷³ÌÐòÀûÓÃÍâÖжÏ1¼ì²â·µ»Ø³¬Éù²¨Ðźţ¬Ò»µ©½ÓÊÕµ½·µ»Ø³¬Éù²¨Ðźţ¨¼´Òý½Å³öÏÖµÍµçÆ½£©£¬Á¢¼´½øÈëÖжϳÌÐò¡£½øÈëÖжϺó¾ÍÁ¢¼´¹Ø±Õ¼ÆÊ±Æ÷T1Í£Ö¹¼ÆÊ±£¬²¢½«²â¾à³É¹¦±êÖ¾×Ö¸³Öµ1¡£Èç¹ûµ±¼ÆÊ±Æ÷Òç³öʱ»¹Î´¼ì²âµ½³¬Éù²¨·µ»ØÐźţ¬Ôò¶¨Ê±Æ÷T1Òç³öÖжϽ«ÍâÖжÏ1¹Ø±Õ£¬²¢½«²â¾à³É¹¦±êÖ¾×Ö¸³Öµ0±íʾ´Ë´Î²â¾à²»³É¹¦¡£

T0ÖжϷþÎñ³ÌÐòÈçÏ£º sbit send=P1^0;

void timer0(void)interrupt 1 { send=!send; TH0=0x1f; TL0=0xf4; }

³¬Éù²¨½ÓÊÕ£¨ÍⲿÖжÏ1£©³ÌÐò£º void int1(void)interrupt 2 { if(TH1!=0x00&&TH0!=0x00)

{ b=1; TR1=0; TR0=0;

t=TH1*256+TL1;

t=t; TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00; } else { b=0; TR1=0; TR0=0;

TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00;

} }

6.2.2 ²âÎÂ×Ó³ÌÐò

²âεÄÖ÷ÒªÆ÷¼þÊÇDS18B20£¬ÏÖ³¡Î¶ÈÖ±½ÓÒÔ¡°Ò»Ïß×ÜÏß¡±µÄÊý×Ö·½Ê½´«Ê䣬DS18B20ÖÐÓÐÁ½¸ö´æ²âµÃµÄζÈÖµµÄÁ½¸ö8λ´æÖüÆ÷RAM£¬ÓÃ11λ´æÖüζÈÖµ£¬×î¸ß루5λ£©Îª·ûºÅλ¡£¶ÔÓ¦µÄζȼÆË㣺µ±·ûºÅλS=0ʱ£¬Ö±½Ó½«¶þ½øÖÆÎ»×ª»»ÎªÊ®½øÖÆ£»µ±S=1ʱ£¬ÏȽ«²¹Âë±ä»»ÎªÔ­Â룬ÔÙ¼ÆËãÊ®½øÖÆÖµ¡£Í¼6.2ΪDS18B20µÄζȴ洢·½Ê½£º

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

2 32 22 12 02 £­12 6£­22 5£­32 4£­4 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

S

ͼ6.2 DS18B20µÄζȴ洢·½Ê½

S S S S 2 2 2 ¸ºÎ¶ÈʱS=1£¬ÕýζÈʱS=0¡£Òò´ËÎÒÃÇÖ»ÐèÒªÖðλ¶Á³öËüµÄζȾͿÉÒÔÁË¡£¶Á³öÒ»¸ö×Ö½ÚC´úÂëÈçÏ£º

uchar readbyte(void) Ö±½Ó¶ÁÒ»×Ö½Ú³ÌÐò { uchar i,k; } }

return(k); i=8; k=0; while(i--) {

tem_in=1; delay_us(1); tem_in=0; k=k>>1; tem_in=1; NOP;

if(tem_in)k |= 0x80; tem_inΪ1ʱ£¬Ôò¸ÃλҲΪ1 delay_us(4);

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)