国产在线中文字幕亚洲,一区视频国产精品观看,欧美日韩国产高清片,久久久久久AV无码免费网站,亚洲无码一二三四五区,日韩无码www.,sese444

您好,歡迎來到維庫電子市場網(wǎng) 登錄 | 免費注冊

定時�
閱讀�40596時間�2010-09-02 10:37:51

  定時器是裝有時段或時刻控制機�(gòu)�開關(guān)裝置。它有一個頻率穩(wěn)定的振蕩�,通過齒輪傳動�集成電路分頻計數(shù),�(dāng)將時間累加到�(yù)置數(shù)值時,或指示到預(yù)置的時刻�,定時器即發(fā)送信號控制執(zhí)行機�(gòu)�

 

分類

  定時器根�(jù)工作原理可以為以下:

  1� 接通延時型定時器:接通延時型定時器是各種PLC中最常見最基本的定時器,這種定時器在 SIEMENS的PLC中,稱為SD型定時器

  2� 斷開延時型定時器:這種定時器是�(dāng)輸入條件00000為ON時無延時作用,只有在輸入條件00000為OFF時產(chǎn)生延時作�。在SIEMENS的PLC�,稱為SF型定時器

  3、保持型接通延時定時器:這種定時器是�(dāng)輸入條件00000為ON�,即�(chǎn)生鎖存功�,即使輸入條�00000又變?yōu)镺FF,仍視輸入條件為ON,當(dāng)定時器的�(dāng)前值等于設(shè)定值時,定時器動作,這種定時器在SIEMENS的PLC�,稱為SS型定時器

  4、脈沖型定時器:這種定時器是�(dāng)輸入條件00000為ON后,定時器即時動�,但�(jīng)過定時器所�(shè)定的時間�,即使輸入條�00000仍為ON,定時器卻變?yōu)镺FF狀�(tài)。即這種定時器ON狀�(tài)的維持時間是由設(shè)定值決定的。如�00000為ON的時�(xù)時間小于定時器的�(shè)定�,定時器的ON狀�(tài)維持時間為輸入條�00000為ON的持�(xù)時間。這種定時器在SIEMENS的PLC�,稱為SP型定時器�

  5、擴張型脈沖定時器:這種定時器與脈沖型定時器的區(qū)別是,只要輸入條�00000出現(xiàn)了ON狀�(tài),不管其持續(xù)時間多長,均可使定時器為ON的維持的時間與定時器的設(shè)定值一�。這種定時器在SIEMENS的PLC�,稱為SE型定時器�

  定時器按�(jié)�(gòu)可分為機械式、電動式和電子式�

  1、機械式定時�  以發(fā)條為原動力,用擒縱調(diào)速器控制走時精度,通過齒輪傳動和凸輪,按時間控制機�(gòu)�(yù)置的時段操縱�(zhí)行機�(gòu)動作。計時精度要求不高的定時器(如風(fēng)扇定時器、洗衣機定時�、廚房用定時�、照相暗房用定時�、電視機控制用定時器、電燈開�(guān)定時器),一般采用無固有振動周期的調(diào)速器。這些定時器都是在手動上發(fā)條的同時�(yù)置時�,定時精度不�,但�(jié)�(gòu)簡單,使用方便。計時精度要求高、定時范圍在3�12小時的定時器,一般采用擺輪游絲調(diào)速器�

  2、電動式定時�  用交流同步電動機或石英步進電機驅(qū)�,通過齒輪傳動和凸輪簧片觸點機�(gòu),按�(yù)置的時段或時刻控制執(zhí)行機�(gòu)。其中短時段控制的電動式定時器可用于程序控制式洗衣機、洗碗機、微波爐、烘箱及時間繼電器等;長時段電動式定時器是一�24小時�7天程序控制的開關(guān)裝置,可�(yù)置開�(guān)動作多次,最短時間控制間隔一般為15分鐘,可用于用戶用電情況�(jiān)控、照明控�、實驗室裝置控制、空�(diào)器控制和自動生產(chǎn)線上某些�(shè)備的定時控制��

  3、電子式定時�  利用石英振蕩器或民用交流電的�(biāo)準頻�,�(jīng)過分頻計�(shù)組成時間累加器或�(shù)字鐘,按照�(yù)置的時間編碼輸出控制信號。這種定時器走時精�,時間設(shè)定沒有誤�,定時精度�,控制程序多。其中長時段定時器最小控制時段一般為1分鐘,配上微處理器后能精確地編制一年的時間程序,組成多路可編程序的定時�。電子式定時器在工業(yè)自動化控制系�(tǒng)中應(yīng)用廣�,它也是節(jié)約能源管理中一種有效的技�(shù)措施。電子定時器類的電子定時開關(guān)�,可用于按高、平、低峰用電收取不同電費制度的場合,它將一天內(nèi)的用電高峰、平�、低谷時間在定時開關(guān)中設(shè)�,并分別接�3種電表進行計費。電子式定時器在科學(xué)實驗中和在微波爐、電飯鍋、洗衣機等電器中也有使用

基本操作

  F2810/F2812器件上有3個Q9位CPU定時器(TIMERO�1�2)。只有定時器1�2�(yù)留給實時操作系統(tǒng)DSP/BIOS使用,只有定時器0可以在就用程序中使用,定時器的功能如�1所��

定時器功能框圖

  �1 定時器功能框�

  若處理器采用30 MHz的外部時�,經(jīng)過鎖相環(huán)10�2倍頻后,系統(tǒng)的時鐘工作在150 MHz。圖中的定時器選擇SYSCLKOUT作為定時器時�,工作頻率也�150 MHz。一旦定時器被使能(TCR-Bit 4�0�,定時器時鐘�(jīng)過預(yù)定標(biāo)計數(shù)器(PSCH:PSC)遞減計�(shù),預(yù)定標(biāo)計數(shù)器產(chǎn)生下溢后向定時器�32位計�(shù)器(TIMH:TIM)借位p定時器計�(shù)器產(chǎn)生溢出使定時器向CPU�(fā)送中�。定時器中斷�(jié)�(gòu)如圖2所��

  每次�(yù)定標(biāo)計數(shù)器產(chǎn)生溢出后使用分頻寄存器(TDDRH:TDDR)中的值重新裝�。同樣,32位周期寄存器(PRDH[_]PRD)為32位計�(shù)器提供重新裝載��

定時器中斷結(jié)構(gòu)

  �2 定時器中斷結(jié)�(gòu)

比較操作

  每個通用定時器都有一個比較寄存器TxCMPR和一個PWM輸出引腳TxPWM。通用定時器計�(shù)器的值一直與相關(guān)的比較寄存器的值比較,�(dāng)定時器計�(shù)器的值與比較寄存器的值相等時,就�(chǎn)生比較匹�??赏ㄟ^TxCON[l]位使能比較操作,產(chǎn)生比較匹配后將會有下列操作(如圖所示)�

  ●匹�1個時鐘周期后,定時器的比較中斷標(biāo)志位置位�

  ●匹�1個CPU時鐘周期�,根�(jù)寄存器GPTCONA/B相應(yīng)位的配置情況,PWM的輸出將�(chǎn)生跳變�

  ●如果比較中斷標(biāo)志位已通過�(shè)置寄存器GPTCONA/B中的相應(yīng)位啟動A/D�(zhuǎn)換器,則比較中斷位置位的同時�(chǎn)生A/D�(zhuǎn)換啟動信��

  ●如果比較中斷未被屏�,將�(chǎn)生一個外�(shè)申斷申請�

通用定時器比較操作功能框圖

  � 通用定時器比較操作功能框�

誤差補償方法

 ?�?前言單片機內(nèi)部一般有若干個定時器。如8051單片機內(nèi)部有定時器0和定時器�。在定時器計�(shù)溢出時,便向CPU發(fā)出中斷請�。當(dāng)CPU正在執(zhí)行某指令或某中斷服務(wù)程序時,它響�(yīng)定時器溢出中斷往往延遲一段時�。這種延時雖對單片機低頻控制系�(tǒng)影響甚微,但對單片機高頻控制系統(tǒng)的實時控制精度卻有較大的影響,有時還可能造成控制事故。為擴大單片機的�(yīng)用范�,本文介紹它的定時器溢出中斷與CPU響應(yīng)中斷的時間誤�、補償誤差的方法和實��

 ?�?誤差原因、大小及特點�(chǎn)生單片機定時器溢出中斷與CPU響�(yīng)中斷的時間誤差有兩個原�。一是定時器溢出中斷信號時,CPU正在執(zhí)行某指令;二是定時器溢出中斷信號�,CPU正在�(zhí)行某中斷服務(wù)程序�

  2.1. CPU正在執(zhí)行某指令時的誤差及大小由于CPU正在�(zhí)行某指令,因此它不能及時響應(yīng)定時器的溢出中斷。當(dāng)CPU執(zhí)行此指令后再響應(yīng)中斷所延遲的最長時間為該指令的指令周期,即誤差的值為�(zhí)行該指令所需的時間。由于各指令都有對應(yīng)的指令周�,因此這種誤差將因CPU正在執(zhí)行指令的不同而不同。如定時器溢出中斷時,CPU正在�(zhí)行指令MOV A, Rn,其誤差為1個機器周�。而執(zhí)行指令MOV Rn, direct�,其誤差為2個機器周期。當(dāng)CPU正在執(zhí)行乘� 或除法指� �,時間誤差可達4個機器周�。在8051單片機指令系�(tǒng)�,多�(shù)指令的指令周期為1~2個機器周�,因此時間誤差一般為1~2個機器周�。若振蕩器振蕩頻率為fosc,CPU正在執(zhí)行指令的機器周期�(shù)為C�,則時間誤差為Δtmax1=12/fosc×Ci(us)。例如fosc=12MH�,CPU正在執(zhí)行乘法指令(Ci=4�,此時的時間誤差為: Δtmax1=12/fosc×Ci=12/(12×106)×4=4×10-�(�)=4(μ�)

  2.� CPU正在執(zhí)行某中斷服務(wù)的程序時的誤差及大小定時器溢出中斷信號時,若CPU正在執(zhí)行同級或高優(yōu)先級中斷服務(wù)程序,則它仍需繼續(xù)�(zhí)行這些程序,不能及時響�(yīng)定時器的溢出中斷請求,其延遲時間由中斷轉(zhuǎn)移指令周期T�、中斷服�(wù)程序�(zhí)行時間T�、中斷返回指令的指令周期T3及中斷返回原斷點后執(zhí)行下一條指令周期T4(如乘法指令)組成。中斷轉(zhuǎn)移指令和中斷返回指令的指令周期都分別為2個機器周�。中斷服�(wù)程序的執(zhí)行時間為該程序所含指令的指令周期的總�。因�,時間誤差Δtmax2為: Δtmax2=(T1+T2+T3+T4)12/fosc=(2+T2+2+4)12/ fosc=12(T2+8)/ fosc若設(shè)fosc=12MHZ,則時間誤差為: Δtmax2=12(T2+8)� fosc =12(T2+8)/12×106=(T2+8)×10-6(s)=T2+8(μs�。由于上式中T2一般大于8,因�,這種時間誤差一般取決于正在�(zhí)行的中斷服務(wù)程序。當(dāng)CPU正在執(zhí)行中斷返回指令RET�、或正在讀寫IE或IP指令�,這種誤差在5個機器周期內(nèi)�

 ?。玻�?誤差非固定性特點定時器溢出中斷與CPU響應(yīng)中斷的時間誤差具有非固定性特點。即這種誤差因CPU正在�(zhí)行指令的不同而有相當(dāng)大的差異。如CPU正在執(zhí)行某中斷服務(wù)程序,這種誤差將遠遠大于執(zhí)行一條指令時的誤�。后者誤差可能是前者誤差的幾倍、幾十�、甚至更�。如同樣只執(zhí)行一條指�,這種誤差也有較大的差�。如�(zhí)行乘法指令MUL AB 比執(zhí)行MOV �� Rn指令的時間誤差增加了3個機器周�。這種誤差的非固定不僅給誤差分析帶來不�,同時也給誤差補償帶來困��

 ?�?誤差補償方法由于定時器產(chǎn)生溢出中斷與CPU響�(yīng)中斷請求的時間誤差具有非固定�,因此,這種誤差很難用常�(guī)方法補償。為�,本文介紹一種新方法。現(xiàn)介紹該方法的基本思路、定時器新初值及�(yīng)用情況�

 ?。常�?基本思路為使定時器溢出中斷與CPU響�(yīng)中斷實現(xiàn)同步,該方法針對中斷響應(yīng)與中斷請求的時間誤差,對定時器原有的計數(shù)初值進行修改,以延長定時器計�(shù)時間,從而補償誤�。在該方法中,當(dāng)定時器溢出中斷得到響�(yīng)后,即停止定時器的計�(shù),并讀出計�(shù)�。該計數(shù)值是定時器溢出后,重新從OOH開始每個機器周期繼�(xù)加1所計的�。然�,將這個值與定時器的停止計數(shù)時間求和。若在定時器原計�(shù)初值中減去這個和形成新計�(shù)初�,則定時器能在新計數(shù)初值下使溢出中斷與CPU響�(yīng)中斷實現(xiàn)同步,從而達到誤差的補償要求�

 ?。常�?定時器新計數(shù)初值若定時器為計數(shù)方式,操作方式為1,則計�(shù)器初值X0=216-t0×fosc/1�。式中fosc為振蕩器的振蕩頻率。t0為需要定時的時間,也為中斷的間隔時間。X0為定時器原計數(shù)初值。在對定時器溢出中斷與CPU響應(yīng)中斷時間誤差進行補償�,定時器的新計數(shù)初值X1為:X1=216-t3× fosc/12t3=t0+t1+t2式中t0為中斷間隔時�。t1為定時器停止計�(shù)時間,該時間為定時器停止計數(shù)到重新啟動計�(shù)之間所有程序指令周期數(shù)的總�。t2為定時器溢出中斷后,重新從OOH開始直至計�(shù)器停止時計的�。在誤差補償中,若將定時器計�(shù)初值X1取代X�,則可使定時器下次的溢出中斷與CPU響應(yīng)中斷實現(xiàn)同步�

 ?。常�?實例要求補償定時器每1ms產(chǎn)生一次溢出中斷時的中斷響�(yīng)延遲的誤�。若振蕩器振蕩頻率fosc=12MH�,定時器工作在計�(shù)方式,工作模式為�,則補償中斷響應(yīng)時間誤差時的定時器新初值X1為:X1=216-t3× fosc/12=216-(t0+ t1)- t2=216-(1000� 13)- t2誤差補償程序為: …� � CL� EA ;關(guān)CPU中斷1 CL� TR� ;停止定時器計數(shù)� MO� R0� #OOH ;R0清零3 MO� R0� #LOW(216� ;定時器計數(shù)值的低8位送R04 MO� �� R0� SUBB A, #LOW(1000+13� ;216的低8位減去� t0� t1)的低8位送累加器A6 SUBB A, TL� ;216的低8位減去� t0� t1� t2)的低8位送TLi� MO� TL�� � � MO� R0� #OOH ;R0清零9 MO� R0� #HIGH(216) ;216 的高8位送R01� MO� �� R0 11 SUBB �� #HIGH(1000+13) ;216的高8位減去� t0� t1)的高8位送A12 SUBB �� TH� ;216的高8位減去� t0� t1 +t2)的高8位送A13 MO� TH�� A1� SETB TR� ;重新啟動定時器 …� 在上式和上段程序�,由于fosc=12MHZ,中斷間隔時間為1ms,因此t0的機器周期�(shù)為100�。由于第1條指令到第14條指令的指令周期的機器周期數(shù)之和為13,因此,t1為13個機器周期。CPU雖在�(zhí)行條指令CL� TR� 后停止定時器計數(shù),但在TLi、THi中分別保存了t2的低位數(shù)�(jù)和高位數(shù)�(jù)� � �(jié)束語由于本文介紹的誤差補償方法能對定時器溢出中斷與CPU響應(yīng)中斷的非固定性時間誤差進行有效補償,因�,該方法對于提高高頻控制系統(tǒng)實時控制精度和擴大單片機�(yīng)用范圍都有較高的實用價值�

維庫電子�,電子知�,一查百通!

已收錄詞�162542