【基于51单片机的流水灯】

该实验主要探讨了单片机中左移crol和右移cror指令的使用,以及延时程序delay的实现。通过设置程序跳转实现了循环控制,用P2口驱动LED流水灯展示了这些基本控制语句的实际操作。实验代码包括了左移和右移操作的循环,并通过仿真验证了效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


基本控制语句应用

a. 理解左移 crol、右移 cror 指令的功能。
b. 延时程序 delay 的具体执行过程、延时量控制等。
c. 掌握通过设置程序的跳转来实现程序循环的方法。


二、实验代码与仿真

1.代码

代码如下:

#include <reg52.h>
#include <intrins.h>//_crol_和_crol_的头文件
#define uint unsigned int
#define uchar unsigned char
uchar temp,i;

void delay(uint z)
{
  uint x,y;
  for(x = z;x > 0;x--)
     for(y = 114;y > 0;y--);
}
void main()
{
   temp = 0xfe;
   P2 = temp;
   delay(100);
   while(1)
   {
		 for(i=0;i<7;i++)
		 {
			 temp = _crol_(temp, 1);//_crol_循环往左移一位,低位的补去高位
       P2 = temp;			
       delay(100);
		 }i=0;
		 for(i=0;i<7;i++)
		 {
			 temp = _cror_(temp, 1); //_cror_ 循环往右移一位,高位的补去低位
       P2 = temp;			
       delay(100);

		 }
      
   }
}

2.仿真

在这里插入图片描述

总结

流水灯是学习所有单片机的基础,我实验一做的是最简单的八位流水灯,但是用P2驱动16个LED灯也是不难的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值