CÓïÑÔ100Ìâ ÏÂÔØ±¾ÎÄ

µÚÈýÕÂϰÌâÓë˼¿¼Ìâ

1£®89c2051µ¥Æ¬»úÄÜÌṩ¼¸¸öÖжÏÔ´¡¢¼¸¸öÖжÏÓÅÏȼ¶£¿¸÷¸öÖжÏÔ´µÄÓÅÏȼ¶ÔõÑùÈ·¶¨£¿ÔÚͬһÓÅÏȼ¶ÖУ¬¸÷¸öÖжÏÔ´µÄÓÅÏÈ˳ÐòÔõÑùÈ·¶¨£¿ÊÔͨ¹ýÐÞ¸ÄIP¼Ä´æÆ÷£¬Ê¹´®ÐпÚÖжÏÓÅÏȼ¶×î¸ß£¬¶¨Ê±Æ÷T1µÄÖжÏÓÅÏȼ¶×îµÍ£¬ÆäÓàÖжÏÓÅÏÈ˳Ðò²»±ä¡£

2£®89c2051µ¥Æ¬»úÍⲿÖжÏÔ´Óиºµçƽ´¥·¢ºÍϱßÑØ´¥·¢Á½ÖÖ´¥·¢·½Ê½£¬ÕâÁ½ÖÖ´¥·¢·½Ê½Ëù²úÉúµÄÖжϹý³ÌÓкβ»Í¬£¿ÔõÑùÉ趨£¿

3£®ÔÚÒ»¸öÓ¦ÓÃϵͳÖУ¬Ê±ÖÓÆµÂÊΪ12MHz£¬Ò»¸öÍⲿÖжÏÇëÇóÐźŵĿí¶ÈΪ300nsµÄ¸ºÂö³å£¬Ó¦¸Ã²ÉÑùÄÄÖÖ´¥·¢·½Ê½£¿ÈçºÎʵÏÖ£¿

4£®89c2051µ¥Æ¬»úÏìÓ¦ÖжÏÇëÇóºó£¬ÄÄЩÖжÏÇëÇó±ê־λ²»ÄÜ×Ô¶¯Çå³ý£¿CPUÔÚʲôʱºò²éѯÖжÏÇëÇó±ê־λ£¿Âú×ãʲôÌõ¼þ²ÅÏìÓ¦£¿

5£®Èç¹ûijһÖжϷþÎñ³ÌÐòÖÐûÓиÄд¹¤×÷¼Ä´æÆ÷R0¡«R7µÄÖ¸ÁÔò½øÈëÖжϷþÎñ³Ìºó£¬ÊÇ·ñÐèÒªÇл»¹¤×÷¼Ä´æÆ÷Çø£¿¼òÊöÔ­Òò¡£

6£®ÓÃ89c2051µÄP1¿Ú½Ó8¸öLED·¢¹â¶þ¼«¹Ü£¬ÓÉINT0½ÓÒ»Ïû¶¶¿ª¹Ø£¬¿ªÊ¼P1.0µÄLEDÁÁ£¬ÒÔºóÿÖжÏÒ»´Î£¬ÏÂÒ»¸öLEDÁÁ£¬Ë³ÐòÏÂÒÆ£¬ÇÒÿ´ÎÖ»ÓÐÒ»¸öLEDÁÁ£¬Öܶø¸´Ê¼£¬»­³öµç·²¢±àд³ÌÐò¡£

7£®ÔÚÉÏÌâµç·µÄ»ù´¡ÉÏ£¬ÒªÇó8¸öLEDͬʱÁÁ»òͬʱÃð£¬Ã¿ÖжÏÒ»´Î£¬±ä·´Ò»´Î£¬±àд³ÌÐò¡£

ϰÌâ½â´ð

1£®´ð£ºÓÐ5¸öÖжÏÔ´£¬2¸öÖжÏÓÅÏȼ¶¡£

ÔÚͬһÓÅÏȼ¶ÖУ¬¸÷¸öÖжÏÔ´µÄÓÅÏÈ˳Ðò£ºÍⲿÖжÏ0 ¶¨Ê±Æ÷/¼ÆÊýÆ÷T0Òç³öÖÐ¶Ï ²¿ÖжÏ1 ¶¨Ê±Æ÷/¼ÆÊýÆ÷T1Òç³öÖÐ¶Ï ´®ÐпÚÖжÏ

ÖжÏÔ´ ÍⲿÖжÏ0 ¶¨Ê±Æ÷/¼ÆÊýÆ÷T0Òç³öÖÐ¶Ï ÍⲿÖжÏ1 ¶¨Ê±Æ÷/¼ÆÊýÆ÷T1Òç³öÖÐ¶Ï ´®ÐпÚÖÐ¶Ï ×îµÍ IP=0x10;

2£®´ð£º¶Ô±ßÑØ´¥·¢µÄÍⲿÖжϣ¬CPUÏìÓ¦ÖжϺó£¬Ó²¼þ»á×Ô¶¯Çå³ýÖжÏÇëÇó±êÖ¾IE0ºÍIE1

¶Ô¸ºµçƽ´¥·¢µÄÍⲿÖжϣ¬CPUÏìÓ¦ÖжϺó£¬Ó²¼þ²»»á×Ô¶¯Çå³ýÖжÏÇëÇó±êÖ¾IE0ºÍIE1£¬ÐèÒªÓÃÓ²¼þÏß·ºÍÈí¼þÏ໥ÅäºÏÀ´ÇåÁã¡£

IT0ºÍIT1Ϊ0ʱÍⲿÖжÏΪ¸ºµçƽ´¥·¢£¬IT0ºÍIT1Ϊ1ʱÍⲿÖжÏΪϱßÑØ´¥·¢¡£

1

Íâ

ͬһ¼¶µÄÖжÏÓÅÏȼ¶ ×î¸ß

3£®´ð£ºÓ¦²ÉÑù±ßÑØ´¥·¢·½Ê½£¬ÒòΪfosc=12M£¬Tm=1¦Ìs£¬ËùÒÔÍⲿÖжÏÇëÇóÐźſÉÖ±½ÓÖÁP3.2»òP3.3¼´¿É¡£

4£®´ð£º¶Ô¸ºµçƽ´¥·¢µÄÍⲿÖжϣ¬CPUÏìÓ¦ºóÓ²¼þ²»»á×Ô¶¯Çå³ýÖжÏÇëÇó±êÖ¾IE0ºÍIE1£¬

ÐèÒªÓÃÓ²¼þÏß·À´ÇåÁã¡£¶Ô´®ÐпÚÖжϣ¬CPUÏìÓ¦ºó£¬Öжϱê־λ²»»á×Ô¶¯Çå³ý£¬±ØÐëÓÃÈí¼þÇå³ý¡£

ÈôCPU¹Ø±ÕÖжϣ¬µ«ÍⲿʼþÓÖÓÐÖжÏÉêÇë»ò¶¨Ê±Ê±¼äµ½»ò´®Ðпڷ¢ËÍ/½ÓÊÜÍêÒ»Ö¡Êý¾Ý£¬Ôò²ÉÓòéѯÖжÏÇëÇó±ê־λµÄ·½Ê½À´±àд¿ØÖƳÌÐò¡£

ÔÚÖжÏÇëÇóºÍ³õʼ»¯ºó£¬CPUÏìÓ¦ÖжϵÄÌõ¼þ£º£¨1£©ÓÐÖжÏÇëÇóÐźš££¨2£©CPU¿ªÖжϡ££¨3£©Ã»Óи߼¶»òͬ¼¶ÖжϷþÎñ³ÌÐòÔÚÖ´ÐС££¨4£©µ±Ç°Ö´ÐÐÖ¸ÁîÍê±Ï»ò²»ÊÇÖ´ÐжÔIE¡¢IPµÄ²Ù×÷¡£

5£®´ð£º²»Óã¬ÒòΪÖ÷³ÌÐò¶ÔR0¡ªR7ÖÐËùдµÄÄÚÈÝÔÚÖжϷþÎñ³ÌÐòûÓб»¸Äд£¬Ò²¾ÍÊÇ˵£¬ÔÚÖжϷþÎñ³ÌÐòÖв»»áÓõ½R0¡ªR7£¬ËùÒÔ²»ÓÃÇл»¹¤×÷¼Ä´æÆ÷¡£

6£®´ð£ºµç·ͼÂÔ

#include¡±reg51.h¡± sbit P32=P3^2;

void int0(void) interrupt 0 using 1 {if(P1!=0x00) P1=P1<<1; Else

P1=0x01; }

main() {

P1=0x01; EA=1; EX0=1; IT0=1; while(1); }

7£®´ð£º#include¡±reg51.h¡±

sbit P32=P3^2;

void int0(void) interrupt 0 using 1 {

P1= ~P1; } main() {

P1=0xff; EA=1;

2

EX0=1; IT0=1; while(1);

}

µÚËÄÕÂϰÌâÓë˼¿¼Ìâ

1£®89c2051µ¥Æ¬»úµÄ¶¨Ê±/¼ÆÊýÆ÷×ö¶¨Ê±Æ÷ÓÃʱ£¬Æä¶¨Ê±Ê±¼äÓëÄÄЩÒòËØÓйأ¿×÷¼ÆÊýÆ÷ʱ£¬¶ÔÍâ½ç¼ÆÊýƵÂÊÓкÎÏÞÖÆ£¿¶¨Ê±Æ÷×÷¶¨Ê±ºÍ¼ÆÊýʱ£¬Æä¼ÆÊýÂö³å·Ö±ðÓÉË­Ìṩ?

2£®Èç¹û89c2051µ¥Æ¬»úµÄϵͳ¾§ÕñƵÂÊΪ12MHz£¬·Ö±ðÖ¸³ö¶¨Ê±/¼ÆÊýÆ÷·½Ê½1ºÍ·½Ê½2×¶¨Ê±Ê±¼ä¡£

3£®ÈôÒªÇó89c2051µ¥Æ¬»úµÄ¶¨Ê±/¼ÆÊýÆ÷µÄÔËÐпØÖÆÍêÈ«ÓÉTR1¡¢TR0È·¶¨ºÍÍêÈ«ÓÉP3.5¡¢P3.4Òý½ÅµÄ¿ØÖÆÊ±£¬Æä³õʼ»¯±à³ÌÓ¦×÷ºÎ´¦Àí£¿

4£®89c2051µ¥Æ¬»úµÄ¶¨Ê±/¼ÆÊýÆ÷T0ÒÑÔ¤ÖÆÎªFFFFH£¬²¢Ñ¡¶¨ÓÚ·½Ê½1µÄ¼ÆÊý·½Ê½£¬ÎÊ´Ëʱ¶¨Ê±/¼ÆÊýÆ÷T0ʵ¼ÊÓÃ;½«ÊÇʲô£¿

5£®ÓÉ89c2051µ¥Æ¬»úµÄP1¿Ú¿ØÖÆ8¸öָʾµÆ£¬ÀûÓö¨Ê±/¼ÆÊýÆ÷T0²úÉú¶¨Ê±Ê±ÖÓ¡£±àÒ»¸ö³ÌÐò,ʹ8¸öָʾµÆÒÀ´ÎµãÁÁ£¬µãÁÁƵÂÊΪ1Hz£¬µ±8¸öָʾµÆÈ«ÁÁºó£¬ÔòÈ«²¿Ï¨Ãð£¬ÒÀ´ÎÑ­»·¡£

6£®89c2051µ¥Æ¬»úϵͳ£¬Ê±ÖÓÆµÂÊΪ12MHz£¬¶¨Ê±/¼ÆÊýÆ÷T0ÓÃÓÚ20ms¶¨Ê±£¬¶¨Ê±/¼ÆÊýÆ÷T1ÓÃÓÚ100´Î¼ÆÊý£¬Á½Õß¾ùÒªÇóÖØ¸´¹¤×÷£¬ÊÔ±àд´ïµ½ÉÏÊöÒªÇóµÄ³ÌÐò¡£

7£®ÓÃp1.0Êä³ö1KHzºÍ500HzµÄÒôƵÐźÅÇý¶¯ÑïÉùÆ÷£¬×÷Ϊ±¨¾¯Ðźţ¬ÒªÇó1KHzÐźÅÏì100ms£¬500HzÐźÅÏì200ms£¬½»Ìæ½øÐУ¬P1.7½ÓÒ»¸ö½Ó½ü¿ª¹Ø½øÐпØÖÆ£¬µ±¿ª¹ØºÏÉÏÏ챨¾¯Ðźţ¬µ±¿ª¹Ø¶Ï¿ª±¨¾¯ÐźÅÍ£Ö¹£¬±à³ö³ÌÐò¡£

8£®ÊÔÓÃ89c2051µ¥Æ¬»úµÄ¶¨Ê±/¼ÆÊýÆ÷T1¶ÔÍⲿʼþ¼ÆÊý¡£ÒªÇóÿ¼ÆÊý100£¬¾Í½«T1¸Ä³É¶¨Ê±·½Ê½£¬¿ØÖÆP1.7Êä³öÒ»¸öÂö¿íΪ10msµÄÕýÂö³å£¬È»ºóÓÖתΪ¼ÆÊý·½Ê½£¬Èç´Ë·´¸´Ñ­»·¡£Éè¾§ÕñƵÂÊΪ24MHz¡£

ϰÌâ½â´ð

1£®´ð£º¶¨Ê±Ê±¼äÖ÷ÒªÓɼÆÊý³õÖµ¡¢»úÆ÷ÖÜÆÚ£¨¼´¾§ÕñƵÂÊ)È·¶¨¡£×÷Ϊ¼ÆÊýÆ÷ÓÃʱ£¬Íâ½çµÄ×î¸ß¼ÆÊýƵÂʲ»¸ßÓÚfosc/24¡£¶¨Ê±Æ÷×÷¶¨Ê±ÓÃʱ£¬Æä¼ÆÊýÂö³åÓɾ§ÕñƵÂʾ­12·ÖƵºóÌṩ£»¶¨Ê±Æ÷×÷¼ÆÊýÓÃʱ£¬Æä¼ÆÊýÂö³åÓÉÍⲿʼþ£¨Âö³å£©Ìṩ¡£

3

2£®´ð£º·½Ê½1µÄ×¶¨Ê±Ê±¼äΪ32768¦Ìs¡£

·½Ê½2µÄ×¶¨Ê±Ê±¼äΪ128¦Ìs¡£

3.´ð£ºµ±89c2051µ¥Æ¬»úµÄ¶¨Ê±/¼ÆÊýÆ÷µÄÔËÐпØÖÆÍêÈ«ÓÉTR1¡¢TR0¿ØÖÆÊ±£¬¶¨Ê±/¼ÆÊýÆ÷Ó¦¹¤×÷ÓÚ·ÇÃſط½Ê½£¬¼´ÉèÖÃTMODʱ£¬GATEλӦȡ0£»µ±89c2051µ¥Æ¬»úµÄ¶¨Ê±/¼ÆÊýÆ÷µÄÔËÐпØÖÆÍêÈ«ÓÉP3.5¡¢P3.4Òý½Å¿ØÖÆÊ±£¬¶¨Ê±/¼ÆÊýÆ÷Ó¦¹¤×÷ÓÚÃſط½Ê½£¬¼´ÉèÖÃTMODʱ£¬GATEλӦȡ1¡£

4.´ð£ºµ±¶¨Ê±/¼ÆÊýÆ÷¹¤×÷ÓÚ·½Ê½1¼ÆÊý·½Ê½Ê±£¬ÇÒ³õÖµÉèÖÃΪFFFFHʱ£¬ÔòÿÀ´Ò»¸öʼþ£¬¶¨Ê±/¼ÆÊýÆ÷½«²úÉúÒç³ö£¬ÏòCPUÉêÇëÖжϣ¬´Ëʱ¶¨Ê±/¼ÆÊýÆ÷T0ʵ¼ÊÓÃ;Ϊ¼à²âÍⲿʼþ¡£

5.´ð£ºÆµÂÊΪ1HZ£¬ÖÜÆÚΪ1S¡£ P1=0x01;

#include

F0=1;

unsigned char i;

while(F0); void timer(void) interrupt 1 using

1 P1=0x07;

{

F0=1;

i++;

while(F0); if(i==20)

P1=0x07; {

i=0;

FO=0; }

TH0=£¨65536-50000£©/256£» TL0=£¨65536-50000£©%6 }

Main() {

P1=0x01; TM0D=0x01; EA=1; ET0=1; TR0=1; F0=1;

TH0=£¨65536-50000£©/256£» TL0=£¨65536-50000£©%6 while(1) { P1=0x00; while(F0);

4

F0=1; while(F0); P1=0x0F; F0=1; while(F0); P1=0X1F; F0=1; while(F0); P1=0x3F; F0=1; while(F0); P1=0x7F; F0=1; while(F0); P1=0xff; F0=1; }