单片机LED点阵如何显示数字和图形

单片机LED点阵如何显示数字和图形,C语言代码,实验做不出来了,谢谢各位

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/644318
  • 除此之外, 这篇博客: 《51单片机C语言程序设计教程》涉及的细节问题笔记中的 点亮第一个LED实验代码修正 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 如果你认真的阅读了书本,那么点亮第一个LED的代码将会是这样:

    #include<reg52.h>
    sbit LED=P1^0;
    
    void main(){
    	LED=0;
    	while(1);
    }
    

    当你认认真真搞完了代码,编译,烧录后,你发现单片机根本不理你。试了很多次,然而一点办法也没有。你可能觉得使单片机坏了,而事实并不是这样。
    书本在前文已经讲了发光二极管的原理,单片机通过改变引脚电平来控制发光二极管两端的电位,因此我们可以首先考虑是否是引脚的问题。
    拿到开发板,首先查看技术文档是一个好习惯,技术文档描述了手中开发板的性能和特点。而网络上的意见未必适用与你的情况
    在这里插入图片描述
    如图所示,这是8个共阳极发光二极管。这里可能会有同学被单片机的标识误导。如下方图片所示,在区域5中同时标有LED模块和88点阵,而实际上88点阵是区域4。
    在这里插入图片描述
    另外 ,在LED模块示意图中,我们知道LED模块阴极实际上连接着单片机P2引脚群而不是P1引脚群。(假设忽略锁存器RP9和RP10,因为锁存器在使用时都是可以看作导通的)
    锁存器可以看成是一种大型的RS触发器(基本触发器),它也具有保持态。书本P27举例了关于锁存器74HC573的例子,这里不再赘述。
    为了解决LED无法点亮的问题,我们只需要将所控制的引脚代码修改一下即可。

    #include<reg52.h>
    sbit LED=P2^0;
    
    void main(){
    	LED=0;
    	while(1);
    }
    

    P2^0就是指P2引脚群的第一个引脚,我们只需更改一个引脚名称,就可以是程序正确起来。