激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

單時(shí)鐘完成多點(diǎn)分別計時(shí)的實(shí)現和應用

時(shí)間:2024-06-30 02:47:44 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

單時(shí)鐘完成多點(diǎn)分別計時(shí)的實(shí)現和應用

摘要:本文通過(guò)介紹只有雙時(shí)鐘的單片機系統,在多個(gè)事件需要分別定時(shí)或延時(shí)的時(shí)候,解決一個(gè)時(shí)鐘完成多個(gè)計時(shí)延時(shí)的有效方法,通過(guò)這種方法可以達到對多個(gè)被控事件統一自動(dòng)控制目的。

關(guān)鍵詞:?jiǎn)纹瑱C、定時(shí)器、機器周期、分頻

一、引言

單片機作為嵌入式系統的微控制器,已經(jīng)不是新鮮的事情,作為單片機的定時(shí)/計數器的使用可以說(shuō)沒(méi)有什么難度,但對于需要多個(gè)獨立計時(shí)的事件,單片機的兩個(gè)時(shí)鐘顯得有點(diǎn)不能滿(mǎn)足要求,其實(shí)不然,合理的運用內存和標志位可以實(shí)現一個(gè)定時(shí)器充當多個(gè)計時(shí)時(shí)鐘的效果,本文以51系列單片機為例,實(shí)現一個(gè)時(shí)鐘控制8個(gè)獨立馬達的運行過(guò)程中,時(shí)間分別統計方法。

二、單片機計數/定時(shí)器的基本原理簡(jiǎn)介

本文以51系列單片機為例介紹定時(shí)器的用法,定時(shí)/計數器的原理可以分為定時(shí)和計數兩部分,定時(shí)器的原理是通過(guò)設定8位或16位的定時(shí)器單元,通過(guò)給定定時(shí)器單元的初值,然后啟動(dòng)定時(shí)器,于是定時(shí)器開(kāi)始從初值開(kāi)始累計,每增加一個(gè)數需要特定的時(shí)間,這個(gè)特定的時(shí)間是累加指令的機器周期,是由MCU的晶振的頻率決定。對于51系列的單片機機器周期是時(shí)鐘周期的1/12,也就是晶振頻率的12分頻。單片機的定時(shí)器原理上相當于一個(gè)16位的內存單元,通過(guò)TMOD可以設定定時(shí)/計數器的工作方式。計數值從初值計到全“1”,如果是16位方式則計數單元變成FF,此時(shí)并不產(chǎn)生中斷,當下一個(gè)計數指令加1,導致存儲單元溢出,在中斷控制寄存器允許的情況下產(chǎn)生中斷,通過(guò)中斷服務(wù)程序執行特定的任務(wù)。計數器的原理不同之處在于,不是單純的加指令,而是對外部的脈沖計數,常用來(lái)測量脈沖的寬度。

三、時(shí)鐘對多事件分別計數的具體途徑

對于實(shí)時(shí)性要求不是很高的時(shí)間可以通過(guò)如下方式實(shí)現。在完成基本的定時(shí)器工作方式設定以后,也就是設定定時(shí)器的計數方式,比如16位或8位,以及計數的初始值,以及啟動(dòng)中斷的方式,建議使“SETB TR0”的方式。并且允許中斷。在中斷服務(wù)程序中,開(kāi)辟存儲單元,以8個(gè)事件為例,每個(gè)事件不一定同時(shí)發(fā)生,每個(gè)事件發(fā)生以后以相同的時(shí)間延遲,再進(jìn)行下一步的任務(wù),為了完成定時(shí)延時(shí),事件發(fā)生的時(shí)刻記作A1,A2,A3。。。。。。A10,中段服務(wù)程序中首先檢查有無(wú)這些既定的事件發(fā)生,沒(méi)有則不做任何處理,恢復計數初值后退出中斷,相反,假如檢測到AX(X=1、2、3。。。。。。)事件發(fā)生則給預先選定的對應的內存單元增加1,也就是執行累加運算,比如,

A1~50H; 表示A1對應的存儲單元是50h
A2~51H; 表示A2對應的存儲單元是51h
A3~52H;
。 。
。 。
。 。
A7 57H; 表示A7對應的存儲單元是57h

假如A3事件發(fā)生,則對52H內存表示的地址單元增加1,使用的指令是“INC 52H”,可以預先計算事件延時(shí)時(shí)間與計數單元數值的關(guān)系,當對應的數值到了預先設定的值時(shí),執行下一任務(wù)。比如開(kāi)關(guān)操作等等,并且恢復初始值以便繼續循環(huán)控制。這樣可以分別對A1到A7,8個(gè)任務(wù)分別計時(shí),時(shí)間可以相同也可以不同,具體的情況可以根據中斷程序中寄存器累計的實(shí)際值與根據需要所設定的預定值比較而實(shí)現。

四、典型應用

也許大家都看到過(guò)繁華街道上的拼圖式廣告牌吧,有十幾個(gè)或者幾十個(gè)三棱柱,通過(guò)旋轉,構成不同的畫(huà)面,在每幅畫(huà)面都停留一段時(shí)間,這正好是上面介紹的情況,當一個(gè)棱柱的某個(gè)畫(huà)面轉到特定的角度,比如正對馬路的方向,該畫(huà)面必須停留,等所有與此畫(huà)面相連接而能拼成完整畫(huà)面的其他柱面到來(lái),也就是從柱面開(kāi)始啟動(dòng)到下一次停下來(lái)需要所有畫(huà)面經(jīng)過(guò)相同的時(shí)間,然而所有的主面不可能同時(shí)啟動(dòng),可能為了形成某種觀(guān)賞效果,有意依次啟動(dòng),或由中間開(kāi)始啟動(dòng),逐漸向兩邊延伸,等等,所有這些事件的轉動(dòng)控制實(shí)質(zhì)就是定時(shí)控制,先啟動(dòng),先停止。最終保證所有的畫(huà)面構成一幅完整的畫(huà)面,而且必須是一個(gè)平面,我通過(guò)這種方法成功地完成了8組和15組轉動(dòng)馬達的起?刂,實(shí)踐證明這種方法簡(jiǎn)單可行。部分原程序如下所示;玖鞒毯筒糠殖绦虼a如下。

以下是定時(shí)中斷服務(wù)程序的全部代碼,可以完成對8個(gè)事件的時(shí)間統計,并在時(shí)間滿(mǎn)足條件時(shí),調用子程序OUT01,是對外部開(kāi)關(guān)的控制指令。通過(guò)這段程序,成功實(shí)現了一個(gè)定時(shí)器對多個(gè)事件的自動(dòng)運行控制(以下程序僅供參考)。

TIME0: CLR TR0
PUSH PSW
PUSH ACC
MOV TL0,#22H;定時(shí)100ms重新啟動(dòng)定時(shí)器0
MOV TH0,#1CH

LINSHI: MOV A,2AH
CJNE A,#0FFH,DEA
SETB TR0
POP ACC
POP PSW
RETI

DEA: MOV A,2AH
CJNE A,#00H,DE1
MOV A,2CH
CJNE A,#00H,DE1
;SETB

【單時(shí)鐘完成多點(diǎn)分別計時(shí)的實(shí)現和應用】相關(guān)文章:

基于主機的3D網(wǎng)絡(luò )應用的研究和實(shí)現03-03

電子版護理記錄單表格式的設計和應用05-26

網(wǎng)頁(yè)模糊歸類(lèi)算法的應用與實(shí)現03-19

二分法求解單變量非線(xiàn)性方程及其應用與實(shí)現03-12

壓力控制通氣和呼氣末正壓在單肺通氣中的應用12-27

PowerPC和Dallas的時(shí)鐘芯片接口設計03-18

高精度時(shí)鐘芯片SD2001E及其應用03-19

新聞發(fā)布系統的設計和實(shí)現03-07

基于FPGA的高頻時(shí)鐘的分頻和分配設計03-19

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频