·âÃæ£¬³ÏÐųÐŵÊ飬ÖÐÓ¢ÎÄÕªÒª£¬Ä¿Â¼£¨·Ç×Ô¶¯Éú³É£©¡¢ÕýÎÄ¡¢ÖÂл¡¢²Î¿¼ÎÄÏס¢¸½Â¼

º¼Öݵç×ӿƼ¼´óѧ±¾¿Æ±ÏÒµÉè¼Æ

ͼ4-9 2051ÐźÅÒý½Åͼ

4.5 µçƽת»»

ÔÚ²»Í¬µÄÊý×ÖϵͳÖУ¬Æäµçƽ±ê×¼ÊDz»Í¬µÄ¡£¸ÃϵͳÖоͰüÀ¨ÁËTTLµçƽ±ê×¼ºÍRS-232µçƽ±ê×¼£¬ÒªÊµÏÖÁ½¸ö±ê×¼µÄÕý³£Í¨ÐÅ£¬±ØÐë½øÐÐµçÆ½×ª»»¡£¸Ãϵͳ²ÉÓÃʹÓüòµ¥µÄMAX232CPEоƬ¡£

һƬMAX232CPEоƬ¿ÉÍê³É2·TTL/CMOS ¡« RS-232µÄµçƽת»»ºÍ2·RS-232 ¡« TTL/CMOSµÄµçƽת»»¡£Êµ¼Êµç·ÖÐÖ»ÓÐһ·µ¥Æ¬»úµÄTXD´®¿ÚÊä³ö£¬²»½øÐÐRXD´®¿ÚÊäÈë¡£Òò´Ë£¬Ñ¡ÓÃÒý½Å11½Ó2051 TXD´®¿ÚÊä³ö£»¶ø¶ÔÓ¦µÄ14½ÅÔò½Óµ½¼ÆËã»úµÄ´®¿ÚÊäÈë¶Ë¡£

ͼ4-10 MAX232CPEоƬÄÚ²¿½á¹¹

º¼Öݵç×ӿƼ¼´óѧ±¾¿Æ±ÏÒµÉè¼Æ

5 Èí¼þÉè¼Æ

5.1 ×ÜÌå·½°¸

¸ÃϵͳµÄÐźżì²âÓëÊý¾Ý´«ËͲ¿·Ö£¬Éæ¼°µÄÈí¼þ²¿·Ö½ÏÉÙ¡£Ö÷ÒªÊÇ2051µ¥Æ¬»úÊý¾Ý´®ÐÐͨÐż°Í¨ÐÅЭÒéµÄ³ÌÐòÉè¼Æ¡£

¶ÔÓÚ2051µÄ³ÌÐòÉè¼Æ[12]£¬ÓÉÓÚËùÐèʵÏֵŦÄܽϼòµ¥£¬²ÉÓûã±àµÄÐÎʽ¡£±àÒëÆ÷²ÉÓÃKeil 7.02b¡£¸Ã±àÒëÆ÷ÊÇ51ϵÁе¥Æ¬»ú³ÌÐòÉè¼ÆµÄ³£Óù¤¾ß£¬¼È¿ÉÓûã±à£¬Ò²Ö§³ÖCÓïÑÔ±àÒ롣ͬʱ¾ßÓÐÍêÉÆµÄµ÷ÊÔ¹¦ÄÜ¡£

5.2 ³ÌÐòÁ÷ͼ

¶ÁÈ¡P1¿ÚÖµ

ÑÓʱ200ms ÖжϷþÎñ³ÌÐò ³õʼ²ÎÊýÉèÖà µÈ´ýÖÐ¶Ï ·¢ËÍÊý¾ÝÖ¡ ÇåÖжϱêÖ¾ ÖжϷµ»Ø ͼ5-1 ´®Ðз¢ËÍÁ÷³Ìͼ

5.3 Ä£¿é˵Ã÷

º¼Öݵç×ӿƼ¼´óѧ±¾¿Æ±ÏÒµÉè¼Æ

£¨1£©Ö÷³ÌÐò£º

MAIN:

MOV SP,#0X60 £»¶ÑÕ»³õʼ»¯ CALL INIT £»¸÷¼Ä´æÆ÷²ÎÊýÉèÖà MOV 40H,#0x01 £»´ò°Ð´ÎÊýÖÃ1 AJMP $ £»µÈ´ýÖÐ¶Ï £¨2£©³õʼ»¯³ÌÐò£º

INIT:

MOV TMOD,#0X21£»²¨ÌØÂÊ·¢ÉúÆ÷ MOV TL1,#0XFD £»²¨ÌØÂÊ 9600bps MOV TH1,#0XFD

CLR ET1 £»½ûÖ¹timer1

SETB PT1 £»Ê±ÖÓ1 ÓÅÏȼ¶:¸ß MOV SCON,#0x40£»´®¿Ú¹¤×÷ģʽ1,SM2=0,REN=0 MOV PCON,#0 £»²¨ÌØÂÊ 9600bps SETB EA £»ÖжÏÔÊÐí CLR PS £»¹Ø±Õ´®¿ÚÖÐ¶Ï CLR ES £»´®¿ÚÓÅÏȼ¶:µÍ

SETB EX0 £»¿ªÍⲿÖжÏINT0 SETB IT0 £»Ï½µÑØÓÐЧ CLR PX0 £»INT0 ÓÅÏȼ¶:µÍ SETB TR1 £»Ê±ÖÓ1 ¿ªÊ¼¼ÆÊý RET

£¨3£©ÖжϷþÎñ³ÌÐò£º

_INT0: £»ISRÖжϷþÎñ³ÌÐò NOP

CALL DELAY_2MS £»Í¬²½ÑÓʱ MOV P1,#0xff £»¶ÁP1¿ÚǰÏÈÖÃ1 MOV A,P1 £»¶ÁP1¿Ú CALL INT0_SEND RET

£¨4£©Êý¾ÝÖ¡´«ËÍ×Ó³ÌÐò£º

±ê־λSYNC ££0x30 ±í5-1 Êý¾ÝÖ¡¸ñʽ

´ò°Ð´ÎÊý ´ò°Ð³É¼¨ TIMES RESULT УÑéλCHECKSUM TIMES£«RESULT Àý£º30 02 15 17 (Ê®Áù½øÖÆ)

º¼Öݵç×ӿƼ¼´óѧ±¾¿Æ±ÏÒµÉè¼Æ

±íʾµÚ¶þ´Î´ò°Ð£¬»÷ÖеÚ21ºÅ£¨¶ÔÓ¦»·Êý£º7»· Æ«ÒÆ·½Ïò£ºÓÒÉÏ£©¡£

INT0_SEND: £»Êý¾ÝÖ¡´«ËÍ×Ó³ÌÐò PUSH ACC £»±£»¤ACC CLR A

ADD A,#0X30

CALL UART_SEND £»·¢Ëͱê־λ MOV A,40H

CALL UART_SEND £»·¢ËÍ´ò°Ð´ÎÊý POP ACC

CALL UART_SEND £»·¢ËÍ´ò°Ð³É¼¨ ADD A,#0X30 ADD A,0040H

CALL UART_SEND £»·¢ËÍУÑéλ INC 0040H £»´ò°Ð´ÎÊýÀÛ¼Ó1 CALL DELAY_200MS£»ÑÓʱ200ms CLR EX0 £»¹ØÍⲿÖжÏ

CLR IE0 £»Çå INT0 ÍⲿÖжÏÇëÇó±ê־λ¨D¨D·ÀÖ¹ÍⲿÖÐ¶Ï¼Ä´æ¶øÒýÆð¶à´ÎÖжϡ£

SETB EX0 £»¿ªÖÐ¶Ï RETI £¨5£©´®Ðз¢ËÍ×Ö½Ú

UART_SEND: £»´®Ðз¢ËÍÒ»¸ö×Ö½Ú MOV SBUF,A

JNB TI,$ £»µÈ´ý·¢ËÍÍê±Ï CLR TI £» RET £¨6£©¶¨Ê±³ÌÐò£º

DELAY_2MS: £»Óö¨Ê±Æ÷ÑÓʱ2ms MOV R7,#21;21 DLY1:MOV R6,#42 DLY2:DJNZ R6,DLY2 DJNZ R7,DLY1 RET

DELAY_10MS: £»µ÷ÓÃDELAY_2MS£¬ÊµÏÖÑÓʱ10ms MOV R5,#5

º¼Öݵç×ӿƼ¼´óѧ±¾¿Æ±ÏÒµÉè¼Æ

DLY: CALL DELAY_2MS DJNZ R5,DLY RET

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4