¡¶µ¥Æ¬Î¢ÐͼÆËã»úÓë½Ó¿Ú¼¼Êõ¡·Ë¼¿¼ÌâÓëϰÌâ½â´ð01

b=tab[j]£» EX0=1;}

void delay(void){ int x;

for(x=0£»x<1000£»x++)£» }

µÚ7Õ ¶¨Ê±¼ÆÊýÆ÷

7.1 8XX51µ¥Æ¬»úÄÚ²¿ÉèÓм¸¸ö¶¨Ê±£¯¼ÆÊýÆ÷?ËüÃÇÊÇÄÏÄÄЩרÓüĴæÆ÷×é³ÉµÄ? 7.2 8XX51µ¥Æ¬»úµÄ¶¨Ê±£¯¼ÆÊýÆ÷ÓÐÄļ¸ÖÖ¹¤×÷·½Ê½?¸÷ÓÐÊ²Ã´ÌØµã?

7.3 ¶¨Ê±£¯¼ÆÊýÆ÷ÓÃ×ö¶¨Ê±Ê±£¬Æä¶¨Ê±Ê±¼äÓëÄÄЩÒòËØÓйØ?ÓÃ×ö¼ÆÊýʱ£¬¶ÔÍâ½ç¼ÆÊýƵÂÊÓкÎÏÞÖÆ? 7.1¡«7.3²Î7.1½Ú

7.4 É赥Ƭ»úµÄfosc=6MHz£¬¶¨Ê±Æ÷´¦ÓÚ²»Í¬¹¤×÷·½Ê½Ê±£¬×î´ó¶¨Ê±·¶Î§·Ö±ðÊǶàÉÙ? 7.4 ·½Ê½0£º16£®38ms£¬·½Ê½1£º131ms£¬·½Ê½2£º512us

7.5 ÀûÓÃ8XX51µÄT0¼ÆÊý£¬Ã¿¼Æ10¸öÂö³å£¬P1.0±ä·´Ò»´Î£¬ÓòéѯºÍÖжÏÁ½ÖÖ·½Ê½±à³Ì¡£

7.5 ʹÓ÷½Ê½2£¬¼ÆÊý³õÖµc=100H¡ªOAH=F6H ²éѯ·½Ê½£º 0RG 0000H MOV TMOD£¬#06H MOV THO£¬#0F6H MOV TL0£¬#0F6H SETB TR0

ABC£ºJNB TF0£¬$ CLR TF0 CPL P1.0 SJMP ABC ÖжϷ½Ê½£º ORG 0000H AJMP MAIN ORG OOOOBH CPL P1.0 RETI

MAIN£ºMOV TMOD£¬#06H MOV TH0£¬#OF6H SETB EA SETB ET0 SETB TR0

SJMP $ £»µÈ´ýÖÐ¶Ï CÓïÑÔ³ÌÐò²éѯ·½Ê½£º #include sbit p10=P1^O£» main(){

25

TMOD=Ox06£»THO=-10£»TLO=-10£» TRO=1£º{ while(1)

dO{}while(TF0==0) TF0=0£»p10=¡«p10£» }}

ÖжϷ½Ê½£º#include sbit p1_O=P1^O£» tov()interrrupt 1 {p1_O=¡«p1_O£» } maln(){

EA=1£»ET0=1£»TMOD=0x06£» TH0=0xf6£»TL0=0xf6£»TR0=1£» while(1)£»}/*µÈ´ýÖжÏ*/

7.6 ÔÚP1.0Òý½Å½ÓÒ»Çý¶¯·Å´óµç·Çý¶¯ÑïÉùÆ÷£¬ÀûÓÃT1²úÉúlOOOHzµÄÒôƵÐźŴÓÑïÉùÆ÷Êä³ö¡£ 7£®6 1000HzµÄÖÜÆÚΪ1ms£¬¼´ÒªÇóÿ500us P1.0±ä·´Ò»´Î£¬Ê¹ÓÃT1·½Ê½1£¬MC=12/fosc=1us£¬C=216-500us/1us=FE0CH£¬³ýTMOD=10H£¬TH0=FEH£¬Tl0=0CHÍ⣬³ÌÐòÓë7.5ÌâÏàͬ£¬×¢Òâÿ´ÎÒªÖØÖÃTH0ºÍTL0¡£

7.7 ÒÑÖª8XX51µ¥Æ¬»úϵͳʱÖÓÆµÂÊΪ6MHz£¬ÀûÓö¨Ê±Æ÷T0ʹP1.2ÿ¸ô350us£¬Êä³öÒ»¸ö50usÂö¿íµÄÕýÂö³å¡£

7.7 fosc=6MHz£¬MC=2us£¬·½Ê½2µÄ×î´ó¶¨Ê±Îª512us£¬ºÏºõÌâÄ¿µÄÒªÇó¡£50usʱ£¬¼ÆÊý³õֵΪC1=256-25=E7H£¬350usʱ£¬¼ÆÊý³õֵΪC2=256-175=51H »ã±àÓïÑÔ³ÌÐò ORG 0000H MOV TMOD£¬#02H

NEXT£ºMOV TH0£¬#51H MOV TL0,#51H CLR P1.2 SETB TR0

AB1£ºJBC TF0£¬EXT

SJMP AB1 EXT£ºSETB P1.2 MOV TH0£¬#0E7H

MOV TL0£¬#0E7H AB2£ºJBC TF0£¬NEXT SJMP AB2 CÓïÑÔ³ÌÐò

#include

void timet(unsigned char t)£» sbit p1_2=P1^2 main(){for(£»£»)

p1_2=O£»timer(7)£» p1_2=1£»timer(1)£» }

26

void timer(unslgned char t) {unsigned char i£»

for(i=0£»i

TH0=-25/256£»TL0=-25%6; TR0=1£º While(TF0!=1)£» TR0=0£º }}

ÉÏÊöµÄ¼ÆÊý³õֵûÓп¼ÂÇÖ¸ÁîµÄÖ´ÐÐʱ¼ä¡£Òò´ËÎó²î½Ï´ó£¬²éÿÌõÖ¸ÁîµÄ»úÆ÷ÖÜÆÚ£¬¿Û³ýÕâЩʱ¼ä£®ËãµÃ C¡ªE3H£¬ÕâÑùÎó²î½ÏС¡£

7.8 ÔÚ8XX51µ¥Æ¬»úÖУ¬ÒÑ֪ʱÖÓÆµÂÊΪ12MHz£¬±à³ÌʹP1.0ºÍP1.1·Ö±ðÊä³öÖÜÆÚΪ2msºÍ50usµÄ·½²¨¡£

7.8 P1.0Êä³ö2msÂö³å£¬P1.1Êä³ö50usÂö³å¡£ »ã±àÓïÑÔ³ÌÐò ORG 0000H MOV TMOD£¬#02H MOV TH0£¬#06H MOV TL0£¬#06H SETB TR0

MOV R0£¬#04H NE£º JNB TF0£¬$ CLR TF0 CPL P1.1 DJNZ R0£¬NE CPL P1.O AJMP NE CÓïÑÔ³ÌÐò

#include sbit p11=P1^l£» sbit p10=P1^0£» main(){ char i;

TMOD=0x02£»TH0=06£»TL0=06£ºTR0=1; while(1){

for(i=0;i<4£ºi++){ do{}while(!TF0)£» P11=¡«P11£º }

P10=¡«P10£º }}

7.9 ÉèϵͳʱÖÓÆµÂÊΪ6MHz£¬ÊÔÓö¨Ê±Æ÷T0¡£×÷ΪÍⲿ¼ÆÊýÆ÷£¬±à³ÌʵÏÖÿ¼Æµ½1000¸öÂö³åºó£¬Ê¹T1¶¨Ê±2ms£¬È»ºóT0ÓÖ¿ªÊ¼¼ÆÊý£¬ÕâÑù·´¸´Ñ­»·¡£ 7.9 CÓïÑÔ³ÌÐò

T0¼ÆÊý1000¸öÂö³å£¬²ÉÓ÷½Ê½1£»T1¶¨Ê±2ms£¬fosc=6MHz£¬C=-2ms/2us=-1000

27

include

counter(){ TH0=-1000/256£» TLO=-1000%6£» TR0=1£»TR1=0; while(TF0!=1)£» TF0=0; }

timer(){

TH1=-1000/256£»TL1=-1000%6£»TR1=1£»TR0=0; while(TF1!=0)£» TF1=0; }

main() TMOD=0x15; for(;;){ counter()£º timer()£º

7.10 ÀûÓÃ8XX51µ¥Æ¬»ú¶¨Ê±Æ÷T0²âÁ¿Ä³Õýµ¥Âö³å¿í¶È£¬ÒÑÖª´ËÂö³å¿í¶ÈСÓÚ10ms£¬Ö÷»úƵÂÊΪ12MHz¡£±à³Ì²âÁ¿Âö¿í£¬²¢°Ñ½á¹ûת»»ÎªBCDÂ룬˳Ðò´æ·ÅÔÚÒÔÆ¬ÄÚ50Hµ¥ÔªÎªÊ×µØÖ·µÄÄÚ´æµ¥ÔªÖÐ(50Hµ¥Ôª´æ¸öλ)¡£ 7.10 CÓïÑÔ³ÌÐò

#lnclue sbit p3_2=P3^2£» main(){

unsingcd char *P,i£» int a;

P=0x50;

TMOD=0x09; TL0=0;TH0=0;

while(P3_2==1)£»/*µÈ´ýINT0±äµÍ*/ TR0=1;

while(P3_2==0)£»/*µÈ´ý-INT0±ä¸ß*/ while(P3_2==1)£»/*µÈ´ý-INT0±äµÍ*/

TR0=0; i=TH0;

a=i*256+TL0; for(£»a!=O£»)

{ /*ת»»Îª·ÇѹËõIR7DÂë*/

*P=a; a=a/10;

P++; } }

µÚ8Õ ´®ÐпÚ

28

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