新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 集成電路中真正單片化的單片機(jī)解析方案

        集成電路中真正單片化的單片機(jī)解析方案

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

        3 在線(xiàn)改變CPU的時(shí)鐘頻率以降低功力量的C語(yǔ)言程序舉例

        CPU在不需要高速運(yùn)行時(shí),可設(shè)置在較低的時(shí)鐘頻率下工作,在運(yùn)行過(guò)程中可根據(jù)需要在線(xiàn)改變CPU的時(shí)鐘頻率。下面是一個(gè)通過(guò)按鍵產(chǎn)生外部中斷信號(hào)改變NCE機(jī)μPD780058的CPU時(shí)鐘頻率的程序,它使CPU在主、副時(shí)鐘切換運(yùn)行。通過(guò)I/O口P6的位0引腳連接1個(gè)LED小燈,每按下一次按鍵就使CPU的時(shí)鐘頻率改變。在主時(shí)鐘和副時(shí)鐘頻率下工作時(shí),用同樣的軟件延時(shí)程序控制小燈點(diǎn)亮的時(shí)間,以此觀察CPU的運(yùn)行速度。

        程序清單:

        //**************宏定義**************

        #define PCCMODEM 0x00 //CPU時(shí)鐘控制寄存器PCC

        //定義為選主系統(tǒng)時(shí)鐘

        #define PCCMODES 0xf0 //CPU時(shí)鐘控制寄存器PCC

        //定義為選副系統(tǒng)時(shí)鐘

        #define PORT60 1 /P6口位0賦初值/

        #define PORTM600 //P6口位0設(shè)為輸出

        #define INTM0M 0x00 //定義外部中斷INTP1的

        //中斷觸發(fā)沿為下降沿

        //*****機(jī)內(nèi)部功能使用的定義*****

        #pragma sfr //使用特殊功能寄存器

        #pragma HALT //使用HALT功能

        #pragma interrupt INTP1 inter RB1 //使用中斷功能

        #pragma DI //使用關(guān)中斷功能

        #pragma EI //使用開(kāi)中斷功能

        //*************變量定義*************

        unsigned int b; //定義軟件延時(shí)計(jì)數(shù)變量

        char msflag; //定義主、副時(shí)鐘切換標(biāo)志



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 井研县| 阿城市| 合山市| 佛山市| 沈阳市| 封丘县| 保山市| 乐东| 绥德县| 曲麻莱县| 于田县| 松潘县| 美姑县| 临海市| 环江| 三门峡市| 方正县| 武定县| 平遥县| 措勤县| 宝应县| 正宁县| 赤壁市| 舟曲县| 灵璧县| 宜宾县| 徐水县| 固始县| 岗巴县| 墨江| 科尔| 建湖县| 信丰县| 中山市| 师宗县| 日照市| 清流县| 襄汾县| 湾仔区| 岐山县| 治县。|