·¢²¼Ê±¼ä : ÐÇÆÚÈý ÎÄÕµ¥Æ¬»úÔÀíÓëÓ¦Óà ÊÔÌâ¿â(1)¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ
²ÉÓÃÖжϷ½Ê½¹¤×÷£¬¹¤×÷ÔÚ·½Ê½1Ï£¬ÔÚÖжϷþÎñ³ÌÐòÖпØÖÆ·¢¹â¶þ¼«¹ÜµÄÁÁÓëÃð¡££©
²Î¿¼´ð°¸£º¹²Òõ¼«½Ó·¨µÄ·¢¹â¶þ¼«¹ÜÐèÒª¸ßµçƽµãÁÁ£¬Òò´Ëµ±P1.0Ϊ¸ßµçƽʱ·¢¹â¶þ¼«¹ÜµãÁÁ¡£ÐèÒªÀûÓÃT1²úÉú1ÃëÖӵĶ¨Ê±£¬¿ÉÒÔ¶ÔT1µÄ100msÖжϼÆ10´ÎʵÏÖ1Ã붨ʱ¡£T1µÄ¶¨Ê±³õֵΪ£º65536-100*1000*6/12=15536=3CB0H
FLASH BIT 00H ;·¢¹â¶þ¼«¹ÜµãÁÁ±êÖ¾£¬¡°1¡±±íʾµãÁÁ ORG 0 LJMP START ORG 1BH LJMP TS ORG 30H
START: MOV TMOD,#10H ;½«T1ÉèΪ·½Ê½1£¬¶¨Ê±Æ÷ MOV TH1,#3CH ;ËÍ100ms¶¨Ê±³õÖµ MOV TL1,#0B0H
SETB ET1 ;ÔÊÐíT1ÖÐ¶Ï SETB EA ;¿ªÖжÏ
MOV R7,#10 ;ÖжÏ10´ÎΪ1ÃëÖÓ
MOV R5,#2 ;·¢¹â¶þ¼«¹ÜµãÁÁʱ¼äΪ2Ãë MOV R6,#3 ;·¢¹â¶þ¼«¹ÜϨÃðʱ¼äΪ3Ãë SETB P1.0 ;µãÁÁ·¢¹â¶þ¼«¹Ü
SETB FLASH ;֪ͨÖжϷþÎñ³ÌÐò·¢¹â¶þ¼«¹Ü´¦ÓÚµãÁÁ״̬ SETB TR1 ;Æô¶¯T1¼ÆÊý SJMP $ ;µÈ´ýÖжÏ
TS: MOV TH1,#3CH ;ËÍ100ms¶¨Ê±³õÖµ MOV TL1,#0B0H
DJNZ R7,TS2 ;1Ãëδµ½Ôò·µ»Ø
MOV R7,#10 ;100msÖжϼÆÊýÖµÖØи³Öµ
JNB FLASH,TS1 ;Èç¹û·¢¹â¶þ¼«¹Ü´¦ÓÚϨÃð״̬ÔòתÒÆ DJNZ R5,TS2 ;µãÁÁµÄʱ¼ä2Ãëδµ½Ôò·µ»Ø MOV R5,#2
CLR P1.0 ;ϨÃð·¢¹â¶þ¼«¹Ü CLR FLASH SJMP TS2
TS1: DJNZ R6,TS2 ;ϨÃðµÄʱ¼äûµ½3ÃëÔò·µ»Ø MOV R6,#3
SETB P1.0 ;µãÁÁ·¢¹â¶þ¼«¹Ü SETB FLASH TS2: RETI END
61£®ÒÑÖªAT89S51µ¥Æ¬»úµÄ¾§ÌåÕñµ´ÆµÂÊΪ24MHz£¬Çë±à³Ì´ÓP1.6ºÍP1.7¿ÚÊä³ö»¥²¹µÄ£¨¼´»¥Îª·´Ïࣩ¡¢ÆµÂÊΪ500HzµÄ·½²¨¡££¨ÒªÇó£ºT1¹¤×÷ÔÚ·½Ê½1Ï£¬²ÉÓÃÖжϷ½Ê½¹¤×÷£¬ÔÚÖжϷþÎñ³ÌÐòÖпØÖÆP1.6ºÍP1.7µÄÊä³ö£©
²Î¿¼´ð°¸£ºÒªÇóÊä³öƵÂÊΪ500HzµÄ·½²¨£¬ÆäÖÜÆÚΪ1£¯500=2ms£¬¹ÊÖ»Ðèÿ¸ô°ë¸öÖÜÆÚ£¨1ms£©½«Êä³öÈ¡·´¼´¿É¡£É趨T1¶¨Ê±Îª1ms£¬ÔòT0µÄ¶¨Ê±³õֵΪ£º65536-1000*24£¯12=63536=0F830H
37
ORG 0000H LJMP START ORG 1BH LJMP TS ORG 30H
START: MOV TMOD,#10H ;ÉèT1Ϊ·½Ê½1£¬¶¨Ê±Æ÷ MOV TH1,#0F8H ;ËÍ200ms¶¨Ê±³õÖµ MOV TL1,#30H
SETB ET1 ;ÔÊÐíT1ÖÐ¶Ï SETB EA ;¿ªÖÐ¶Ï CLR P1.6 ;Êä³ö³õʼ»¯ SETB P1.7
SETB TR1 ;Æô¶¯T1¼ÆÊý SJMP $ ;µÈ´ýÖжÏ
TS: MOV TH1,#0F8H ;ËÍ1ms¶¨Ê±³õÖµ MOV TL1,#30H
CPL P1.0 ;Êä³öÈ¡·´ CPL P1.1 TS1: RETI END
62£®ÒÑÖªAT89S51µ¥Æ¬»úµÄ¾§ÌåÕñµ´ÆµÂÊΪ12MHz£¬Çë±à³Ì´ÓP1.0¿ÚÊä³öƵÂÊΪ50HzµÄ·½²¨¡££¨ÒªÇó£ºT0¹¤×÷ÔÚ·½Ê½2Ï£¬²ÉÓÃÖжϷ½Ê½¹¤×÷£¬ÔÚÖжϷþÎñ³ÌÐòÖпØÖÆP1.0µÄÊä³ö£©
²Î¿¼´ð°¸£º50Hz·½²¨µÄÖÜÆÚ=1£¯50=20ms£¬Òò´ËÖ»Ðèÿ¸ô10ms½«P1.0È¡·´¾Í¿ÉÒÔÁË¡£T0ÔÚ·½Ê½2ÏÂ×î´óµÄ¶¨Ê±Ê±¼äΪ256΢Ã루¶ÔÓÚ12MHz¾§Õñ£©£¬¿ÉÒÔ½«¶¨Ê±Ê±¼äÉèΪ250΢Ã룬Ȼºó¶Ô250΢Ã붨ʱÖжϼÆ40´Î¼´ÒԵõ½10msµÄ¶¨Ê±¡£T0µÄ¶¨Ê±³õÖµ=256-250*12£¯12=6 ORG 0 LJMP START ORG 0BH LJMP TS ORG 30H
START: MOV TMOD,#2 ;½«T0ÉèΪ·½Ê½2£¬¶¨Ê±Æ÷ MOV TH0,#6 ;ËͶ¨Ê±³õÖµ MOV TL0,#6
SETB ET0 ;ÔÊÐíT0ÖÐ¶Ï SETB EA ;¿ªÖжÏ
MOV R2,#40 ;ÖжÏ40´ÎΪ10ms SETB TR0 ;Æô¶¯T0¼ÆÊý SJMP $ ;µÈ´ýÖÐ¶Ï TS: DJNZ R2,TS1
MOV R2,#40 ;ÖжÏ40´ÎΪ10msµ½ CPL P1.0 ;Êä³öÈ¡·´ TS1: RETI ;ÖжϷµ»Ø END
38
63£®AT89S51µ¥Æ¬»úÓ¦ÓÃϵͳµÄ¾§ÌåÕñµ´Æ÷ƵÂÊΪ3MHz£¬Çë±à³ÌʵÏÖ´Óµ¥Æ¬»úµÄP1.0Òý½ÅÊä³ö25Hz·½²¨¡££¨ÒªÇó£ºT1²ÉÓÃÖжϷ½Ê½¹¤×÷£¬¹¤×÷ÔÚ·½Ê½2Ï£¬ÔÚÖжϷþÎñ³ÌÐòÖпØÖÆP1.0µÄÊä³ö¡££©
²Î¿¼´ð°¸£º25Hz·½²¨µÄÖÜÆÚ=1£¯25=40ms£¬¼´Ã¿¸ô20ms½«P1.0Êä³öÈ¡·´¼´¿É¡£T1ÔÚ·½Ê½2ϵÄ×î´ó¶¨Ê±Ê±¼äΪ£º256*12/3=1024΢Ãë=1.024ºÁÃ룬Òò´ËÖ»ÐèÒª¶¨Ê±1ms£¬È»ºó¶Ô1ms¶¨Ê±¼Æ20´Î¼´¿ÉµÃµ½20msµÄ¶¨Ê±¡£T1¶¨Ê±³õÖµ=256-1000*3/12=6¡£ ORG 0000H LJMP START ORG 1BH LJMP TS ORG 30H
START: MOV TMOD,#20H ;ÉèT1Ϊ¶¨Ê±Æ÷£¬·½Ê½2 MOV TH1,#6 ;ËÍ1ms¶¨Ê±³õÖµ MOV TL1,#6
SETB ET1 ;ÔÊÐíT1ÖÐ¶Ï SETB EA ;¿ªÖжÏ
MOV R2,#20 ;ÖжÏ20´ÎΪ20ms SETB TR1 £»Æô¶¯T1¼ÆÊý SJMP $ ;µÈ´ýÖжÏ
TS: DJNZ R2,TS1 ;20msδµ½ÔòתÒÆ MOV R2,#20 ;ÖжÏ20´ÎΪ20ms CPL P1.0 ;Êä³öÈ¡·´ TS1: RETI ;ÖжϷµ»Ø END
64£®ÒÑÖªAT89S51µ¥Æ¬»úµÄ¾§ÌåÕñµ´ÆµÂÊΪ24MHz£¬Çë±à³Ì´ÓP1.0ºÍP1.1¿ÚÊä³ö»¥²¹µÄ£¨¼´»¥Îª·´Ïࣩ¡¢ÆµÂÊΪ100HzµÄ·½²¨¡££¨ÒªÇó£ºT1¹¤×÷ÔÚ·½Ê½2Ï£¬²ÉÓÃÖжϷ½Ê½¹¤×÷£¬ÔÚÖжϷþÎñ³ÌÐòÖпØÖÆP1.0ºÍP1.1µÄÊä³ö£©
²Î¿¼´ð°¸£º 100HzµÄ·½²¨ÆäÖÜÆÚ=1£¯100=10ms£¬Ö»ÐèҪÿ¸ô5ms½«Êä³öÈ¡·´¼´¿É¡£T1ÔÚ24MHz¾§ÕñÇé¿öÏ·½Ê½2µÄ×î´ó¶¨Ê±Ê±¼ä=256*12/24=128΢Ã룬Òò´ËÖ»ÐèÒª¶¨Ê±0.1ms£¬²¢¶ÔÖжϴÎÊý¼Æ50´Î¼´¿ÉµÃµ½5msµÄ¶¨Ê±¡£T1¶¨Ê±³õÖµ=256-100*24/12=6 ORG 0 LJMP START ORG 1BH LJMP TS ORG 30H
START: MOV TMOD,#20H ;ÉèT1Ϊ·½Ê½2£¬¶¨Ê±Æ÷ MOV TH1,#6 ;ËÍ0.1ms¶¨Ê±³õÖµ MOV TL1,#6
SETB ET1 ;ÔÊÐíT1ÖÐ¶Ï SETB EA ;¿ªÖжÏ
MOV R2,#50 ;ÖжÏ50´ÎΪ5ms CLR P1.0
SETB TR1 ;Æô¶¯T1¼ÆÊý
39
SJMP $ ;µÈ´ýÖжÏ
TS: DJNZ R2,TS1 ;²»µ½5msÔòתÒÆ MOV R2,#50 ;ÖжÏ50´ÎΪ5ms CPL P1.0 ;Êä³öÈ¡·´ CPL P1.1
TS1: RETI ;ÖжϷµ»Ø END
65£®ÒÑÖªAT89S51µ¥Æ¬»úµÄ¾§ÌåÕñµ´ÆµÂÊΪ24MHz£¬Çë±à³Ì´ÓP1.0¿ÚÊä³öƵÂÊΪ2HzµÄ·½²¨¡££¨ÒªÇó£ºT0¹¤×÷ÔÚ·½Ê½1Ï£¬²ÉÓÃÖжϷ½Ê½¹¤×÷£¬ÔÚÖжϷþÎñ³ÌÐòÖпØÖÆP1.0µÄÊä³ö£©
²Î¿¼´ð°¸£º2HzµÄ·½²¨ÆäÖÜÆÚΪ500ms£¬°ëÖÜÆÚÊÇ250ms¡£ÀûÓÃT0¶¨Ê±25ms£¬²¢¶ÔÖжϼÆ10´Î¼´¿É¡£25msµÄ¶¨Ê±³õֵΪ£º65536-25000*24/12=15536=3CB0H ORG 0 LJMP START ORG 0BH LJMP TS ORG 30H
STRAT: MOV TMOD,#1 ;ÉèT0Ϊ¶¨Ê±Æ÷£¬·½Ê½1 MOV TH0,#3CH
MOV TL0,#0B0H ;ËÍ25ms¶¨Ê±³õÖµ MOV R0,#10 ;ÖжÏ10´ÎΪ250ms SETB ET0 ;ÔÊÐíT0ÖÐ¶Ï SETB EA ;¿ªÖжÏ
SETB TR0 ;Æô¶¯T0¼ÆÊý SJMP $ ;µÈ´ýÖÐ¶Ï TS: MOV TH0,#3CH
MOV TL0,#0B0H ;ËÍ25ms¶¨Ê±³õÖµ DJNZ R0,TS1
MOV R0,#10 ;Öжϼƴε¥ÔªÖØи³Öµ CPL P1.0 ;Êä³öÈ¡·´ TS1: RETI END
66£®AT89S51µ¥Æ¬»úÓ¦ÓÃϵͳµÄ¾§ÌåÕñµ´Æ÷ƵÂÊΪ24MHz£¬Çë±à³ÌʵÏÖ´Óµ¥Æ¬»úµÄP1.3Òý½ÅÊä³ö100Hz·½²¨¡££¨ÒªÇó£ºT1²ÉÓÃÖжϷ½Ê½¹¤×÷£¬¹¤×÷ÔÚ·½Ê½2Ï£¬ÔÚÖжϷþÎñ³ÌÐòÖпØÖÆP1.3µÄÊä³ö¡££©
²Î¿¼´ð°¸£º100Hz·½²¨µÄÖÜÆÚÊÇ1/100=10ms£¬Æä°ëÖÜÆÚΪ5ms¡£½«T1¶¨Ê±0.1ms£¬¶Ô¶¨Ê±ÖжϼÆ50´Î¼´¿É¡£T1µÄ¶¨Ê±³õֵΪ£º256-100*24/12=56=38H ORG 0000H LJMP START ORG 1BH LJMP TS ORG 30H
START: MOV TMOD,#20H ;ÉèT1Ϊ¶¨Ê±Æ÷£¬·½Ê½2 MOV TH1,#56
40