• 基于 51 的点阵屏显示 8*8 点阵仿真实验


    点亮第一个 8*8 点阵

    1.  首先在 Proteus 下选择我们需要的元件 

            AT89C52、74LS138、MATRIX-8*8-GREEN(在这里使用绿色的点阵)。在Proteus 6.9 中8*8 的点阵总共有四种颜色,分别为MATRIX-88-GREEN ,MATRIX-8*8-BLUE ,MATRIX-8*8-ORANGE,MATRIX-88-RED在这里请大家牢记:红色的为上列选下行选;其它颜色的为上行选下列选!而所有的点阵都是高电平选中列,低电平选中行!也就是说如果某一个点所处的行信号为低,列信号为高,则该点被点亮!此结论是我们编程的基础。

    2.布线

            在选择完以上三个元件后,我们开始布线,具体如下图:

    这里P2是列选,P3连接38译码器后作为行选。

    选择 38 译码器的原因:38 译码器每次可输出相应一个10口的低电平,正好与点阵屏的低电平选中行相对,并且节省了10口,大大方便了我们的编程和以后的扩展。

    3.下面让我们把它点亮,先看一个简单的程序

    (将奇数行偶数列的点点亮,效果如下图)

    1. #include<reg52.h>
    2. void delay(int z) //延时函数
    3. {
    4. int x,y;
    5. for(x=0;x<z;x++)
    6. for(y=0;y<110;y++);
    7. }
    8. void main()
    9. {
    10. while(1)
    11. {
    12. P3=0; //行选,第一行
    13. P2=0x55; //列选
    14. delay(5); //延时
    15. P3=2; //三行
    16. P2=0x55;
    17. delay(5);
    18. P3=4; //五行
    19. P2=0x55;
    20. delay(5);
    21. P3=6; //七行
    22. P2=0x55;
    23. delay(5);
    24. }
    25. }

            上面的程序实现了将此8*8点阵的奇数行偶数列的点点亮的功能。重点让我们看while循环内,首先是行选P3=0 ,此时38译码器的输入端为000 ,则输出端为01111111,即B0端为低电平,此时选中了点阵屏的第一行,接着列选我们给P2口赋0x55,即P01010101 ,此时又选中了偶数列,紧接着延时。然后分别对第三、五、七行进行相同的列选。这样就点亮了此点阵屏奇数行偶数列交叉的点。

    完成这个程序,我们会发现其实点阵屏的原理是如此简单,和数码管的动态显示非常相似只不过换了一种方式而已。

    4.完成了上面的点亮过程,下面我们让这个8*8的点阵屏显示一个汉字“明"

    先看效果图:

    1. #include<reg52.h>
    2. char code table[]={0x0f,0xe9,0xaf,0xe9,0xaf,0xa9,0xeb,0x11};
    3. void delay(int z)
    4. {
    5. int x,y;
    6. for(x=0;x<z;x++)
    7. for(y=0;y<110;y++);
    8. }
    9. void main()
    10. {
    11. int num;
    12. while(1)
    13. {
    14. for(num=0;num<8;num++)
    15. {
    16. P3=num;
    17. P2=table[num];
    18. delay(5);
    19. }
    20. }
    21. }

            因为要显示一个汉字,这里我们使用了一个数组table[ ]来存储该字的编码,重点还是来看while循环,首先在for循环内完成对8*8点阵屏的8行依次扫描。我们来分析第一行的情况即 num=0 的时候,首先 P3-0,选中第一行,然后 P2=table[0] ,即 P2 等于table 数组中第一个数据0xOf,则此时就点亮了第一行相应的点。接着延时,其他行同理。这样我们就完成了一个最简单汉字的显示。

  • 相关阅读:
    星域社区原版APP源码/社区交友App源码/动态圈子群聊php源码
    docker版jxTMS使用指南:python服务之访问数据库
    Kubeadm部署K8s
    怎么获取外网ip地址
    探讨代理IP与Socks5代理在跨界电商中的网络安全应用
    web手势库Alloyfinger
    在鹅厂工作1到11年的程序媛
    技术分享 | mysql 客户端对配置文件的读取顺序
    如何做好一个配置中心
    哪款物业管理软件又便宜又好用?
  • 原文地址:https://blog.csdn.net/MANONGDKY/article/details/134073258