±±¹¤´óµ¥Æ¬»úÆÚÄ©¸´Ï°ÌâA4Ò»Ö½¿ª - ͼÎÄ ÏÂÔØ±¾ÎÄ

¼üÅÌɨÃè³ÌÐò£º R4 ÁкŠR2 ɨÃèÂë MAIN:ACALL KEY SUBB A,06H JZ PRINT SJMP MAIN ORG 0100H KEY: ACALL KS JNZ KEY_1 ACALL DELAY AJMP KEY KEY_1: ACALL DELAY

ACALL DELAY ACALL KS JNZ KEY_2 AJMP KEY

KEY_2: MOV R2, #11111110B MOV R4, #00H

KEY_3: MOV DPTR, #0FF21H MOV A, R2

MOVX @DPTR, A INC DPTR

MOVX A,@DPTR CPL A JZ NEXT

JNB ACC.0 KEY_4 MOV A, #00H AJMP KEY_7

KEY_4: JNB ACC.1, KEY_5 MOV A, #4 AJMP KEY_7

KEY_5: JNB ACC.2, KEY_6 MOV A, #8 AJMP KEY_7

KEY_6: MOV A, #12 KEY_7: ADD A, R4 PUSH ACC KEY_8: ACALL DELAY ACALL KS JNZ KEY_8 POP ACC RET

NEXT: INC R4 MOV A, R2

JNB ACC.3, KEY RL A

MOV A,R2 AJMP KEY_3 KS: MOV DPTR, #0FF21H

MOV A, #00H MOVX @DPTR, A INC DPTR

MOVX A,@DPTR CPL A

ANL A, #0FH RET

ORG 2000H PRINT:-------RET

µÚ7Õ ³ÌÐò´æ´¢Æ÷ÍØÕ¹ºÍÊý¾Ý´æ´¢Æ÷ÍØÕ¹ 8155ÃüÁî×Ö£º

TM2,TM1=01;Í£Ö¹¶¨Ê±Æ÷/¼ÆÊýÆ÷

TM2,TM1=10;ÈôÕýÔÚ¼ÆÊý£¬¼ÆÊý³¤¶È¼õΪ0ʱֹͣ¼ÆÊý TM2,TM1=11;Æô¶¯£¬Ö÷½Ê½ºÍ³¤¶ÈºóÁ¢¼´Æô¶¯¼ÆÊý ÈôÕýÔÚ¼ÆÊý£¬Òç³öºó°´Ðµķ½Ê½ºÍ³¤¶È¼ÆÊý¡£ 8155״̬×Ö

8155µÄ¶¨Ê±Æ÷(14λµÄ¼õ1¼ÆÊýÆ÷) M2M1=00: Êä³öµ¥¸ö·½²¨ M2M1=01£ºÊä³öÁ¬Ðø·½²¨ M2M1=10£ºÊä³öµ¥¸öÂö³å M2M1=11£ºÊä³öÁ¬ÐøÂö³å

»ù±¾ÊäÈ뷽ʽ£¬B¿Ú¶¨ÒåΪ»ù±¾Êä³ö·½Ê½£¬¶ÔÊäÈëÂö³å½øÐÐ16·ÖƵ£¬Ôò8155µÄI/O³õʼ»¯³ÌÐòΪ£º START£ºMOV DPTR£¬#7F05H £»¶¨Ê±Æ÷¸ß8λµØÖ·7F05H MOV A£¬#40H £»¶¨Ê±Æ÷¸ß×Ö½ÚËÍA MOVX @DPTR£¬A £»×°Èë¸ß×Ö½Ú DEC DPTR MOV A£¬#10H

MOVX @DPTR£¬A£» ×°È붨ʱÆ÷µÍ×Ö½Ú MOV DPTR£¬#7F00H£»Ö¸ÏòÃüÁî״̬¿Ú

MOV A£¬#0C2H £»ÉèÖÃÃüÁî×Ö[AÈëB³ö] MOVX @DPTR£¬A £»×°ÈëÃüÁî×Ö£¬Æô¶¯¶¨Ê±Æ÷ ¡¤ ¶Á8155RAM(7E00~7EFF)µÄF1Hµ¥ÔªÄÚÈÝ£º MOV DPTR£¬#7EF1H MOVX A £¬ @DPTR £» ¡¤ ½«Á¢¼´Êý41HдÈë8155RAMµÄ20Hµ¥ÔªÖУº MOV A£¬#41H MOV DPTR£¬#7E20H MOVX @DPTR£¬A£»

2764µÄµØÖ··¶Î§£º0000~1FFFH£»6264µÄµØÖ··¶Î§£º2000H~3FFFH

µÚ6Õ ¶¨Ê±Æ÷/¼ÆÊýÆ÷

1. ʹÓÃT0¶¨Ê±£¬Ê¹µÃÓÉP0.7Êä³öÖÜÆÚΪ2msµÄ·½²¨¡£É赥Ƭ»úʱÖÓΪ6MHz¡£Ê¹Ó÷½Ê½0ºÍ·½Ê½1·Ö±ðʵÏÖ¡£Çë±àÖÆ³ÌÐò¡£

1£©¼ÆË㶨ʱÆ÷³õÖµX¡£ X= 2^13 ¡ª 500 = 8192¡ª500 = 7692»»Ëã³É16½øÖÆÊýΪ1E0CHÓø߰ËλºÍµÍÎåλ±íʾ£¨TH0¡¢TL0£©£ºF00CH

2£©±àÖÆ³õʼ»¯³ÌÐò£ºT0¹¤×÷ÔÚ·½Ê½0£¬·½Ê½¿ØÖÆ×ÖΪ00H£¬TH0=F0H£¬TL0=0CH ±à³Ì£º ORG 1000H MOV TMOD£¬#00H; * MOV TH0£¬#0F0H MOV TL0£¬#0CH MOV IE£¬#82H SETB TR0 WAIT£ºSJMP WAIT 3£©±àÖÆÖжϳÌÐò£º

ORG 0000H ; Éϵ縴λÈë¿ÚµØÖ· LJMP 1000H

¼ÆÊý³õÖµµÄ¼ÆË㣺

ORG 000BH LJMP TINT ORG 300H TINT£º CPL P0.7 MOV TH0£¬#0F0H MOV TL0£¬#0CH MOV IE£¬#82H RETI

2. Éè8031ʱÖÓÆµÂÊΪ12MHz£¬Çë±à³öÀûÓö¨Ê±Æ÷/¼ÆÊýÆ÷T0ÔÚP1.0Òý½ÅÉÏÊä³öÖÜÆÚΪ2sµÄ·½²¨³ÌÐò¡£ 1£©¼ÆË㶨ʱÆ÷³õÖµX¡£ X=216 ¡ª 50ms/1us = 15536

»»Ëã³É16½øÖÆÊýΪ3CB0H 2£©±àÖÆ³õʼ»¯³ÌÐò£º

T0¹¤×÷ÔÚ·½Ê½1£¬·½Ê½¿ØÖÆ×ÖΪ01H£¬TH0=3CH£¬TL0=B0H ±à³Ì£º ORG 1000H MOV TMOD£¬#01H MOV TH0£¬#3CH 13

MOV TL0£¬#0B0H MOV IE£¬#82H SETB TR0; MOV TCON,#10H* MOV R0£¬ #14H WAIT£ºSJMP WAIT 3£©±àÖÆÖжϳÌÐò£º ORG 0000H ; Éϵ縴λÈë¿ÚµØÖ· LJMP 1000H ORG 000BH AJMP TINT ORG 0080H TINT£º DJNZ R0, NEXT; CPL P1.0 MOV R0£¬ #14H NEXT: MOV TH0£¬#3CH MOV TL0£¬#0B0H MOV IE£¬#82H RETI £¨1£©×î´ó¼ÆÊýÁ¿£ºnmax=2=8192

£¨2£©ÒÑÖªÒªÇóµÄ¼ÆÊýÁ¿n£¬Ôò¼ÆÊýÆ÷³õֵΪ£º

¼ÆÊýÆ÷ÒÔÔö1µÄ·½Ê½¼ÆÊý£¬Òç³öʱÉêÇëÖжϡ£ 1¡¢¸ù¾Ý¶¨Ê±Öµ¼ÆËã³öËùÐèÒªµÄ¼ÆÊýʱÖÓÖÜÆÚÊýN¡£

t=Tc*N

N=t /Tc

Tc¡ª¡ª¼ÆÊýʱÖÓÖÜÆÚ=»úÆ÷ÖÜÆÚ=Õñµ´ÖÜÆÚ*12 2¡¢¸ù¾ÝÑ¡ÔñµÄ¹¤×÷·½Ê½£¬¼ÆËã¼ÆÊýÆ÷Òç³öËùÐèµÄ¼ÆÊý³õÖµX

·½Ê½0£º£¨13룩X = 2 ¡ª N ·½Ê½1£º£¨16룩X = 2 ¡ª N ·½Ê½2£º£¨8룩 X = 2 ¡ª N ¶¨Ê±Ê±¼ä = Õñµ´ÖÜÆÚ*12*(2 ¡ª X£© X= 2 ¡ª t/£¨Tc*12£©= 2 ¡ª t * f /12 3¡¢½«X»¯Îª16½øÖÆÊý×°ÈëTHºÍTLÖÐ

·½Ê½0£º£¨M1 M0=0 0£© 13λ¶¨Ê±/¼ÆÊýÆ÷·½Ê½ 16λ¼Ä´æÆ÷Ö»ÓÃ13룬µ±TLxµÄµÍ5λÒç³öʱÏòTHx½øÎ»£¬¶øTHxÒç³öʱÏòÖжϱêÖ¾TFx½øÎ»¡ª¡ªÓ²¼þÖÃλTFx£¬ÉêÇëÖÐ¶Ï Ïà¹Ø²ÎÊýµÄ¼ÆË㣺

n

n

n

81613

x=213 - n=8192 - n

£¨3£©×î´ó¶¨Ê±Ê±¼ä£ºtmax=2¡Á12/fosc=8192¡Á12/fosc £¨4£©ÒÑÖªÒªÇóµÄ¶¨Ê±Ê±¼ät£¬Ôò¶¨Ê±Æ÷µÄ³õֵΪ£º

13

x=213 - t¡Áfosc/12=8192 - t¡Áfosc/12

ÇóµÃ³õÖµÒÔºó£¬Ó¦½«x·ÖÅäµ½TLxºÍTHx£º £¨TLx£©=000x4x3x2x1x0B £¨THx£©=x12x11x10x9x8x7x6x5B ·½Ê½1£º£¨M1 M0=0 1£© 16λ¶¨Ê±/¼ÆÊýÆ÷·½Ê½ ½á¹¹Í¼Í¬·½Ê½0£¬TL1ºÍ TH1¶¼ÊÇ8λ Ïà¹Ø²ÎÊýµÄ¼ÆË㣺

£¨1£©×î´ó¼ÆÊýÁ¿£º nmax=2=65536

£¨2£©ÒÑÖªÒªÇóµÄ¼ÆÊýÁ¿n£¬Ôò¼ÆÊýÆ÷µÄ³õֵΪ£º

16

x=216 - n=65536 - n

16

£¨3£©×î´ó¶¨Ê±Ê±¼ä£ºtmax=2¡Á12/fosc=65536¡Á12/fosc £¨4£©ÒÑÖªÒªÇóµÄ¶¨Ê±Ê±¼ät£¬Ôò¶¨Ê±Æ÷µÄ³õֵΪ£º

x=216 - t¡Áfosc/12=65536 - t¡Áfosc/12

ÇóµÃ³õÖµÒÔºó£¬Ó¦½«x·ÖÅäµ½TLxºÍTHx£º

·½Ê½2£¨M1 M0=1 0£©×Ô¶¯»Ö¸´³õÖµµÄ8λ¼ÆÊýÆ÷·½Ê½0ºÍ·½Ê½×î´óÖ»Äܵ½1ÈôÓÃ255¡£

ÓÚÑ­»·¶¨Ê±/¼ÆÊýʱ£¬Ã¿´Î¼ÆÂúÒç³öºó£¬¼ÆÊýÆ÷È«²¿Îª0£¬µÚ¶þ´Î¼ÆÊýÏà¹Ø²ÎÊýµÄ¼ÆËãÈçÏ£º

8

Æ÷»¹ÐèÖØÐÂ×°Èë¼ÆÊý³õÖµ¡£Èç´Ë·´¸´£¬²»½öÓ°Ïìµ½¶¨Ê±¾«¶È£¬Ò²¸ø³Ì£¨1£©×î´ó¼ÆÊýÁ¿£ºnmax=2=256 ÐòÉè¼Æ´øÀ´²»±ã¡£·½·¨2Ôò¿ÉÒÔ½â¾ö´ËÎÊÌ⣬Ëü¾ßÓÐ×Ô¶¯ÖØÔع¦ÄÜ¡££¨2£©ÒÑÖªÒªÇóµÄ¼ÆÊýÁ¿n£¬Ôò¼ÆÊýÆ÷µÄ³õֵΪ£º

8

·½Ê½2ÓÐÀûÓÚÌá¸ß¶¨Ê±¾«¶È£¬±È½ÏÊʺÏÓÃ×÷¾«È·µÄÂö³åÐźŷ¢ÉúÆ÷£¬ x=2- n=256 - n

8

»òÕß´®Ðпڲ¨ÌØÂÊ·¢ÉúÆ÷¡£µ«¸Ã·½Ê½ÊÇ8λ¼ÆÊý½á¹¹£¬¼ÆÊýÖµÓÐÏÞ£¬£¨3£©×î´ó¶¨Ê±Ê±¼ä£ºtmax=2¡Á12/fosc=256¡Á12/fosc