單片機(jī)定時器/計數(shù)器綜合應(yīng)用舉例
P1.0、P1.1 經(jīng) 7407 驅(qū)動 LED 交替發(fā)光并以每秒一次的頻率閃爍。硬件連接見下圖(采用 6MHZ 晶振)分析:閃爍周期為 1S ,亮、滅各占一半,定時時間需要 500mS 。使用 6MHZ 晶振,單片機(jī)最長定時時間僅為 131mS ,所以需要采用軟件記數(shù)方法擴(kuò)展定時時間。
使用定時 / 計數(shù)器 0 ,定時方式,工作方式 1 。
設(shè)置 TMOD 控制字: TMOD = 01H
使用 6MHZ 晶振,機(jī)器周期為 2 μ s ,設(shè)定時時間 100mS ,定時初值 3CB0H 。定時器溢出 5 次為 500mS 。
程序如下:
ORG 0140H
LED1 : MOV TMOD,#01H ;設(shè)置 T0 工作方式
SETB P1.0 ;輸出初始狀態(tài)
CLR P1.1
SETB TR0 ;啟動定時器
LOOP0: MOV R2,#05H ;送軟件計數(shù)初值
LOOP1: MOV TL0,#0B0H ;送定時常數(shù)
MOV TH0,#3CH
JBC TF0,$ ;循環(huán)等待定時時間到
DJNZ R2,LOOP1 ;軟件計數(shù) –1 ≠ 0 循環(huán)
XRL P1,#03H ; P1.0、P1.1 求反
SJMP LOOP0 ;循環(huán)
編輯:admin 最后修改時間:2018-05-08