zoukankan      html  css  js  c++  java
  • 一、单片机学习——流水灯实验

    实验目的: 理解并掌握 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
         }       
      }        
    }
  • 相关阅读:
    马拦过河卒
    最小生成树 kruskal算法
    链表,关键是结构体的快排
    Shortest Prefixes 字典树
    串的匹配
    A Beautiful Meadow
    Tiling
    邻接矩阵的宽度遍历
    邻接矩阵的深度遍历
    Form1.frm
  • 原文地址:https://www.cnblogs.com/breads/p/12676178.html
Copyright © 2011-2022 走看看