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
         }       
      }        
    }
  • 相关阅读:
    STL 全排列
    Happy Programming Contest
    输入外挂
    Crazy Professor
    订票助手 12306
    我的e证空间 出入境证照可在家自拍啦!
    雨生红球藻 虾青素 寻找正规产品!
    CAR 汽车团购网站—广州
    3G路由器、无线接入点(无线AP)、无线路由器!
    微软 Lightswitch 发布 V2 Beta,引入新的逻辑层基础技术!
  • 原文地址:https://www.cnblogs.com/breads/p/12676178.html
Copyright © 2011-2022 走看看