zhujianwei 发表于 2006-12-5 20:38:40

请教一个问题!单片机!

请求帮!!


我想做个一51单片机程序!!

2.02.12.32.2上各一个灯!!

2.0 2.2同时给1亮 2.2过25秒息了 立即2.3亮
                     同时2.0过30秒息 立即2.1亮120秒后息 立即2.0亮

zxy1208 发表于 2007-4-3 08:20:40

很简单啊,我也初学,就是一个延时和电平的控制,搜索一下,资料很多啊:)

ljqlaq 发表于 2007-4-4 18:08:15

#include <sst89x5x4.h>

sbit P20 = P2^0;
sbit P21 = P2^1;
sbit P22 = P2^2;
sbit P23 = P2^3;


//*************************************************************************************************
//函数原型:        void Delay_ms(unsigned int nValue)
//参数说明:        nValue 毫秒为单位,24MHz晶振
//返回值:        无
//说明:                无
//*************************************************************************************************
void Delay_ms(unsigned int nValue)
{
        unsigned char nCount;
        for(; nValue ; nValue--)
        {       
                for(nCount = 248 ; nCount ; nCount--)
                { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); }
        }
}

//*************************************************************************************************
//函数原型:        void main(void)
//参数说明:        无
//返回值:        无
//说明:                无
//*************************************************************************************************
void main(void)
{
        P20=1;                //2.0 2.2同时给1亮
        P22=1;

        Delay_ms(25000);        //延时25000 mS = 25 S
       
        P22=0;                        //2.2过25秒息了
        P23=1;                        //立即2.3亮

        Delay_ms(5000);        //延时5000 mS = 5 S

        P20=0;                        //同时2.0过30秒息
        P21=1;                        //立即2.1亮

        Delay_ms(60000);        //延时60000 mS = 60 S
        Delay_ms(60000);        //延时60000 mS = 60 S

        P21=0;                        //120秒后息
        P20=0;                        //立即2.0亮
}


超级简单,,,不知合不合意....
页: [1]
查看完整版本: 请教一个问题!单片机!