从点亮第一个灯到流水灯

发布者:蓝天飞行最新更新时间:2015-03-11 来源: 51hei关键字:流水灯 手机看文章 扫描二维码
随时随地手机看文章



#include                //52系列单片机头文件
sbit  led1=P1^0;                   //声明单片机P1的第一位
void main ()                       // 主函数    (从这里开始执行)
{
    led1=0;                        //点亮的一个二极管  (所有的I/O口都是默认的高电平)
}
#include
void main()
{
    P1=0xfe;
}
#include
void main ()
{
    P1=0xfe;
    while(1);                     //大循环
}
          for语句的延时
#include
#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
#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
#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
#define uint unsigned int
uchar a;
void main()
{
    a=0xaa;
    while(1)
    {
    a=a<<1;
    }
}
右移程序
#include
#define uint unsigned int
uchar a;
void main ()
{
    a=0xaa;
    while(1)
    {
        a=a>>1;
    }
}
#include
#include
#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--);
}
关键字:流水灯 引用地址:从点亮第一个灯到流水灯

上一篇:STC12C2052单片机解剖实验报告
下一篇:51单片机定时闹钟程序(带按键)

推荐阅读最新更新时间:2024-03-16 13:54

用定时器加中断实现间隔1S的流水灯C程序
#include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar aa,count,flag; void main() //主函数 { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; aa=0xfe; //赋初值11111110 while(1) //大循环 { P1=aa; if(flag==1)
[单片机]
51单片机实验3:led流水灯
开发板led模块电路图如下: 循环左/右移函数头文件为 intrins.h #include reg52.h #include intrins.h #define uc unsigned char void delay(uc n) { uc i,j; for(i=1;i =n;i++) for(j=110;j =1;j--); } void main() { P2=0xFE; while(1) { delay(200); p2=_crol_(P2,1); delay(200); } }
[单片机]
51单片机实验3:led<font color='red'>流水灯</font>
C51---2.3 LED流水灯
原理图 main函数 固定500ms延时 LED1-LED8流水灯闪烁 #include REGX52.H #include INTRINS.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;//1111 1110 De
[单片机]
C51---2.3 LED<font color='red'>流水灯</font>
89c51单片机的简单运用1--数码管、流水灯
一.简单的点灯程序需要记住的 1.单片机控制开发板的二极管亮灭: 由单片机的P1口控制,注意开发板的原理图,分清楚到底是给低电平亮还是高电平亮,一般都给低电平亮。 控制灯分为总线法和位选法,总线法是用十六进制数控制P1口的高低电平,1为高,0为低,位选是选出P1口的任意一位操作。 流水灯是通过延时函数或定时器延时,依次控制不同的灯亮来完成流水灯 2.数码管的静态显示和动态扫描: Lab-MCS51开发板通过单片机的P^0~P^3口分别控制四个数码管的亮灭,每个数码管显示的内容由P0口控制, 控制线路图如上,通过P0使a,b,c,d,e,f,g,dp亮,显示不同的数字或符号。 动态扫描是减少数码管间亮
[单片机]
89c51单片机的简单运用1--数码管、<font color='red'>流水灯</font>
Cepark 51基于RTX-51 tiny的花样流水灯
/* ** RTX-51的移植 ** 此程序是循环花样显示LED灯 ** 有三个显示样式,分别对应下面的三个进程 ** 下面的算法中用到了 时间到空间 的转换,使得算法简化不少 ** 此程序我已在Cepark 51开发板上试验通过。 ** P0口接8个LED灯,低电平点亮! */ #include reg51.h #include rtx51tny.h const unsigned char table ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 ,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0xFF,0x00}; /*时间到空间的转换,如果table是: co
[单片机]
AT89C51通过74HC595锁存器控制流水灯
先上图 如图,通过单片机P2^0,P2^1,P2^3将控制信号通过锁存器传输到LED,从而实现流水灯小程序。 主程序如下: #include reg51.h #include intrins.h #include 74HC595.H void Delay1ms() //@11.0592MHz { unsigned char i, j; _nop_(); i = 2; j = 199; do { while (--j); } while (--i); } void delays(unsigned t) //delay 500ms { t=500*t; while(t--) Delay
[单片机]
AT89C51通过74HC595锁存器控制<font color='red'>流水灯</font>
4利用移位函数操作点亮流水灯
功能说明:利用移位函数操作点亮流水灯 程序源代码如下: #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int #define led P0 void delay (void) { uchar a,b; for(a=0;a 200;a++) for(b=0;b 200;b++); } void main(void) { uchar i,k; while(1) { k = 0xfe; for(i=0;i 8;i++) { led = k; de
[单片机]
4利用移位函数操作点亮<font color='red'>流水灯</font>
GCC AVR实验之一:流水灯
/********************************************************************** * 文件名称: main.c * 程序作者: Kevin Chin * 程序版本: V1.0 * 编制日期: 2010/06/28 * 功能描述: 8位LED循环点亮 * 编译器:WinAVR-20090313 * 芯片:ATmega16,外部11.0592MHZ晶振 * 技术支持:http://www.cepark.com **********************************************************************/ #include avr
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved