第 3.51 节

51单片机(了解即可)

以STC89C52为例子

点一个亮灯

#include "reg51.h"

void main ()
{
        P2 = 0xFE;// 等同于  P2 = 0b   1111 1110;

        while (true)
        {

        }
}

延时函数定义

//固定延时函数
void Delay500ms()                //@12.000MHz
{
        unsigned char i, j, k;

        _nop_();
        i = 4;
        j = 205;
        k = 187;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}

让灯闪烁


#include "reg51.h"
void Delay500ms()                //@12.000MHz
{
        unsigned char i, j, k;

        _nop_();
        i = 4;
        j = 205;
        k = 187;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}

void main ()
{

        while (1)
        {
                P2 = 0xFE;
                Delay500ms();
                P2 = 0xFF;
                Delay500ms();
        }
}