普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3687|回复: 0

8*8点阵是怎么被控制点亮的

[复制链接]

1

主题

2

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2021-1-30 17:01:19 | 显示全部楼层 |阅读模式
2金钱
#include<reg52.h>
#include<intrins.h>

typedef unsigned char u8;
typedef unsigned int u16;

#define GPIO_LED P0

sbit SRCLK=P3^6;
sbit LCLK=P3^5;           //RCLK与头文件#include<reg52.h>里的寄存器命名重名,sbit RCLK   = T2CON^5;
sbit SER=P3^4;

void Hc595SendByte(u8 dat1)
{
        u8 a;
        SRCLK=1;
        LCLK=1;
        for(a=0;a<8;a++)
        {
                SER=dat1>>7;          //0110 1000
                dat1<<=1;

                SRCLK=0;
                _nop_();
                _nop_();
                SRCLK=1;
        }

                //如16*16点阵,就将四个字节通通移位,按顺序存入存储寄存器中
       
        LCLK=0;
        _nop_();
        _nop_();
        LCLK=1;
}

void main()
{        GPIO_LED=1;
               
        while(1)
        {
        Hc595SendByte(0xfe);
        }
}
我只想点亮8*8点阵左上角的那个LED灯,可是点亮的都是错了,我想知道一个十六进制数是怎么控制八行八列的,不是一个十六进制数只能控制八行或者八列吗?但我做了两个for循环,还是有问题,点亮都是错的
那么到底8*8点阵是怎么被控制点亮的
还请高手指教file:///C:\Users\123\AppData\Roaming\Tencent\QQTempSys\G@YVKCPZR)X}3UKB(_VF`LW.giffile:///C:\Users\123\AppData\Roaming\Tencent\QQTempSys\G@YVKCPZR)X}3UKB(_VF`LW.gif

我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励10 金钱 , 目前已有0人回答

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-25 10:07 , Processed in 0.079516 second(s), 29 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表