µ¥Æ¬»úÔ­Àí¼°Ó¦Óà - »ùÓÚProteusºÍKeil C ÏÂÔØ±¾ÎÄ

INC DPTR DJNZ R3,LOP

7. ÒÑÖªA=83H£¬R0=17H£¬(17H)=34H£¬Ð´³öÏÂÁгÌÐò¶ÎÖ´ÐÐÍêºóµÄAÖеÄÄÚÈÝ¡£

ORL A, #17H ANL 17H, A XRL A, @R0 CPL A

£¨A£©=11001011B=0CBH

8. ÒÑÖªµ¥Æ¬»úµÄfosc=6MHz£¬·Ö±ðÉè¼ÆÑÓʱ0.1s¡¢1s¡¢1minµÄ×Ó³ÌÐò¡£

ÕâÀïÈ¡µ¥Æ¬»ú³£Óõľ§ÕñƵÂÊΪ12MHz£¬Ò»¸ö»úÆ÷ÖÜÆÚΪ1¦Ìs¡£ £¨Èôfosc=6MHz£¬¶ÁÕ߿ɲο¼ÏÂÁгÌÐòÐ޸ģ©

ÑÓʱ1msµÄ×Ó³ÌÐò£º

DELAY: MOV R7, #0FFH LOOP: NOP NOP DJNZ R7, LOOP RET

Ö´ÐÐʱ¼ä£¨»úÆ÷ÖÜÆÚ£© 1 1 1 2 2

¸Ã³ÌÐò¶ÎµÄ×ܵÄÖ´ÐÐʱ¼äΪ£º

(1+4¡Á255+2)?s=1023¦Ìs¡Ö1ms

ÑÓʱʱ¼äΪ100msµÄ×Ó³ÌÐò£º

DELAY: LOP1: LOOP:

MOV R5,#64H ¶ÔÑÓʱ1msµÄ×Ó³ÌÐòÑ­»·100´Î¡£

MOV R7, #0FFH NOP NOP DJNZ R7, LOOP DJNZ R5,LOP1 RET

ÑÓʱʱ¼äΪ1sµÄ×Ó³ÌÐò£º

DELAY1: MOV R3, #0AH ¶ÔÑÓʱ100msµÄ×Ó³ÌÐòÑ­»·10´Î DELAY:

LOP1: LOOP:

MOV R5,#64H ¡£

MOV R7, #0FFH NOP NOP DJNZ R7, LOOP DJNZ R5,LOP1

DJNZ R3, DELAY RET

ÑÓʱʱ¼äΪ60sµÄ×Ó³ÌÐò£º ¶ÔÑÓʱ1sµÄ×Ó³ÌÐòÑ­»·60´Î 9. MCS-51»ã±àÓïÑÔÖÐÓÐÄÄЩ³£ÓõÄαָÁ¸÷Æðʲô×÷Óã¿ BIT£¨µØÖ··ûºÅÃüÁ

END£¨½áÊø»ã±à£© EQU£¨µÈÖµ£© DB£¨¶¨Òå×Ö½Ú£©

DW£¨¶¨Òå×Ö£©

DS£¨¶¨Òå´æ´¢µ¥Ôª£© ORG£¨»ã±àÆðʼµØÖ·£©

10. ±È½ÏÏÂÁи÷ÌâÖеÄÁ½ÌõÖ¸ÁîÊÇ·ñÏàͬ£¬Èô²»Í¬£¬ÇëÖ¸³öÆäÇø±ð£¿

¢Ù MOV A, R1; ¢Ú MOV A, P0;

LOOP; ¢Û LOOP: SJMP

MOV ACC, R1 Ö¸ÁÄÜÏàͬ£¬Ñ°Ö··½Ê½±íʾ²»Í¬

MOV A, 80H Ö¸ÁÄÜÏàͬ£¬Ñ°Ö··½Ê½±íʾ²»Í¬ SJMP $ Ö¸ÁÄÜÏàͬ

11. ÏÂÁгÌÐò¶Î»ã±àºó£¬´Ó3000H¿ªÊ¼¸÷Óйش洢µ¥ÔªµÄÄÚÈÝÊÇʲô£¿

ORG 3000H

TAB1 EQU 1234H TAB2 EQU 5678H DB 65,13,\ DW TAB1,TAB2,9ABCH ORG TAB1: TAB2:

3000H

EQU EQU DB DW

1234H 5678H

65,13,\

TAB1,TAB2,9ABCH

3000H: 65 3001H: 13 3002H: ?A? 3003H: 34H 3004H: 12H 3005H: 78H 3006H: 56H 3007H: BCH 3008H: 9AH

12. ΪÁËÌá¸ß»ã±àÓïÑÔ³ÌÐòµÄ¿É¶ÁÐԺͱàÒëЧÂÊ£¬ÔÚ±àдʱӦעÒâÄÄЩÎÊÌ⣿ (1) °ÑÒª½â¾öµÄÎÊÌ⻯³ÉÒ»¸ö¸ö¾ßÓÐÒ»¶¨¶ÀÁ¢ÐԵŦÄÜÄ£¿é£¬¸÷Ä£¿é¾¡Á¿²ÉÓÃ×Ó³ÌÐòÍê³ÉÆä¹¦ÄÜ¡£

(2) Á¦ÇóÉÙÓÃÎÞÌõ¼þ×ªÒÆÖ¸Á¾¡Á¿²ÉÓÃÑ­»·½á¹¹¡£

(3) ¶ÔÖ÷ÒªµÄ³ÌÐò¶ÎҪϹ¦·ò¾«ÐÄÉè¼Æ£¬ÕâÑù»áÊÕµ½Ê°빦±¶µÄЧ¹û¡£ (4) ÄÜÓÃ8λÊý¾Ý½â¾öÎÊÌâµÄ¾Í²»ÒªÊ¹ÓÃ16λÊý¾Ý¡£ (5) ÀÛ¼ÓÆ÷ÊÇÐÅÏ¢´«µÝµÄÊàŦ£¬ÔÚµ÷ÓÃ×Ó³ÌÐòʱӦͨ¹ýÀÛ¼ÓÆ÷´«ËÍ×Ó³ÌÐòµÄ²ÎÊý£¬Í¨¹ýÀÛ¼ÓÆ÷ÏòÖ÷³ÌÐò´«ËÍ·µ»Ø²ÎÊý¡£ËùÒÔ£¬ÔÚ×Ó³ÌÐòÖÐÒ»°ã²»°ÑÀÛ¼ÓÆ÷ÍÆÈë¶ÑÕ»¡£ÈôÐè±£»¤ÀÛ¼ÓÆ÷µÄÄÚÈÝʱ£¬Ó¦ÏȰÑÀÛ¼ÓÆ÷µÄÄÚÈÝ´æÈëÆäËû¼Ä´æÆ÷µ¥Ôª£¬È»ºóÔÙµ÷ÓÃ×Ó³ÌÐò¡£

£¨6£©ÎªÁ˱£Ö¤³ÌÐòÔËÐеݲȫ¿É¿¿£¬Ó¦¿¼ÂÇʹÓÃÈí¼þ¿¹¸ÉÈż¼Êõ£¬ÈçÊý×ÖÂ˲¨¼¼Êõ¡¢Ö¸ÁîÈßÓ༼Êõ¡¢Èí¼þÏݾ®¼¼Êõ£¬Óûã±àÓïÑÔ³ÌÐòʵÏÖÕâЩ¼¼Êõ£¬²»ÐèÒªÔö¼ÓÓ²¼þ³É±¾£¬¿É¿¿ÐԸߣ¬Îȶ¨ÐԺ㬷½±ãÁé»î¡£

13. ÓÐÒ»ÊäÈëÉ豸£¬Æä¶Ë¿ÚµØÖ·Îª20H£¬ÒªÇóÔÚ1ÃëÖÓʱ¼äÄÚÁ¬Ðø²ÉÑù10´Î¶ÁÈ¡¸Ã¶Ë¿ÚÊý¾Ý£¬ÇóÆäËãÊõƽ¾ùÖµ£¬½á¹û´æ·ÅÔÚÄÚ²¿RAMÇø20Hµ¥Ôª¡£

MOV R0,#20H MOV R2,#0 MOV A,#0 MOV R4,#0 LOP : MOV R3,#0AH

IN : ACALL DELAY

MOVX A, @R0 MOV R2 , A MOV A, R4 ADD A, R2 MOV R4, A DJNZ R3, IN MOV B,#0AH DIV AB MOV 20H,A

AJMP LOP

DELAY: MOV R5,#64H ÑÓʱʱ¼äΪ0.1sµÄ×Ó³ÌÐò£º

LOP1: MOV R7, #0FFH LOOP: NOP NOP DJNZ R7, LOOP

DJNZ R5,LOP1

RET END

14. ÏÖÐè¶ÔÍⲿij2¸öÐźŽøÐÐÒì»ò²Ù×÷£¬ÇëʹÓõ¥Æ¬»úÍê³ÉÆäÒªÇó¡£ MOV DPTR,#2000H MOVX A,@DPTR MOV 20H, A INC DPTR

MOVX A, @DPTR XRL A,20H

15. ¼òµ¥ËµÃ÷Á½Ìõ²é±íÖ¸ÁîʹÓÃÉϵÄÇø±ð¡£ ²é±íÊdzÌÐòÉè¼ÆÖÐʹÓõĻù±¾·½·¨¡£Ö»ÒªÊʵ±µØ×éÖ¯±í¸ñ£¬¾Í¿ÉÒÔÊ®·Ö·½±ãµØÀûÓñí¸ñ½øÐжàÖÖ´úÂëת»»ºÍËãÊõÔËËãµÈ¡£

MOVC A,@A+PCÓëMOVC A, @A+DPTRÁ½ÌõÖ¸ÁîµÄÇø±ð£º ǰÕß²é±íµÄ·¶Î§Óë´æ·Å¸ÃÖ¸ÁîµÄµØÖ·Óйأ¬ÓÉÓÚPCµÄÖµÒѾ­È·¶¨¼°8λÀÛ¼ÓÆ÷AµÄÏÞÖÆ£¬Êý¾Ý±í¸ñÖ»ÄÜ´æ·ÅÔÚ¸ÃÖ¸ÁîºóÃæµÄ256¸ö×Ö½Úµ¥ÔªÖ®ÄÚ¡£¶øºóÕß²é±í·¶Î§Í¨¹ý¸Ä±äDPTRµÄÖµ¿É´ïÕû¸ö³ÌÐò´æ´¢Æ÷64KBµÄÈκεØÖ·¿Õ¼ä£¨¼´DPTRµÄֵΪ±í¸ñµÄÊ×µØÖ·£©£¬ÆäÊý¾Ý±í¸ñ¿ÉÒÔΪ¸÷¸ö³ÌÐòÄ£¿é¹²Ïí¡£

½«Òª²é±íµÄÊý¾Ý×Ö×÷ÎªÆ«ÒÆÁ¿ËÍÀÛ¼ÓÆ÷AÖУ¬Í¨¹ý¸Ä±ä±äÖ·¼Ä´æÆ÷AµÄÄÚÈݼ´¿É¸Ä±ä±í¸ñÖеÄλÖã¬Ö´ÐиÃÖ¸Áî¼´¿É»ñµÃËùÐèµÄÄÚÈÝ£¨¼´½«¸ÃλÖõ¥ÔªµÄÄÚÈÝ´«Ë͸øA£©¡£Òò´Ë£¬¿ÉÒÔ¸ù¾ÝÐèÒªÉè¼Æ±í¸ñµÄÄÚÈÝ£¬½«AµÄÄÚÈÝʵÏÖ»»Âë¡£

µÚ4ÕÂ

1. C51À©Õ¹ÁËÄÄЩÊý¾ÝÀàÐÍ?

sbit sfr sfr16 bit

2. ¼òÊöC51´æ´¢Æ÷ÀàÐ͹ؼü×ÖÓë8051´æ´¢¿Õ¼äµÄ¶ÔÓ¦¹ØÏµ¡£ ³ÌÐò´æ´¢Æ÷(code)

ÄÚ²¿Êý¾Ý´æ´¢Æ÷£º

data ÄÚ²¿RAMÖ±½ÓѰַ128B£¨0x00¡«0x7F£© idata ÄÚ²¿RAM¼ä½ÓѰַ256B£¨0x00¡«0xFF£©

bdata ÄÚ²¿RAM 16B£¨0x20¡«0x2F£©µÄ128λ½øÐÐλѰַ ÍⲿÊý¾Ý´æ´¢Æ÷£º

xdata Íⲿ´æ´¢Æ÷64KBµÄÈκε¥Ôª pdata ·ÃÎÊÍⲿ´æ´¢Æ÷£¨Ò»Ò³£©µÍ256B

3. ÔÚ¶¨Òåint a=1,b=1ºó£¬·Ö±ðÖ¸³ö±í´ïʽb=a¡¢b=a++ºÍb=++aÖ´Ðкó±äÁ¿aºÍbµÄÖµ¡£

b=a;

b=a++; a=2 b=1 b=++a; a=2 b=2

4. ÓÃC51±à³ÌʵÏÖµ±P1.0ÊäÈëΪ¸ßµçƽʱ£¬P1.2Êä³ö¿ØÖÆÐźŵƵãÁÁ¡£

#include sbit key1=P1^0; sbit led=P1^2; void main() { bit a;

for( ; ; ) {key1=1; a=key1;

if(a) led=1; else led=0; } while(1); }

5. ʹÓÃÑ¡Ôñ½á¹¹±àд³ÌÐò£¬µ±ÊäÈëµÄÊý×ÖΪ¡°1¡±¡¢¡°2¡±¡¢¡°3¡±¡¢¡°4¡±Ê±£¬Êä³öÏÔʾ¡°A¡±¡¢¡°B¡±¡¢¡°C¡±¡¢¡°D¡±£¬µ±ÊäÈëÊý×Ö¡°0¡±Ê±£¬³ÌÐò½áÊø¡£

#include void main( ) { char ch;

SCON=0x52; /*¶Ô´®¿ÚʵÏÖ³õʼ»¯£¬ÒÔ±ãµ÷ÊÔʱµ÷ÓÃscanf()ºÍprintf()*/ TMOD=0x20; /*ÔÚkeil c´®Ðд°¿Ú#0ÖÐÊäÈë»òÏÔʾÊý¾Ý*/

TH1=0Xf3; /*Èô²»Ê¹ÓÃscanf()ºÍprintf()º¯Êý£¬Ôò³ÌÐòÖв»ÐèÒªÀ¶É«Óï¾ä*/

TR1=1;

printf(\ÇëÊäÈ룺\ while(1)

{ scanf(\ switch(ch) {

case ?1? : printf(\ case ?2? : printf(\

case ?3? : printf(\