专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

从点亮第一个灯到流水灯

作者:huqin   来源:本站原创   点击数:  更新时间:2014年04月01日   【字体:




#include<reg52.h>                //52系列单片机头文件
sbit  led1=P1^0;                   //声明单片机P1的第一位
void main ()                       // 主函数    (从这里开始执行)
{
    led1=0;                        //点亮的一个二极管  (所有的I/O口都是默认的高电平)
}
#include<reg52.h>
void main()
{
    P1=0xfe;
}
#include<reg52.h>
void main ()
{
    P1=0xfe;
    while(1);                     //大循环
}
          for语句的延时
#include<reg52.h>
#define uint  unsigned  int                                      //宏定义
sbit   led1=P1^0;
uint  i,j;
void main()
{
    while(1)
    {
        led1=0;
        for(i=1000;i>0;i--)                   //延时语句
            for(j=110;j>0;j--);
        led1=1;
        for(i=1000;i>0;i--)
            for(j=110;j>0;j--);
    }
}
子涵数延时语句
#include<reg52.h>
#define uint  unsigned int
sbit led1=P1^0;
void delay1s();                          //声明子函数
void main()
{
    while(1)
        {
            led1=0;
            delay1s();                        //调用延时子函数
            led1=1;
            delay1s();
        }
}
void delay 1s()                               //子函数体
{
    uint i,j;
    for(i=500;i>0;i--)                         //延时500ms
        for(j=110;j>0;j--);
}
带参函数
#include<reg52.h>
#defin uint unsigned int
sbit led1=P1^0;
void delayms (uint);
void main()
{
    while(1)
    {
            led1=0;
            delayms(500);
            led1=1;
            delayms(500);
    }
}
void delayms(uint   xms)
{
    uint i,j;
        for(i=xms;i>0;i--)
            for(j=110;j>0;j--);
}
利用库函数实现流水灯
左移程序
#include<reg52.h>
#define uint unsigned int
uchar a;
void main()
{
    a=0xaa;
    while(1)
    {
    a=a<<1;
    }
}
右移程序
#include<reg52.h>
#define uint unsigned int
uchar a;
void main ()
{
    a=0xaa;
    while(1)
    {
        a=a>>1;
    }
}
#include <reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
uchar aa;
void main();
{
    aa=0xfe;          //赋初值11111110
      while(1)
    {  
         p1=aa;
        delayms(500);
        aa=_croi_(aa,1);                               //将aa循环左移一位再赋予给aa
    }
}
void delayms(uint xms)
{
    uinti,j;
    for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
}
 

关闭窗口

相关文章