基于51单片机的C语言流水灯程序

发布者:keiss2018最新更新时间:2016-01-19 来源: eefocus关键字:51单片机  C语言  流水灯程序 手机看文章 扫描二维码
随时随地手机看文章
#include   //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数


void delay(uint);   //声明延时函数
void main()
{
 uint i;
 uchar temp;
 
 while(1)
 {
     temp=0x01;
     for(i=0;i<8;i++) //8个流水灯逐个闪动
     {
       P2=~temp;
       delay(500);   //调用延时函数
       temp<<=1;
     }
 temp=0x80;
 for(i=0;i<8;i++) //8个流水灯反向逐个闪动
    {
      P2=~temp;
      delay(500);   //调用延时函数
      temp>>=1;
    }
     temp=0xFE;
 for(i=0;i<8;i++) //8个流水灯依次全部点亮
     {
       P2=temp;
       delay(500);   //调用延时函数
       temp<<=1;
     }
    temp=0x7F;
    for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
     {
       P2=temp;
       delay(500);   //调用延时函数
       temp>>=1;
     }
 }

}


void delay(uint a)  //延时函数,毫秒级别
{
 uint i;
 while(--a!=0)   //执行空操作循环,其中a为形参,由调用该函数的函数语句提供值
 {
  for(i=0;i<125;i++);//执行当0加到125时,大约会用掉1ms的时间
 }
}

关键字:51单片机  C语言  流水灯程序 引用地址:基于51单片机的C语言流水灯程序

上一篇:智能小车C语言程序
下一篇:单片机模拟IIC总线与EEPROM进行数据通信

推荐阅读最新更新时间:2024-03-16 14:44

51单片机STC89C52 矩阵键盘数码管显示
WELA BIT P2.7 DULA BIT P2.6 DIOLA BIT P2.5 FM BIT P2.3 ORG 0000H SETB DIOLA MOV SP,#0E0H LOOP0: LCALL key_Scan JZ LOOP0 LCALL DELAY20MS LCALL key_Scan JZ LOOP0 MOV P1,A LCALL Smg HERE0: LCALL key_Scan ;等待按键释放 JZ LOOP0 LCALL DELAY20MS SJMP HERE0 key_Scan: SETB RS1 MOV P3,#0FH ORL P3,#0FH MOV
[单片机]
用普中开发板做的51单片机的智能时钟具有闹钟功能
本贴针对学完单片机并且有读懂代码的非新手同学。本人目前放寒假,这个是本人在上个学期的单片机课上要求做的综合实验,现在重新修改了下增加了菜单目前测试毫无问题可以完美使用。有志向做闹钟的同学可以参考一下,原码上由本人写的大量注释可以方便看懂。 使用了LCD1602、DS1302、DS18B20用来测试温度、内部含闹钟系统但本人没有做EEPROM有需要的同学可以自行添加。 单片机源程序如下: #include reg52.h #include key.h #include LCD1602.h #include DS1302.h #include music.h #include DS18B20.H #define no
[单片机]
MCS-51单片机的串行I/O口及控制寄存器
1、串行口的结构 MCS-51串行口结构框图示于图。由图可见 MCS-51 单片机 串行口主要由两个物理上独立的串行数据缓冲寄存器SBUF、发送控制器、接收控制器、输入移位寄存器和输出控制门组成。两个特殊功能寄存器SCON和PCON用来控制串行口的工作方式和波特率。发送缓冲寄存器SBUF只能写,不能读;接收缓冲寄存器SBUF只能读,不能写。两个缓冲寄存器共用一个地址99H,可以用读/写指令区分。 串行发送时,通过 MOV SBUF,A 写指令,CPU把累加器A的内容写入发送的SBUF(99H),再由TxD引脚一位一位地向外发送;串行接收时,接收端从RxD一位一位地接收数据,直到收到一个完整的字符数据后通知CPU,再通过 M
[单片机]
MCS-<font color='red'>51单片机</font>的串行I/O口及控制寄存器
51单片机驱动1602LCD液晶的程序
/********************************************************************* 文件名称:lcd1602.c 文件功能:lcd1602液晶驱动 *********************************************************************/ #include lcd1602.h /********************************************************************* 功能:读取LCD状态 参数:无 返回:0 -- 空闲,可以进行读写操作 1 -- 忙 ********
[单片机]
8051单片机指令系统剖析详解
MCS- 51系列单片机的指令系统是一种简明高效的指令系统,其基本指令共有111条,其中单字节指令49条,双字节指令4'5条,三字节指令17条。如果按功能可以讲这些指令分为五类:数据传送类(29条)、算术操作类(24条)、逻辑操作类(24条)、控制转移类(17条)以及位变量操作类(17条)。对于反向设计而言,我们关心的不是它的各种具体指令的多少而是指令的寻址方式。所谓的寻址方式就是寻找确定参与操作的数的真正地址。MCS-51系列单片机的111条指令一共只采用了5种寻址方式。5种寻址方式以及它们的寻址空间如表1所示。 1.寄存器寻址 寄存器寻址方式可用于访问选定寄存器区的8个工作寄存器RO-R7。由指令操作码的低三位指示所用
[单片机]
80<font color='red'>51单片机</font>指令系统剖析详解
51单片机:定时器与中断系统的运用
#include regx52.h void Delay(int time) { while(time--) //while循环一次需要10us { } } void Timer0Init(void) //1毫秒@11.0592MHz { TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x01; //设置定时器模式 TL0 = 0x66; //设置定时初值 TH0 = 0xFC; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 ET0 = 1; EA = 1;
[单片机]
<font color='red'>51单片机</font>:定时器与中断系统的运用
4-基于51单片机的多量程数字电压表
具体实现功能 仿真可以实现四个量程的切换(2V、20V、200V、500V),并模拟实现直流电压的测量与显示。 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X51 可降至0Hz 静态逻辑操作,支持2种软件可选择节
[单片机]
4-基于<font color='red'>51单片机</font>的多量程数字电压表
什么是51单片机最小系统
1.什么是51单片机 51 内核单片机是 指兼容Intel 的8051指令系统的单片机统称;从诞生到现在的几十年时间,已成为一款经过市场考验、成熟的芯片产品。目前国内也众多51单片机厂家,且还有众多带51内核,用于各种不同场景的专用类单片机。 51单片机内部框架: 以下以STC89C52单片机为例,其内部总体结构其基本特性如下: 8位CPU、4-8k 字节 ROM、128 字节 RAM、21 个特殊功能寄存器32根I/0线、可寻址的 64 字节外部数据、程序存贮空间、2个 16 位定时器计数器中断结构:具有二个优先级、五个中断源、一个全双工串行口、位寻址(即可对寄存器进行位操作)功能,能按位进行逻辑运算的位处理器。 除 1
[单片机]
什么是<font color='red'>51单片机</font>最小系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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