找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2448|回复: 0
收起左侧

LED闪烁的简单试验 8盏LED交替亮灭的实验效果

[复制链接]
ID:157381 发表于 2017-1-19 00:13 | 显示全部楼层 |阅读模式
喜欢的朋友可以看看

/*******************************************************************************
*                 
*                     
--------------------------------------------------------------------------------
* 实 验 名   : LED闪烁的简单试验
* 实验说明       : 得到8盏LED交替亮灭的实验效果
* 连接方式       : 见连接图
* 注    意   :
*******************************************************************************/
//--包含你要使用的头文件--//
#include <reg51.h>    //此文件中定义了51的一些特殊功能寄存器
//--声明全局函数--//
void Delay10ms(unsigned int c);   //延时10ms
/*******************************************************************************
* 函 数 名         : main
* 函数功能     : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void main()
{
while(1)
{
  //--数字前面加0x表示该数是十六进制的数,0x00就是十六进制的00--//
  //--P0口一共有8个IO口,即从P0.0到P0.7,而0x00二进制就是0000 0000--//
  //--效果就是P0.0到P2.7都是0,即低电平。而如果你想给P0.1口赋高电平时--//
  //--二进制就是0000 0001,就是十六进制0x01.--//
  P0  = 0x00; //置P0口为低电平
  
  Delay10ms(50); //调用延时程序,修改括号里面的值可以调整延时时间
  
  P0  = 0xff; //置P0口为高电平
   
  Delay10ms(50); // 调用延时程序
}
}
/*******************************************************************************
* 函 数 名         : Delay10ms
* 函数功能     : 延时函数,延时10ms
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void Delay10ms(unsigned int c)   //误差 0us
{
    unsigned char a, b;
//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
    for (;c>0;c--)
{
  for (b=38;b>0;b--)
  {
   for (a=130;a>0;a--);
  }
           
}
        
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表