利用8031的定時(shí)/計(jì)數(shù)器T1對(duì)外部事件進(jìn)行計(jì)數(shù)
某生產(chǎn)線包裝工序上,生產(chǎn)線的輸送帶每送進(jìn)一個(gè)產(chǎn)品到包裝機(jī),“SP”端就輸出一個(gè)脈沖到8031的T1端。要求每送進(jìn)來(lái)10個(gè)產(chǎn)品,CPU就從P1.1輸出一個(gè)信號(hào)去控制包裝機(jī)工作。
;---------------------------------------------
求助得到的最佳答案:計(jì)數(shù)工作的題目,比較少見,程序如下。
ORG 0000H
SJMP START
ORG 001BH
SJMP T1_INT
START:
MOV TMOD, #60H ; T1計(jì)數(shù),方式2,自動(dòng)重新裝入初始值
MOV TH1, #246 ; (256 - 10)
MOV TL1, #246 ; (256 - 10)
SETB TR1
SETB ET1
SETB EA
SJMP $ ;設(shè)置完成,等待中斷
;------------------下面是T1中斷程序,每當(dāng)收到10脈沖,就執(zhí)行一遍
T1_INT:
CLR P1.1 ;輸出脈沖
NOP
NOP
SETB P1.1
RETI
END
;---------------------------------------------
;=============================================================
急求定時(shí)器中斷LED燈滅亮實(shí)驗(yàn)
用匯編語(yǔ)言編輯單片機(jī)是8個(gè)LED燈實(shí)現(xiàn)第一秒只有L1不亮,其余七個(gè)全亮,第二個(gè)L2不亮,其余七個(gè)全亮
懸賞分:50 - 解決時(shí)間:2009-11-24 16:07
;---------------------------------------------
最佳答案:這是常見的定時(shí)方式,如下即可。
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
START:
MOV TMOD, #01H ;定時(shí)方式1
MOV TH0, #3CH ; (65536 - 50000) / 256;
MOV TL0, #0B0H ; (65536 - 50000) % 256;
SETB TR0
SETB ET0
SETB EA
MOV A, #01H
MOV R2, #20
SJMP $
;------------------下面是T0中斷程序,50ms(@12MHz)執(zhí)行一遍
T0_INT:
MOV TH0, #3CH ; (65536 - 50000) / 256;
MOV TL0, #0B0H ; (65536 - 50000) % 256;
DJNZ R2, T0_END
MOV R2, #20
MOV P1, A
RL A
T0_END:
RETI
END
;---------------------------------------------
;=============================================================
利用MCS-51單片機(jī)對(duì)一個(gè)由8盞燈組成的環(huán)形燈陣進(jìn)行控制
要求:燈陣中每個(gè)時(shí)刻只能有一盞燈亮,且每隔十秒后燈亮的位置向左移動(dòng)一位
;---------------------------------------------
最佳答案:下面兩個(gè)題目采用軟件延時(shí),精度稍差,基本也可達(dá)到要求。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A, #7FH ;01111111--零為亮
XUN:
MOV P0, A
RL A
ACALL DELAY10s
AJMP XUN
DELAY10s: ;延時(shí)十秒子程序
MOV R5, #76
D1: MOV R6, #0
D2: MOV R7, #0
DJNZ R7, $
DJNZ R6, D2
DJNZ R5, D1
RET
END
;完