C51实现流水灯-创新互联

文章目录
  • 一、实验要求
  • 二、实验代码和原理图
    • 1.代码
    • 2.原理图
  • 总结

创新互联是专业的黄山网站建设公司,黄山接单;提供成都网站建设、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行黄山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
一、实验要求

1、 先八盏灯从左至右依次点亮,同一时刻仅有一盏灯处于被点亮状态,每盏灯亮0.5s,然后八盏灯从右至左依次点亮,同一时刻仅有一盏灯处于被点亮状态,每盏灯亮0.5s,循环两遍;
2、 八盏灯同时闪烁,亮1s,灭0.5s;,实现4次;
3、 上述过程周而复始的循环运行;

二、实验代码和原理图 1.代码

代码如下(示例):

#include"reg51.h"
#include"intrins.h"
#define uchar unsigned int  //起小名 
#define uint unsigned int   //+1 
uchar code ledcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //共阴极码表

void delay(uint n)//延时函数 
{uchar j;
	while(n--)
    for(j=0;j<113;j++);
}

int main()
{uchar i,temp;//temp控制次数 

   while(1)
   {   	   temp=2;
   	   while(temp)//要求1 
   	   {   for(i=0;i<8;i++)
		   {	P0=ledcode[i]^0xFF;
			delay(300);
			P0=0xFF;	  
		   } 
		   temp--;  	   	
	   }
		
        temp=2;	
		while(temp)
		{	 
     		for(i=6;i>0;i--) 
			{ 
			    P0=ledcode[i]^0xFF;	 	  
				delay(300);			
			    P0=0xFF;			
			}
			 	P0=ledcode[0]^0xFF;	 	  
				delay(300);			
			    P0=0xFF;			
			temp--;
			if(temp)
			{	P0=ledcode[7]^0xFF;
			delay(300);
			P0=0xFF;
			}
		}
		 
		temp=4;
		while(temp)//要求3 
		{	P0=0x00;	
			delay(600);
			P0=0xFF;
			delay(300);
			temp--;
		}
   }	
} 
2.原理图

在这里插入图片描述proteus版本为8.10

总结

本次实验不是特别难,我所做的也只是一种方法而已。代码之路何其艰辛,条条大路通罗马,大家要是还有其他方法,可以在评论区留言。我期待与大家进行学习交流。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:C51实现流水灯-创新互联
网页链接:http://hbruida.cn/article/doohsc.html