當(dāng)前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 工業(yè)繼電器 > 計(jì)時與計(jì)數(shù)器 > 計(jì)數(shù)器
發(fā)布日期:2022-04-17 點(diǎn)擊率:125
通過實(shí)例,對涉及到的相關(guān)知識點(diǎn)進(jìn)行回顧,同時學(xué)習(xí)體會定時器/計(jì)數(shù)器應(yīng)用的基本方法。
AT89S52單片機(jī)的LED控制。利用定時器/計(jì)數(shù)器控制端口P1或者P2引腳相連的LED以1s為間隔循環(huán)閃亮。
圖2 LED原理
(2)設(shè)定初值和工作方式
CS-III外部時鐘采用24MHz,每定時1s時間需要計(jì)系統(tǒng)內(nèi)部時鐘12000000個,即為2000000個機(jī)器周期。可選用定時器0的工作方式1,定義初值為(65536-50000)=15536,即從15536開始計(jì)數(shù),共50000次,重復(fù)40次可以達(dá)到50000*40=2000000個機(jī)器周期,即1s。
因此:M1M0=01;TH0=3CH,TL0=B0H
初始化程序段:
mov TL0, #0B0H ; 置定時器初值
mov TH0, #03CH ; 初值為0x3caf
mov TMOD, #01H ; 設(shè)定定時器/計(jì)數(shù)器0工作方式為1
setb EA ; 允許中斷
setb ET0 ; 允許定時器/計(jì)數(shù)器0溢出中斷
setb TR0 ; 啟動定時器/計(jì)數(shù)器0
(3) 總體程序設(shè)計(jì)
單片機(jī)控制LED閃亮的程序流程圖如圖3和4所示。
圖3 總程序流程 圖4 溢出中斷服務(wù)程序流程
(4)程序運(yùn)行的效果
通過定時器計(jì)數(shù)器的設(shè)置和編寫相應(yīng)的程序,還可以在LED上實(shí)現(xiàn)高低交替閃爍、循環(huán)點(diǎn)亮的流水燈、逐位間隔點(diǎn)亮等效果。
通過實(shí)例,對涉及到的相關(guān)知識點(diǎn)進(jìn)行回顧,同時學(xué)習(xí)體會定時器/計(jì)數(shù)器應(yīng)用的基本方法。
AT89S52單片機(jī)的LED控制。利用定時器/計(jì)數(shù)器控制端口P1或者P2引腳相連的LED以1s為間隔循環(huán)閃亮。
圖2 LED原理
(2)設(shè)定初值和工作方式
CS-III外部時鐘采用24MHz,每定時1s時間需要計(jì)系統(tǒng)內(nèi)部時鐘12000000個,即為2000000個機(jī)器周期。可選用定時器0的工作方式1,定義初值為(65536-50000)=15536,即從15536開始計(jì)數(shù),共50000次,重復(fù)40次可以達(dá)到50000*40=2000000個機(jī)器周期,即1s。
因此:M1M0=01;TH0=3CH,TL0=B0H
初始化程序段:
mov TL0, #0B0H ; 置定時器初值
mov TH0, #03CH ; 初值為0x3caf
mov TMOD, #01H ; 設(shè)定定時器/計(jì)數(shù)器0工作方式為1
setb EA ; 允許中斷
setb ET0 ; 允許定時器/計(jì)數(shù)器0溢出中斷
setb TR0 ; 啟動定時器/計(jì)數(shù)器0
(3) 總體程序設(shè)計(jì)
單片機(jī)控制LED閃亮的程序流程圖如圖3和4所示。
圖3 總程序流程 圖4 溢出中斷服務(wù)程序流程
(4)程序運(yùn)行的效果
通過定時器計(jì)數(shù)器的設(shè)置和編寫相應(yīng)的程序,還可以在LED上實(shí)現(xiàn)高低交替閃爍、循環(huán)點(diǎn)亮的流水燈、逐位間隔點(diǎn)亮等效果。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV