• 点亮LED


     之前一篇文章介绍了LED发光的原理,只需要将发光二极管对应的STC89C52引脚电平设置为低电平就可以了,好,我们把D1 D3 D5点亮。

     怎么知道哪个引脚控制哪个发光二极管呢? 这个我想配套的电路原理资料会有解释的,我这里也是看视频知道的。

    具体步骤是 先编写代码,编译,然后用开发板对应的烧录程序把最后生成的HEX文件写进去。

    先看下代码:

    #include "reg52.h"
    
    sbit ledD1=P2^0; //P20     
    sbit ledD3=P2^2; //P22
    sbit ledD5=P2^4; //P24
    
    void main()
    {
    
        while(1)
        {
             ledD1=0;
             ledD3=0;
             ledD5=0;
        
        }
    
    
    }

    代码解释:

    sbit ledD1=P2^0; //P20

    要控制哪个引脚,就给这个引脚起一个名字,然后用这个名字设置引脚的数据。值得注意的是,P20引脚在程序中要写成P2^0,其他引脚也是类似的做法。

    我给P20这个引脚起了一个名字,叫ledD1,因为它控制D1这个发光二极管是否发光。

    ledD1=0;

    这是把P20这个引脚设置为低电平,这样D1就亮了。

     while(1)
        {
             ledD1=0;
             ledD3=0;
             ledD5=0;
        
        }

    为什么要有一个循环,因为我们想让D1 D3 D5一直亮,所以就必须一直给P20 P22 P24低电平,重复做一件事情,那不就是用循环吗?事实上我试过,直接把代码写成

     ledD1=0;
     ledD3=0;
     ledD5=0;

    D1 D3 D5也会一直亮,我猜测是编译器给我们自动加上了循环的代码。

    烧录

    电脑用USB线连接开发板之后安装驱动,打开烧录程序,依次点击 选择心片类型 串口号 打开文件 程序下载 

    最后看下效果图:

  • 相关阅读:
    编译问题----宏定义一定显示未定义
    低级错误记录-程序更新后,没有显示想要的结果
    云编译的优点-普及云编译
    telecommunication communication 的区别
    学习EPC架构演进历史知识
    EOF与feof的区别
    epoll惊群问题-解决思路
    epoll多路复用机制的学习
    进程组与组长进程
    记录博客开始
  • 原文地址:https://www.cnblogs.com/yfish/p/10841522.html
Copyright © 2020-2023  润新知