專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

從點(diǎn)亮第一個(gè)燈到流水燈

作者:huqin   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月01日   【字體:




#include<reg52.h>                //52系列單片機(jī)頭文件
sbit  led1=P1^0;                   //聲明單片機(jī)P1的第一位
void main ()                       // 主函數(shù)    (從這里開始執(zhí)行)
{
    led1=0;                        //點(diǎn)亮的一個(gè)二極管  (所有的I/O口都是默認(rèn)的高電平)
}
#include<reg52.h>
void main()
{
    P1=0xfe;
}
#include<reg52.h>
void main ()
{
    P1=0xfe;
    while(1);                     //大循環(huán)
}
          for語(yǔ)句的延時(shí)
#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--)                   //延時(shí)語(yǔ)句
            for(j=110;j>0;j--);
        led1=1;
        for(i=1000;i>0;i--)
            for(j=110;j>0;j--);
    }
}
子涵數(shù)延時(shí)語(yǔ)句
#include<reg52.h>
#define uint  unsigned int
sbit led1=P1^0;
void delay1s();                          //聲明子函數(shù)
void main()
{
    while(1)
        {
            led1=0;
            delay1s();                        //調(diào)用延時(shí)子函數(shù)
            led1=1;
            delay1s();
        }
}
void delay 1s()                               //子函數(shù)體
{
    uint i,j;
    for(i=500;i>0;i--)                         //延時(shí)500ms
        for(j=110;j>0;j--);
}
帶參函數(shù)
#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--);
}
利用庫(kù)函數(shù)實(shí)現(xiàn)流水燈
左移程序
#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循環(huán)左移一位再賦予給aa
    }
}
void delayms(uint xms)
{
    uinti,j;
    for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
}
 

關(guān)閉窗口

相關(guān)文章