01.初识单片机(编程控制单片机LED灯)

        经过上一节我们对51单片机有了初步的认识,下面我们开始一些基本的编程来操作单片机。

一、点亮一个LED灯

#include "reg52.h"

sbit LED1 = p3^7; //引入单片机上灯的引脚

void main()
{
    //给LED1一个低电平 使其亮灯
    LED1 = 0;
    
}

二、 编程使LED灯闪烁

#include "reg52.h"

sbit LED1 = p3^7; //引入单片机上灯的引脚

//使用STC-ISP自带延时函数
void Delay100ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	i = 5;
	j = 52;
	k = 195;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void main()
{
    //使用while循环 重复执行以下代码 实现灯闪烁的功能
    while(1){
        //给LED1一个高电平 使其灯灭
        LED1 = 1;

        //调用延时函数
        Delay100ms();

        //给LED1一个低电平 使其亮灯
        LED1 = 0; 

        Delay100ms();  
    }
}

三、编程实现按键控制灯的亮灭

#include "reg52.h"

sbit LED1 = p3^7; //引入单片机上灯的引脚
sbit KEY1 = P2.1; //引入单片机上按键1的引脚
sbit KEY2 = P2.0; //引入单片机上按键2的引脚

//使用STC-ISP自带延时函数
void Delay100ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	i = 5;
	j = 52;
	k = 195;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void main()
{
    //使用while循环 重复执行以下代码 实现按键控制灯的功能
    while(1){
        //使用条件判断语句来检测按键是否被按下
        if(KEY1 == 0){

            //调用延时函数 来防止按键非人为抖动导致误判
            Delay100ms();

            if(KEY1 == 0){
                //给LED1一个低电平 使其亮灯
                LED1 = 0;
            }   
        }
        
        //使用条件判断语句来检测按键是否被按下
        if(KEY2 == 0){
            //给LED1一个高电平 使其灯灭
            LED1 = 1;
        }
 
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值