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
         }       
      }        
    }
  • 相关阅读:
    动态规划算法介绍——概念、意义及应用、例题
    两个大数相减
    删除apache的签名的shell脚本
    C++中智能指针的设计和使用
    eclipse save action不起作用
    [leetcode]51. N-QueensN皇后
    [leetcode]33. Search in Rotated Sorted Array旋转过有序数组里找目标值
    [leetcode]88. Merge Sorted Array归并有序数组
    [leetcode]636. Exclusive Time of Functions函数独占时间
    [leetcode]257. Binary Tree Paths二叉树路径
  • 原文地址:https://www.cnblogs.com/breads/p/12676178.html
Copyright © 2011-2022 走看看