¼üÅÌɨÃè³ÌÐò£º 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