新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C8051F320-時(shí)鐘和4in1八段管

        C8051F320-時(shí)鐘和4in1八段管

        作者: 時(shí)間:2012-08-16 來(lái)源:網(wǎng)絡(luò) 收藏

        小結(jié):T2可以工作在3種方式下,單個(gè)16位,2個(gè)8位,USB起始幀捕捉。使用前,必須設(shè)置TM2RCN控制字的D4D3決定工作方式。還必須設(shè)置源,在CKCON和TMR2H都有涉及。

        對(duì)于16位時(shí)鐘,計(jì)數(shù)值存放在TMR2H和TMR2L,有專門的重載寄存器TMR2RLH和TMR2RLL。啟動(dòng)時(shí)可能是用TR2,開中斷用IE.5(ET2),計(jì)數(shù)到標(biāo)志位叫TF2H,另有TF2L,必須專門在控制字的D5進(jìn)行設(shè)置才能使用。

        對(duì)于8位時(shí)鐘,和上面基本差不多,共用一個(gè)中斷。

        T3和T2沒(méi)啥區(qū)別,名字?jǐn)?shù)字改改,中斷允許叫ET3,但位置不在IE,無(wú)所謂。

        四、程序?qū)崪y(cè)

        1、T2 單16位,16位中斷實(shí)測(cè)

        初始化:

        CKCON=0x00; //D1D0定了分頻數(shù),就是在系統(tǒng)分頻振蕩器后,定時(shí)器還能分頻一次。
        //D3D2比較爽,寫個(gè)0x0c,不分頻直接給時(shí)鐘用,很快。。。
        TMR2CN=0x00; //D5不允許低8位中斷 D4禁止SOF D3單16位 D2暫不啟動(dòng) D0使用12分頻時(shí)鐘
        TMR2L=0x78;
        TMR2H=0xEC;
        TMR2RLH =0xEC;
        TMR2RLL =0x78;
        EA=1;
        ET2=1;

        啟動(dòng):TR2=1;

        中斷號(hào) :5

        中斷里面必須加 TF2H=0;

        結(jié)果,成功

        2、T2 單16位,允許低八位中斷,嘗試根據(jù)中斷標(biāo)志決定處理或者不處理低八位。

        上面的初始化改一句 TMR2CN=0x20; 由于低八位計(jì)數(shù)到就中斷,且低八位中斷沒(méi)清除,分針又跑得飛快了

        中斷多一句清除指令 TF2L=0; 秒針走很快,合理。因?yàn)槊?55就中斷一次

        中斷最前面多一段 if(TF2L==1){TF2L=0;return;} 忽略低八位時(shí)鐘中斷,秒針正常了

        3、T2雙8位,實(shí)在懶得測(cè)試了。 測(cè)試一下T3的中斷號(hào)

        悲劇了,T3的寄存器都沒(méi)有定義!查資料。。。

        修正1 : 在頭文件里把TMR2CN的位定義復(fù)制一份,改成3,成功

        修正2 : 在頭文件里手動(dòng)編寫EIE1的位定義

        /* EIE1 */
        sbit ET3 = EIE1 ^ 7;
        sbit ECP1 = EIE1 ^ 6;
        sbit ECP0 = EIE1 ^ 5;
        sbit EPCA0 = EIE1 ^ 4;
        sbit EADC0C = EIE1 ^ 3;
        sbit EWADC0 = EIE1 ^ 2;
        sbit EUSB0 = EIE1 ^ 1;
        sbit ESMB0 = EIE1 ^ 0;

        失敗,提示該地址無(wú)效?(invalid base address)

        修正3: 直接用 EIE1 |= 0x80; 編譯通過(guò)

        運(yùn)行后還是不走,估計(jì)是中斷號(hào)有錯(cuò)!!!

        直接在main函數(shù)中查詢T3中斷標(biāo)志位,手動(dòng)跳轉(zhuǎn)到中斷程序,可以運(yùn)行,但是速度慢得沒(méi)天理。

        可見T3中斷確實(shí)不是這么用的,待查。。。。

        還有一個(gè)猜測(cè),是不是keil對(duì)interrupt 14不支持??

        又多了個(gè)疑點(diǎn),改回T2,同樣用查詢方式,手動(dòng)跳轉(zhuǎn),速度非常正常!看來(lái)T3的PDF沒(méi)有看是個(gè)嚴(yán)重錯(cuò)誤!


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: C8051F320 時(shí)鐘 八段管

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 甘南县| 黄大仙区| 安顺市| 杭锦旗| 女性| 忻城县| 湖口县| 修武县| 定结县| 鲁甸县| 辛集市| 邳州市| 平度市| 凤凰县| 从江县| 金沙县| 祁东县| 恩平市| 镇康县| 论坛| 安多县| 东丽区| 博湖县| 罗甸县| 武平县| 五家渠市| 乐至县| 来凤县| 锡林浩特市| 泰州市| 高台县| 松阳县| 昌都县| 抚宁县| 杭锦旗| 什邡市| 玛纳斯县| 灌云县| 来宾市| 盐池县| 长岭县|