zoukankan      html  css  js  c++  java
  • 【51单片机】六种亮灯方式

    51单片机中关于点亮灯管的简单程序:

    (1)点亮第一盏灯:

    <span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
    sbit D1=P1^0;    
    void main()
    {
    	D1=0;
    }
    </span>

    若要点亮第二盏。改为sbit D2=P1^0;

     

    (2)在reg52.h文件里加入:sbit D1=P1^0;

    用于点亮第一盏灯,若要点亮第二盏灯。sbit D2=P1^1;以此类推

    <span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
    void main()
    {
    	D1=0;
    }
    </span>


     

    (3)使用进制数来点亮灯

    <span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
    void main()
    {
    	P1=0xfd;//(十六进制,1111 1101。第二盏灯亮)
    }
    </span>

     

    (4)灯光的闪烁

    <span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
    sbit p1_1=p1^0;
    unsigned int a;
    void main()
    {
    	while(1)
    	{
    		a=50000;
    		p1_1=0;
    		while(a--);
    		a=50000;
    		p1_1=1;
    		while(a--);
    	}
    }
    </span>


     

    (5)灯光闪烁的延迟

    <span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
    void delay();
    
    //sbit D1=P1^0;(由于在reg52.h文件已经加了凝视,便能够直接使用
    
    void main()
    {
    	while(1)
    	{
    		 D1=0;
    		 delay();
    		 D1=1;
    		 delay();
    	}
    }
    
    void delay()
    {
    	unsigned int x,y;
    	for(x=100;x>0;x--)
    		for(y=2000;y>0;y--);
    }
    </span>

     

    (6)流水灯的实现

    <span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
    #include <intrins.h> //包括_crol_函数的头文件
    void delay(unsigned int z);
    unsigned char temp;
    
    void main()
    {
    	temp=0xfe;
    	P1=temp;
    	while(1)
    	{
    		temp=_crol_(temp,1);//左移一位
    		delay(100);
    		P1=temp;
    	}	
    }
    
    void delay(unsigned int z)
    {
    	unsigned int x,y;
    	for(x=z;x>0;x--)
    		for(y=500;y>0;y--);
    }
    
    </span>




     


     

  • 相关阅读:
    【Swift后台】环境安装
    【Swift后台】背景介绍
    【Swift后台】目录
    退居三线iOS开发的自主开发历程
    Swift调用微信支付宝SDK(Swift4.0)
    ORACLE取对照表不等的数据
    Binary转换成Hex字符串
    利用OpenSSL创建证书链并应用于IIS7
    sysctl.conf和limit.conf备忘待查
    Use Wireshark to capture loopback traffic without a loopback adapter (转)
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7202607.html
Copyright © 2011-2022 走看看