This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Power Management Mode in DS89C450

Hi, I am using DS89C450 micro-controller chip.

I read the DS89C450 datasheet. To save power, CD1 and CD0 (PMR.7-6) bits need to set to 1, which sets an operating rate of 1024 oscillator cycles for one machine cycle. And SWB (PMR.5) bit need to set to 1 for the switchback function.

I am confuse with this paragraph stated in the datasheet. It state that when CD1 and CD0 are programmed to the divide-by-1024 mode and the SWB bit is also enabled, the system forces the clock-divide control bits to automatically reset to the divide-by-1 mode whenever the system detects an externally enabled interrupt.

So does that mean that the divide-by-1 mode is activated when I also enabled my external interrupts? Or else how do I actually use the power-management mode? Or how do I know it is actually in power-saving mode? And below is my programming.


void main(void)
{
        SerialPorts_Initialise();
        Serial_txString1("Serial Ports Running.");
        tx_port1(CR);
        tx_port1(LF);

        SetEdgeRiseFall();
        Serial_txString1("Set Rise/Fall Edges.");
        tx_port1(CR);
        tx_port1(LF);

        Interrupts_Enable();
        Serial_txString1("Enabling global and external 0, 2, 3, 4 and 5 INTs.");
        tx_port1(CR);
        tx_port1(LF);

        PMR=0xE0;
//set CD1, CD0 & SWB (PMR.7-5) bits to 1 (reduce cycle rate & enable switchback function)

        while(1);
}

Parents Reply Children
No data