分享

一、单片机学习——流水灯实验

 路人甲Java 2022-07-05 发布于北京

实验目的: 理解并掌握 led 灯的点亮原理;
      理解并掌握单片机的 C 语言编程方法;
      理解并掌握单片机位操作与端口操作的方法;
实验模块:核心板+8 位流水灯与独立按键模块

模块连接图:

                                       

 

电路原理图:

             

 

 

电路原理:将8位流水灯LED1——LED8的阴极与单片机的I/O口P1端口相连,当单片机P1端口相应的位赋低电平时,LED灯被点亮

 

 

 

实验源码:使用单片机的P1口做输出口,依次全部点亮8位发光二极管。

  

#include "reg51.h"       //包含头文件
sbit led=P1^5;           //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT
#define uchar unsigned char
#define uint  unsigned int
//延时函数
//**************************************************************************************************
delay(uint time)         //int型数据为16位,所以最大值为65535           
 {
  uint  i,j;             //定义变量i,j,用于循环语句
  for(i=0;i<time;i++)    //for循环,循环50*time次
     for(j=0;j<50;j++);  //for循环,循环50次
 }
//**************************************************************************************************
//主函数
//**************************************************************************************************
void main()             //主函数
{
 uchar  i,j;            //定义变量i,j;
 while(1)               //进入while死循环
  {                    
   j=0xfe;              //0xfe即为二进制1111 1110,即最低位为0,其他位为1
   for(i=0;i<8;i++)     //进入for循环,循环8次
     {
      P1=j;             //依次点亮8位LED
      delay(5000);      //延时,修改延时即可修改时间间隔
      j<<=1;            //j左移1位,j<<=1等效于j=j<<1
     }       
  }        
}

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多