µ±Ç°Î»ÖãºÊ×Ò³ > Cµ¥Æ¬»úºÍPWMµ÷¹âLED̨µÆÉè¼Æ·½°¸
¿ÚºÍPWM¶Ë¿ÚÕâÁ½¸ö±ØÐëÌõ¼þ£¬ÁíÍâADCµÄλÊý¾¡Á¿¸ß£¬µ¥Æ¬»úµÄ¹¤×÷ËٶȾ¡Á¿¿ì¡£ÔÚµ÷Õû³äµçµçÁ÷ǰ£¬µ¥Æ¬»úÏÈ¿ìËÙ¶ÁÈ¡³äµçµçÁ÷µÄ´óС£¬È»ºó°ÑÉ趨µÄ³äµçµçÁ÷Óëʵ¼Ê¶ÁÈ¡µ½µÄ³äµçµçÁ÷½øÐбȽϣ¬Èôʵ¼ÊµçÁ÷ƫСÔòÏòÔö¼Ó³äµçµçÁ÷µÄ·½Ïòµ÷ÕûPWMµÄÕ¼¿Õ±È£»Èôʵ¼ÊµçÁ÷Æ«´óÔòÏò¼õС³äµçµçÁ÷µÄ·½Ïòµ÷ÕûPWMµÄÕ¼¿Õ±È¡£
±¾ÎĽéÉÜÁËÒÔSTC89C51Ϊ¿ØÖƺËÐÄ£¬Í¨¹ý¹âÃôµç×è¸ÐÓ¦¹â¶È£¬²¢ÀûÓÃPWMµ÷¹â¼¼Êõ¶ÔLED½øÐйâ¶ÈµÄ×Ô¶¯µ÷½Ú¡£Í¬Ê±ÉèÖÃÊÖ¶¯¿ØÖÆ¡£¸ÃLED̨µÆµç·¼òµ¥£¬ºÜ´ó³Ì¶ÈÉϽÚÊ¡µçÄÜ£¬ÑÓ³¤LEDµÆÊÙÃü£¬ÊÊÒËÔĶÁ¡£
Ò»¡¢×ÜÌå·½°¸Éè¼Æ
»ùÓÚC51µ¥Æ¬»úºÍPWMµ÷¹âµÄLED̨µÆÒÔSTC89C51×÷ΪÖ÷¿ØÐ¾Æ¬£¬ÉèÖÃÁËÊÖ¶¯¿ØÖƺÍ×Ô¶¯¿ØÖÆ¡£ÔÚÊÖ¶¯¿ØÖÆÊ±£¬·ÖΪÈýµµ£¬Êä³ö²»Í¬µÄPWMÕ¼¿Õ±È¶ÔLEDµÄµçÁ÷½øÐпØÖÆ£¬´Ó¶øÊµÏÖÁ˶Թâ¶ÈµÄÊÖ¶¯µ÷½Ú¡£
ÔÚ×Ô¶¯¿ØÖÆÊ±£¬Í¨¹ýADC0809Ä£Äâ-Êý×Öת»»Ð¾Æ¬²»¶Ï¼ìÑé¹âÃôµç×èµÄµçѹÀ´¼ä½Ó²âÁ¿¸ÐÓ¦¹â¶È£¬½«µçѹºÍÔ¤ÉèµÄãÐÖµ½øÐжԱȣ¬µ÷ÕûPWMµÄÕ¼¿Õ±È¶ÔLEDµÄµçÁ÷½øÐпØÖÆ£¬´Ó¶øÊµÏÖÁ˶Թâ¶ÈµÄ×Ô¶¯µ÷½Ú¡£×ÜÌå¿òͼÈçÏ£¨Í¼1.1£©:
ͼ1.1
¶þ¡¢Ó²¼þÉè¼Æ
Ó²¼þÉè¼Æ×ÜÌå¿òͼÈçÏ£º
ͼ2.0
1¡¢Ö÷¿Øµç·£º
Ö÷¿Øµç·²ÉÓÃSTC89C51×÷ΪÖ÷MCU¡£STC89C51ÊÇÒ»¿î°Ëλ£¬Æ¬ÄÚÓÐROM/EPROMµÄµ¥Æ¬»ú£¬ÆäÓ²¼þ½á¹¹¾ßÓй¦Äܲ¿¼þÖÖÀàÈ«£¬¹¦ÄÜÇ¿µÈÌØµã¡£ÕâÖÖоƬ¹¹³ÉµÄ×îСϵͳ¼òµ¥¡¢ÊµÓép¿É¿¿¡£ÓÃSTC89C51µ¥Æ¬»ú¹¹³É×îСӦÓÃϵͳʱ£¬Ö»Òª½«µ¥Æ¬»ú½ÓÉÏʱÖӵ緺͸´Î»µç·¼´¿É£¬ÈçÏÂͼ£¨Í¼2.1£©Ëùʾ¡£±¾Éè¼ÆËùÑ¡Óõľ§ÕñΪ12MHZ£¬¾§ÕñµçÈÝΪ30PF¡£
ͼ2.1
2¡¢LEDÇý¶¯
LEDµÄÁÁ¶ÈÊܵçÁ÷¿ØÖÆ£¬Í¨¹ý¿ØÖƵçÁ÷µ÷½ÚLEDµÆµÄÁÁ¶È¡£ÀûÓù«Ê½¿ÉÖª£¬ÀûÓõ÷ÕûPWM²»Í¬µÄÕ¼¿Õ±È¾Í¿ÉÒÔ¿ØÖƵçÁ÷µÄ´óС¡£µçÁ÷ͨ¶ÏµÄ±ä»¯ÓÃNMOS¹ÜK2717ʵÏÖ£¬Èý¼«¹Ü9014ÌṩÇý¶¯K2717µÄµçÁ÷£¬PWMÓÉP2.0Êä³ö£¬µÍµçƽÓÐЧ¡£ÈçÏÂͼ£¨Í¼2.2£©Ëùʾ£º
ͼ2.2
2¡¢ÊÖ¶¯¿ØÖÆ
KEY4±ä»¯¿ØÖƵķ½Ê½£¬KEY4Ϊ×ÔËø°´¼ü£¬°´ÏÂΪÊÖ¶¯¿ØÖÆ£¬µ¯ÆðΪ×Ô¶¯¿ØÖÆ¡£ÊÖ¶¯¿ØÖÆÊ±¿ÉÒÔ·ÖΪÈýµµ£¬¶ÔÓ¦ÓëKEY1~3Èý¸ö°´¼ü¡£ÈçÏÂͼ£¨Í¼2.3£©Ëùʾ£º
ͼ2.3
3¡¢×Ô¶¯¿ØÖÆ
<1>¹âÃôµç×è·´À¡²¿·Ö
¹âÃôµç×èÆ÷ÊÇÀûÓð뵼ÌåµÄ¹âµçÐ§Ó¦ÖÆ³ÉµÄÒ»ÖÖµç×èÖµËæÈëÉä¹âµÄÇ¿Èõ¶ø¸Ä±äµÄµç×èÆ÷£»ÈëÉä¹âÇ¿£¬µç×è¼õС£¬ÈëÉä¹âÈõ£¬µç×èÔö´ó¡£¹âÃôµç×èÆ÷Ò»°ãÓÃÓÚ¹âµÄ²âÁ¿¡¢¹âµÄ¿ØÖƺ͹âµçת»»¡£Òò´Ë£¬²»¶Ï²É¼¯¹âÃôµç×è¶ÔµØµÄµçѹ±ã¿ÉÒÔ»ñ̨֪µÆÖܱ߹âÇ¿µÄ±ä»¯¡£ÈçÏÂͼ£¨Í¼2.4£©Ëùʾ£º
ͼ2.4
<2>ADC0809Ä£Êýת»»²¿·Ö
ADC 0808ºÍADC 0809³ý¾«¶ÈÂÔÓвî±ðÍâ(ǰÕß¾«¶ÈΪ8λ¡¢ºóÕß¾«¶ÈΪ7λ)£¬ÆäÓà¸÷·½ÃæÍêÈ«Ïàͬ¡£ËüÃǶ¼ÊÇCMOSÆ÷¼þ£¬²»½ö°üÀ¨Ò»¸ö8λµÄÖð´Î±Æ½üÐ͵ÄADC²¿·Ö£¬¶øÇÒ»¹Ìṩһ¸ö8ͨµÀµÄÄ£Äâ¶à·¿ª¹ØºÍͨµÀѰַÂß¼£¬Òò¶øÓÐÀíÓɰÑËü×÷Ϊ¼òµ¥µÄ¡°Êý¾Ý²É¼¯ÏµÍ³¡±¡£ÀûÓÃËü¿ÉÖ±½ÓÊäÈë8¸öµ¥¶ËµÄÄ£ÄâÐźŷÖʱ½øÐÐA/Dת»»£¬ÔÚ¶àµãѲ»Ø¼ì²âºÍ¹ý³Ì¿ØÖÆ¡¢Ô˶¯¿ØÖÆÖÐÓ¦ÓÃÊ®·Ö¹ã·º¡£
ÈçÏÂͼ£¨Í¼2.4£©Ëùʾ£¬ADC0809µÄ²Î¿¼µçѹÉèÖóÉ5V£¬Ê±ÖÓÐźÅͨ¹ýµ¥Æ¬»úP3.3¿ÚÀûÓö¨Ê±Æ÷ÖжÏÊä³ö¡£¹âÃôµç×èµÄ¶ÔµØµçѹ´ÓIN3¿ÚÊäÈ룬 ADC0809½«Æäת»»³ÉÊý×ÖÁ¿ºóͨ¹ýOUT1-7Êä³ö£¬ÒԱ㵥Ƭ»ú½øÒ»²½´¦Àí¡£
ͼ2.5
Èý¡¢Èí¼þÉè¼Æ
1¡¢×ÜÌå¿òͼ
ͼ3.1
2¡¢Ö÷Òª³ÌÐò
<1>°´¼üɨÃè
²»¶ÏɨÃè°´¼üÅжÏÊÇÊÖ¶¯¿ØÖƺÍ×Ô¶¯¿ØÖÆ¡£³ÌÐò´úÂ룺
void keyscan() { ad()¡£ if(key==1) { if(c<0.40) last=0¡£
//key4ËÉ¿ª£¬aºãΪ0 ,ͨ¹ý¶ÁcµÄֵȷ¶¨bµÄÖµ
}
else if((c>=0.40)&&(c<2.0)) last=2¡£ else if((c>=2.0)&&(c<3.0)) last=5¡£ else if((c>=3.0)&&(c<4.0)) last=7¡£ else last=10¡£ } if(key==0) //key4°´Ï£¬ ÊÖ¶¯¿ØÖÆ { if(key1==0) { delayms(10)¡£ //È¥¶¶ if(key1==0) last=1¡£ } if(key2==0) { delayms(10)¡£ if(key2==0) last=6¡£ } if(key3==0) { delayms(10)¡£ if(key3==0) last=10¡£ } }
<2>ADת»»
¶¨Ê±Æ÷1²úÉúCLKÐźţ¬¶¨Ê±Ê±¼äΪ2us,Ò༴CLKÖÜÆÚΪ0.4us¡£³ÌµØÖ·Îª011£¬ ¼´IN3¿ÚÊäÈë¡£ÀûÓù«Ê½getdata*1.0/255*VREV+¶ÔÊý×ÖÁ¿½øÐб仯¡£³ÌÐò´úÂëÈçÏ£º
void ad() { ST=0¡£//¹Ø±Õת»» OE=0¡£//¹Ø±ÕÊä³ö ST=1¡£//¿ªÆôת»» ST=0¡£//¹Ø±Õת»» P34=1¡£//Ñ¡ÔñͨµÀ0 P35=1¡£ P36=0¡£ while(EOC==0)¡£//ÅжÏÊÇ·ñת»»½áÊø:ÊÇÔòÖ´ÐÐÒÔÏÂÓï¾ä,·ñÔòµÈ´ý OE=1¡£//¿ªÆôÊý¾ÝÊä³öÔÊÐí getdata=P0¡£//½«Êý¾ÝÈ¡×ß,´æ·ÅÔÚ±äÁ¿getdataÖÐ
}
OE=0¡£//¹Ø±ÕÊä³ö
c=getdata*1.0/255*4.85¡£//µçѹֵת»»,5V×÷Ϊ²Î¿¼µçѹ,·Ö³É256
<3>PWMµ÷½Ú
¶¨Ê±Æ÷0¿ØÖÆPWMÖÜÆÚºÍÕ¼¿Õ±È¡£³ÌÐò´úÂëÈçÏ£º void into(void) interrupt 1 { TH0=(65536-500)/256¡£ TL0=(65536-500)%6¡£ count++¡£ if(count>CIRCLE) { count=1¡£ } if(count<=last) pwm=0¡£ //Õ¼¿Õ±È,ʹÓ÷´ÏàÆ÷ӦΪ1 else pwm=1¡£
ËÄ¡¢×ܽá
»ùÓÚC51µ¥Æ¬»úºÍPWMµ÷¹âµÄLED̨µÆÒÔSTC89C51×÷ΪÖ÷¿ØÐ¾Æ¬£¬ÉèÖÃÁËÊÖ¶¯¿ØÖƺÍ×Ô¶¯¿ØÖÆ¡£ÔÚÊÖ¶¯¿ØÖÆÊ±£¬·ÖΪÈýµµ£¬Êä³ö²»Í¬µÄPWMÕ¼¿Õ±ÈʵÏÖÁ˶Թâ¶ÈµÄÊÖ¶¯µ÷½Ú¡£ÔÚ×Ô¶¯¿ØÖÆÊ±£¬Í¨¹ýADC0809Ä£Äâ-Êý×Öת»»Ð¾Æ¬²»¶Ï¼ìÑé¹âÃôµç×èµÄµçѹÀ´¼ä½Ó²âÁ¿¸ÐÓ¦¹â¶È£¬½«µçѹºÍÔ¤ÉèµÄãÐÖµ½øÐжԱȣ¬µ÷ÕûPWMµÄÕ¼¿Õ±ÈʵÏÖÁ˶Թâ¶ÈµÄ×Ô¶¯µ÷½Ú¡£¸ÃLED̨µÆµç·¼òµ¥£¬ºÜ´ó³Ì¶ÈÉϽÚÊ¡µçÄÜ£¬ÑÓ³¤LEDµÆÊÙÃü£¬ÊÊÒËÔĶÁ¡£
ͬʱ£¬ÔÚ±¾´Î¿Î³ÌÉè¼ÆÖУ¬Ö÷ÒªÓÐÒÔÏÂÌå»á£º
1¡¢¶ÔLEDµÄÇý¶¯ÓнøÒ»²½µÄÁ˽⣬Ã÷°×ÁËÈçºÎ¶ÔLED½øÐй涨µçÁ÷Çý¶¯£¬²¢Í¨¹ýÊä³ö²»Í¬µÄÕ¼¿Õ±ÈÀ´µ÷½ÚLEDµÄÁÁ¶È£¬´Ó¶ø¶ÔLEDµÄºÄµç½øÐÐÏàÓ¦µÄ¹ÜÀí£»
2¡¢½øÒ»²½ÕÆÎÕÁËADת»»ÔÀíÒÔ¼°Ïà¹ØÐ¾Æ¬µÄÓ¦Óã¬Í¨¹ýADC0809¶ÔÍâ½çµÄÄ£ÄâÁ¿½øÐÐת»»¡£
3¡¢ÅàÑøÁË×Ô¼ºµÄÍŶÓÒâʶ£¬Äܹ»±È½ÏºÃµÄºÍ¶ÓÔ±¾Í¹¤³Ì½øÐм°Ê±µÄ¹µÍ¨£¬ÔÚ·Ö¹¤ºÍÕûºÏ·½Ãæ×öµÄ²»´í¡£
¸½Â¼1£º×÷Æ·ÕÕÆ¬
¹²·ÖÏí92ƪÏà¹ØÎĵµ