在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)學(xué)習(xí)之十六:定時(shí)器應(yīng)用3(模式3)

            單片機(jī)學(xué)習(xí)之十六:定時(shí)器應(yīng)用3(模式3)

            作者: 時(shí)間:2016-11-18 來(lái)源:網(wǎng)絡(luò) 收藏
            一、實(shí)驗(yàn)現(xiàn)象:

            本文引用地址:http://www.biyoush.com/article/201611/315890.htm

            在P0.0和p0.1分別輸出一個(gè)周期是200us和400us的方波信號(hào)。

            二、實(shí)驗(yàn)?zāi)康?/p>

            掌握內(nèi)部定時(shí)/計(jì)數(shù)器作定時(shí)功能(模式3)的應(yīng)用

            三、實(shí)驗(yàn)任務(wù)分析:

            在這個(gè)試驗(yàn)里面,要同時(shí)產(chǎn)生兩個(gè)方波信號(hào)。我們可以采用和上面一個(gè)試驗(yàn)類似的方法,讓T0、T1都工作于模式2,分別產(chǎn)生兩個(gè)方波信號(hào),但是這樣要同時(shí)占用兩個(gè)定時(shí)器的資源,比較浪費(fèi)。

            由于T0還有一種工作方式,就是可以分為兩個(gè)8位的計(jì)數(shù)器tl0和th0,所以我們就采用這個(gè)模式3來(lái)產(chǎn)生兩個(gè)方波信號(hào)。(注:這種工作模式只適用于T0,如果把定時(shí)器T1定義為模式3的時(shí)候,T1是停止計(jì)數(shù)的。)

            T0工作于模式3的邏輯圖如下圖所示:

            從圖上我們可以看到,tl0使用T0的狀態(tài)控制位:gate 、c/t、 tr0、tf0;而th0使用的是T1的狀態(tài)控制位tr1和tf1,并占用T1的中斷源。

            所以,啟動(dòng)tl0應(yīng)該是:setb tr0;而啟動(dòng)th0則是:setb tr1

            另外,th0產(chǎn)生計(jì)數(shù)溢出的時(shí)候,是置位tf1,所以th0的溢出中斷入口應(yīng)該是T1的中斷入口001bh。

            我們用tl0產(chǎn)生100us定時(shí),計(jì)數(shù)初值是156;用th0產(chǎn)生200us定時(shí),計(jì)數(shù)初值是56,該程序如下:

            四、實(shí)驗(yàn)程序

            org 0000h

            ajmp main

            org 000bh ;T0溢出中斷入口地址

            ajmp time0

            org 001bh

            ajmp time1 ;T1溢出中斷入口地址

            org 0020h

            main: clr p1.5

            mov sp,#70h ;設(shè)置堆棧

            mov tmod,#03h ;設(shè)置T0為定時(shí)方式,工作于模式3

            mov tl0,#156 ;tl0置計(jì)數(shù)初值

            mov th0,#56h ;th0置計(jì)數(shù)初值

            setb et0 ;允許TL0溢出中斷

            setb et1 ;允許TH0溢出中斷

            setb ea ;cpu開(kāi)中斷

            setb tr0 ;啟動(dòng)TL0計(jì)數(shù)

            setb tr1 ;啟動(dòng)TH0計(jì)數(shù)

            ajmp $ ;等待

            time0:mov tl0,#156 ;tl0定時(shí)時(shí)間到,重新裝入計(jì)數(shù)初值

            cpl p0.0 ;P0.0取反

            reti

            time1:mov th0,#56 ;th0定時(shí)時(shí)間到,重新裝入計(jì)數(shù)初值

            cpl p0.1 ;P0.1取反

            reti

            end

            五、幾點(diǎn)說(shuō)明

            1、當(dāng)T0工作于模式3的時(shí)候,T1可以工作于模式0、模式1、模式2、串行口的波特率發(fā)生器、或者不需要中斷的場(chǎng)合(由于這時(shí)T1的中斷資源被TH0占用)。

            2、大家如果用示波器看了上一個(gè)試驗(yàn)中周期為500us的波形,和這個(gè)試驗(yàn)的周期分別為200us和400us的波形,就會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題。在上一個(gè)試驗(yàn)中,產(chǎn)生的500us信號(hào)非常標(biāo)準(zhǔn),但是這個(gè)試驗(yàn)里面200us的信號(hào)約有14us的誤差,而400us的約有26us的誤差,這是為什么呢?

            由于上一個(gè)試驗(yàn)中進(jìn)入中斷后計(jì)數(shù)值是自動(dòng)重裝的,所以產(chǎn)生的定時(shí)非常標(biāo)準(zhǔn)。而在這個(gè)試驗(yàn)中,由于每次進(jìn)入中斷都要手動(dòng)重裝計(jì)數(shù)值,所以就會(huì)相應(yīng)的產(chǎn)生誤差。同時(shí),由于400us剛好是200us的兩倍,每進(jìn)入兩次tl0的中斷才會(huì)進(jìn)入一次th0的中斷,所以th0的誤差約為tl0的兩倍。大家如果把兩個(gè)信號(hào)的周期分別改為200us和300us,就會(huì)發(fā)現(xiàn)兩者的誤差基本一致拉。



            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉