µ¥Æ¬»úÔ­Àí¼°Ó¦Óà - »ùÓÚProteusºÍKeil CÁÖÁ¢°æ¿ÎºóϰÌâ´ð°¸

MOV A,#0FFH ;ÏàµÈ£¬Ôò×¼±¸ºÃÒª¸³µÄ±êÖ¾Öµ0FFH SJMP DOWN ;ת´æµ½±£´æ½á¹û´¦ NEXT: INC R0 ;Ð޸ĵØÖ·Ö¸Õë

CJNE R0,#42H,CONT ;ÈôÖ¸ÕëδԽ¹ýÖյ㣬Ôò¼ÌÐø MOV A,#00H ;²éÕÒʧ°Ü£¬Ôò½«00H´æÈë½á¹û±êÖ¾µ¥Ôª DOWN: MOV 50H,A ;½«±È½Ï½á¹û±êÖ¾´æÈë50Hµ¥Ôª SJMP $ ;ÔÝÍ£ END ³ÌÐò2£º MOV R7,#16 ;¼ÆÊýÆ÷¸³³õÖµ£¬´Ó20Hµ½30H¹²16¸ö×Ö½Ú MOV R0,#32H ;ÉèµØÖ·Ö¸Õë³õÖµ

CONT: CJNE @R0,#0AAH,NEXT ;±È½Ï²éÕÒÖµÓëÖ¸ÕëËùÖ¸µ¥ÔªµÄÖµ£¬²»ÏàµÈ×ªÒÆ

MOV A,#0FFH ;ÏàµÈ£¬Ôò×¼±¸ºÃÒª¸³µÄ±êÖ¾Öµ0FFH SJMP DOWN ;ת´æµ½±£´æ½á¹û´¦ NEXT: INC R0 ;Ð޸ĵØÖ·Ö¸Õë

DJNZ R7,CONT ;¼ÆÊýÆ÷¼õ1£¬·Ç0£¬Ôò¼ÌÐø MOV A,#00H ;²éÕÒʧ°Ü£¬Ôò½«00H´æÈë½á¹û±êÖ¾µ¥Ôª DOWN: MOV 50H,A ;½«±È½Ï½á¹û±êÖ¾´æÈë50Hµ¥Ôª SJMP $ ;ÔÝÍ£ END

5£®²éÕÒ20H¡«4FHµ¥ÔªÖгöÏÖ00HµÄ´ÎÊý£¬²¢½«²éÕÒ½á¹û´æÈë50Hµ¥Ôª¡£ ½â£º´Ó20Hµ½4FH¹²48¸ö×Ö½Ú MOV R7,#48 ;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ

MOV R0,#20H ;ÉèµØÖ·Ö¸Õë³õÖµ

CONT: CJNE @R0,#00H,NEXT ;±È½Ï²éÕÒÖµÓëÖ¸ÕëËùÖ¸µ¥ÔªµÄÖµ£¬²»ÏàµÈ×ªÒÆ INC R6 ;ÏàµÈ£¬0µÄ¸öÊý¼ÆÊýÆ÷¼Ó1 NEXT: INC R0 ;Ð޸ĵØÖ·Ö¸Õë

DJNZ R7,CONT ;¼ÆÊýÆ÷¼õ1£¬·Ç0£¬Ôò¼ÌÐø MOV 50H,R6 ;±£´æOµÄ¸öÊý¼ÆÊýÖµµ½50Hµ¥Ôª SJMP $ ;ÔÝÍ£ END END

6£®ÒÑÖªA=83H£¬R0=17H£¬(17H)=34H£¬Ð´³öÏÂÁгÌÐò¶ÎÖ´ÐÐÖ®ºóµÄAÖеÄÄÚÈÝ¡£ ANL A,#17H ORL 17H,A XRL A,@R0 CPL A END ´ð£º

ANL A,#17H ;A=03H ORL 17H,A ;(17H)=0011 0100 ¡Å 0000 0011=0011 0111 XRL A,@R0 ;A= 0000 0011 ¡Å 0011 0111 =0011 0100 CPL A ;A=1100 1011

7£®ÒÑÖªµ¥Æ¬»úµÄ¾§ÕñƵÂÊΪ12MHz£¬·Ö±ðÉè¼ÆÑÓʱΪ0.1s¡¢1sµÄ×Ó³ÌÐò¡£ ´ð£ºÒÑÖªµ¥Æ¬»úµÄ¾§ÕñƵÂÊΪ12MHz£¬Ôò»úÆ÷ÖÜÆÚΪ1us£¬ÑÓʱ×Ó³ÌÐòÊÇͨ¹ýÖ´ÐÐÖ¸ÁîÐòÁÐÖлúÆ÷ÖÜÆÚÊýÀ´´ïµ½£¬Èç¹ûÒª0.1s£¬¼´100ms£¬Ò²¾ÍÊÇ100000us£¬ËùÒÔÐèÒª»úÆ÷ÖÜÆÚÊý´ïµ½100000¡£ÒªÑÓʱ´ïµ½1S£¬¿Éͨ¹ý¶ÔÑÓʱΪ0.1ÃëµÄ×Ó³ÌÐòµ÷ÓÃ10´ÎÀ´ÊµÏÖ¡£ DELAY100MS: MOV R6,#200 ;1¸ö»úÆ÷ÖÜÆÚ D1: MOV R7,#250 ;1¸ö»úÆ÷ÖÜÆÚ D2: NOP ;1¸ö»úÆ÷ÖÜÆÚ DJNZ R7,D2 ;2¸ö»úÆ÷ÖÜÆÚ£¬3*251=753 DJNZ R6,D1 ;2¸ö»úÆ÷ÖÜÆÚ£¬(1+753+2)*132=99792 RET ;2¸ö»úÆ÷ÖÜÆÚ£¬1+99792+2=99795,Ô¼100ms

DELAY1S: MOV R7,#10 ;¼ÆÊý10´Î 1 LOOP: ACALL DELAY100MS ;ÑÓʱ100ms×Ó³ÌÐò 99795+2

DJNZ R7,LOOP ;δ´ïµ½10´ÎÔò¼ÌÐø 10*(2+99795+2) RET ;·µ»Ø2+10*(2+99795+2)=997992

8£®ÄÚ²¿RAM´Ó20Hµ¥Ôª¿ªÊ¼´¦ÓÐÒ»Êý¾Ý¿é£¬ÒÔODHΪ½áÊø±êÖ¾£¬ÊÔͳ¼Æ¸ÃÊý¾Ý¿éµÄ³¤¶È£¬½«¸ÃÊý¾Ý¿éË͵½ÍⲿÊý¾Ý´æ´¢Æ÷7E01H¿ªÊ¼µÄµ¥Ôª£¬²¢½«³¤¶È´æÈë7E00Hµ¥Ôª¡£

½â£º´Ó20HµÄÖ¸ÕëÓÃR0£¬´ÓÍⲿRAM7E01¿ªÊ¼µÄÖ¸ÕëÓÃDPTR£¬¼ÆÊýÆ÷ÓÃR7 MOV R7,#0 ;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ MOV R0,#20H ;ÉèÆ¬ÄÚRAMµØÖ·Ö¸Õë³õÖµ MOV DPTR,#7E01H ;ÉèÆ¬ÍâRAMµØÖ·Ö¸Õë³õÖµ CONT: MOV A,@R0 ;ȡƬÄÚRAMÖеÄÒ»¸ö×Ö½Ú MOVX @DPTR,A ;´æÈëÆ¬ÍâRAMÖ¸ÕëËùÖ¸µ¥Ôª INC R7 ;³¤¶È¼ÆÊýÆ÷¼Ó1 INC R0 ;ƬÄÚRAMµØÖ·Ö¸Õë¼Ó1 INC DPTR ;ƬÍâRAMµØÖ·Ö¸Õë¼Ó1 CJNE A,#0DH,CONT ;δ´ïµ½½áÊø±êÖ¾ MOV A,R7 ;È¡¿é¼ÆÊý³¤¶ÈÖµ MOVX @DPTR,A ;±£´æ SJMP $ ;ÔÝÍ£ END

9£®ÄÚ²¿RAM´ÓDATA¿ªÊ¼µÄÇøÓòÖдæ·Å×Å10¸öµ¥×Ö½ÚÊ®½øÖÆÊý£¬ÇóÆäÀۼӺͣ¬²¢½«½á¹û´æÈëSUMºÍSUM+1µ¥Ôª¡£

½â£ºR7¼ÆÊý£¬R6±£´æÀۼӺ͸ß8룬R0ÓÃ×÷µØÖ·Ö¸Õë ORG 0000H LJMP MAIN ORG 100H SUM EQU 30H DATAA EQU 40H MAIN: MOV R7,#10 ;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ MOV R0,#DATAA ;ÉèÆ¬ÄÚRAMµØÖ·Ö¸Õë³õÖµ CLR A ;ÀÛ¼ÓÆ÷Çå0

MOV R6,A ;ÀÛ¼Ó½á¹ûµÄ¸ß8λ CONT: ADD A,@R0 ;¼ÓRAMÖеÄÒ»¸ö×Ö½Úµ½ACC DA A JNC NEXT ;ÈôÎÞ½øÎ»Ôò²»Óùܸß8λ INC R6 ;ÓнøÎ»£¬¸ß8λ¼Ó1 NEXT: INC R0 ;ƬÄÚRAMµØÖ·Ö¸Õë¼Ó1 DJNZ R7,CONT ;δÍê¼ÌÐø MOV SUM,A ;±£´æµÍ8λ MOV SUM+1,R6 ;±£´æ¸ß8λ SJMP $ ;ÔÝÍ£ END 10£®ÄÚ²¿RAM´ÓDATA1ºÍDATA2µ¥Ôª¿ªÊ¼´¦´æ·Å×ÅÁ½¸öµÈ³¤µÄÊý¾Ý¿é£¬Êý¾Ý¿éµÄ³¤¶ÈÔÚLENµ¥ÔªÖС£Çë±à³Ì¼ì²éÕâÁ½¸öÊý¾Ý¿éÊÇ·ñÏàµÈ£¬ÈôÏàµÈ£¬½«0FFHдÈëRESULTµ¥Ôª£¬·ñÔò½«0дÈëRESULTµ¥Ôª¡£

½â£º´ÓDATA1¿ªÊ¼µÄÖ¸ÕëÓÃR0£¬´ÓDATA2¿ªÊ¼µÄÖ¸ÕëÓÃR1£¬¼ÆÊýÆ÷ÓÃR7 LEN EQU 10 DATA1 EQU 30H DATA2 EQU 40H RESULT EQU 50H MOV R7,#LEN ;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ MOV R0,#DATA1 ;ÉèÆ¬ÄÚRAMµØÖ·Ö¸Õë³õÖµ MOV R1,#DATA2 ;ÉèÆ¬ÍâRAMµØÖ·Ö¸Õë³õÖµ CONT: MOV A,@R0 ;ȡƬÄÚRAM R0ËùÖ¸µÄµÄÒ»¸ö×Ö½Ú MOV 7FH,@R1 ;½«R1ËùÖ¸µ¥ÔªÄÚÈÝÈ¡µ½Æ¬ÄÚRAMµØÖ·7FHÖÐ CJNE A,7FH,NOEQ ;±È½Ï£¬²»ÏàµÈÔò½áÊø INC R0 ;DATA1 RAMµØÖ·Ö¸Õë¼Ó1 INC R1 ;DATA2 RAMµØÖ·Ö¸Õë¼Ó1 DJNZ R7,CONT ;δÍ꣬¼ÌÐø MOV A,#0FFH ;ÏàµÈ,×¼±¸Ð´ÈëFFH SJMP DOWN ;תдÈë½á¹û´¦ NOEQ: MOV A,#0 ;²»ÏàµÈ,×¼±¸Ð´Èë00H DOWN: MOV RESULT,A ;±£´æ±È½Ï½á¹û±êÖ¾ SJMP $ ;ÔÝÍ£ END

11£®±àÖÆ³ÌÐò£¬½«ÄÚ²¿RAMÖÐM1¡¢M2¡¢M3ºÍM4µ¥ÔªÖеÄÎÞ·ûºÅÊýxl¡¢x2¡¢x3ºÍx4Ïà¼Ó£¬²¢°ÑºÍ´æÈëROºÍR1(R0ÖÐΪ¸ß8λ)ÖС£ ½â£º

M1 EQU 30H M2 EQU 40H M3 EQU 45H M4 EQU 4FH MOV A,M1 ;È¡µÚÒ»¸öÊý ADD A,M2 ;ÓëµÚ¶þ¸öÊýÏà¼Ó JNC NEXT1 ;Èç¹ûÎÞ½øÎ»£¬Ôò×ªÒÆÖÁµÚÈý¸öÏà¼Ó

MOV NEXT1: ADD JNC INC NEXT2: ADD JNC INC NEXT3: MOV SJMP END

R0,#1 A,M3 NEXT2 R0 A,M4 NEXT3 R0 R1,A $ ;ÓнøÎ»£¬¸ß8λÖÃ1 ;ÓëµÚÈý¸öÊýÏà¼Ó

;ûÓнøÎ»£¬ÔòתÖÁµÚËĸöÊýÏà¼Ó ;ÓнøÎ»£¬¸ß8λ¼Ó1 ;ÓëµÚËĸöÊýÏà¼Ó

;ûÓнøÎ»£¬ÔòתÖÁ½áÊø ;ÓнøÎ»£¬¸ß8λÔÙ¼Ó1 ;µÍ8λ±£´æµ½R1 ;ÔÝÍ£

µÚ4Õ µ¥Æ¬»úµÄC51ÓïÑÔ Ï°Ìâ

1£®CÓïÑÔµÄÓŵãÊÇʲô£¿C³ÌÐòµÄÖ÷Òª½á¹¹ÌصãÊÇʲô£¿

´ð£ºCÓïÑÔÊÇÒ»Öָ߼¶ÓïÑÔ£¬Ñ§Ï°±ÈµÍ¼¶ÈÝÒ×£¬²»ÐèÒª¾ßÌå×éÖ¯¡¢·ÖÅä´æ´¢Æ÷×ÊÔ´ºÍ´¦Àí¶Ë¿ÚÊý¾Ý£¬¿ÉÒÔÖ±½ÓÇý¶¯µ¥Æ¬»úµÄËùÓÐ×ÊÔ´¡£

C³ÌÐòÒÔº¯ÊýΪµ¥Î»£¬ÓÉÒ»¸öÖ÷º¯ÊýºÍÈô¸É¸öÆäËûº¯Êý¹¹³É£¬Ö÷º¯ÊýÊdzÌÐòµÄÈë¿Ú£¬ÆäËûº¯ÊýÓÉÖ÷º¯ÊýÖ±½Ó»ò¼ä½Óµ÷ÓᣳÌÐò¿ÉÒÔÓÉÒ»¸öÎļþ»ò¶à¸öÎļþ×é³É¡£ÎļþÀàÐͰüÀ¨Í·ÎļþºÍCÓïÑÔÔ´Îļþ£¬Ò²¿ÉÒÔÊÇ»ã±àÓïÑÔÎļþ£¬C³ÌÐò¿ÉÓë»ã±àÓïÑÔ»ìºÏ±à³Ì¡£

2£®C51ÓïÑԵıäÁ¿¶¨Òå°üº¬ÄÄЩ¹Ø¼üÒòËØ£¿ÎªºÎÕâÑù¿¼ÂÇ£¿ ´ð£ºCÓïÑԵıäÁ¿¶¨Òå¸ñʽÈçÏ£º

[´æ´¢ÖÖÀà] Êý¾ÝÀàÐÍ [´æ´¢ÀàÐÍ] ±äÁ¿Ãû ÆäÖУº

´æ´¢ÖÖÀàÓë±ê×¼CÓïÑÔÏàͬ£¬°üÀ¨£º×Ô¶¯ÐÍ(auto)¡¢ÍⲿÐÍ(extern)¡¢¾²Ì¬ÐÍ(static)¡¢¼Ä´æÆ÷ÐÍ(register)¡£

Êý¾ÝÀàÐͳýÁ˰üº¬±ê×¼CÓïÑÔÀàÐ͵Ä×Ö·ûÐÍ(char)£¬ÕûÐÍ(int)£¬³¤ÕûÐÍ(long)£¬¸¡µãÐÍ(float)£¬Ë«¾«¶ÈÐÍ(double)Í⣬»¹Óжþ½øÖÆÎ»ÐÍ(bit)£¬ÌØÊ⹦ÄܼĴæÆ÷ÐÍ(sfr)£¬SFR¿ÉλѰַµÄλÀàÐÍ(sbit)¡£

´æ´¢ÀàÐͰüÀ¨£ºÆ¬ÄÚRAMÇø(data)¡¢Æ¬ÄÚ¿ÉÎ»Ñ°Ö·Çø(bdata)£¬Æ¬ÄÚRAM¼ä½ÓÑ°Ö·Çø(idata)£¬Æ¬ÍâRAMÒ³Ñ°Ö·Çø(pdata)£¬Æ¬ÍâRAMÇø(xdata)¡¢ROMÇø(code)¡£

Ö»ËùÒԱȱê×¼CÓïÑÔ¶àÁË´æ´¢ÀàÐÍ£¬¾ÍÊÇÒòΪMCS£­51µ¥Æ¬»úµÄ´æ´¢½á¹¹ÖÐÓÐËĸöÎïÀí´æ´¢¿Õ¼ä(ƬÄÚRAM¡¢Æ¬ÄÚROM£¬Æ¬ÍâRAM£¬Æ¬ÍâROM)£¬Èý¸öÂß¼­µØÖ·¿Õ¼ä(ƬÄÚRAM£¬Æ¬ÍâRAM£¬ROM)£¬¶øÇÒÓжàÖÖѰַ·½Ê½£¨Ö±½ÓѰַ¡¢¼ä½ÓѰַ¡¢Ò³ÃæÑ°Ö·¡¢Î»Ñ°Ö·£©ËùÖ£¬ËùÒÔÔÚ¶¨Òå±äÁ¿Ê±£¬Òª¸ù¾ÝÆäËùÔÚλÖúÍѰַ·½Ê½Ã÷È·Ö¸¶¨´æ´¢ÀàÐÍ¡£

3£®C51Óë»ã±àÓïÑÔµÄÌØµã¸÷ÓÐÄÄЩ£¿ÔõÑùʵÏÖÁ½ÕßµÄÓÅÊÆ»¥²¹£¿

´ð£ºC51Êǽṹ»¯ÓïÑÔ£¬´úÂë½ô´Õ£»½Ó½ü×ÔÈ»ÓïÑÔ£¬³ÌÐò¿É¶ÁÐÔÇ¿£¬Ò×ÓÚµ÷ÊÔ¡¢Î¬»¤£»¿âº¯Êý·á¸»£¬±à³Ì¹¤×÷Á¿Ð¡£¬¿Éʹ²úÆ·¿ª·¢ÖÜÆÚ¶Ì£»¾ßÓлúÆ÷¼¶¿ØÖÆÄÜÁ¦£¬¹¦ÄܺÜÇ¿£¬ÊʺÏÓÚǶÈëʽϵͳ¿ª·¢£»»ã±àÖ¸ÁîÎ޹أ¬Ò×ÓÚÕÆÎÕ£¬ÉÏÊÖ¿ì¡£

»ã±àÓïÑÔÓŵãÊDZàдµÄ³ÌÐò´úÂ뾫Á¶¡¢Ö´ÐÐËٶȿ죬ÔÚÏàͬ¹¦ÄÜÏ£¬»ã±àÓïÑÔ³ÌÐò¿ÉÄܱÈCÓïÑÔ³ÌÐòЧÂʸߡ£È±µãÊǶԳÌÐòÔ±ÒªÇó¸ß£¬±ØÐë¶Ôµ¥Æ¬»úµÄÓ²¼þ

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