找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 864|回复: 2
打印 上一主题 下一主题
收起左侧

为什么点阵不会亮呢?可以显示0,但不会显示单独一个点。

[复制链接]
跳转到指定楼层
楼主
/**************************************************************************************
实验现象:下载程序后,LED点阵左上角第一个点的LED被点亮果
                  
接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节)
       
注意事项:                                                                                                                                                               


***************************************************************************************/

#include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器
#include "intrins.h"

typedef unsigned int u16;          //对数据类型进行声明定义
typedef unsigned char u8;

//--定义使用的IO口--//
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;


void Hc595SendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)
{
        u8 a;
        SRCLK = 1;
        RCLK = 1;

        for(a=0;a<8;a++)                 //发送8位数
        {
                SER = dat1 >> 7;                 //从最高位开始发送
                dat1 <<= 1;

                SRCLK = 0;                         //发送时序
                _nop_();
                _nop_();
                SRCLK = 1;       
        }


        for(a=0;a<8;a++)                 //发送8位数
        {
                SER = dat2 >> 7;                 //从最高位开始发送
                dat2 <<= 1;

                SRCLK = 0;                         //发送时序
                _nop_();
                _nop_();
                SRCLK = 1;       
        }



        for(a=0;a<8;a++)                 //发送8位数
        {
                SER = dat3 >> 7;                 //从最高位开始发送
                dat3 <<= 1;

                SRCLK = 0;                         //发送时序
                _nop_();
                _nop_();
                SRCLK = 1;       
        }

        for(a=0;a<8;a++)                 //发送8位数
        {
                SER = dat4 >> 7;                 //从最高位开始发送
                dat4 <<= 1;

                SRCLK = 0;                         //发送时序
                _nop_();
                _nop_();
                SRCLK = 1;       
        }


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


/*******************************************************************************
* 函 数 名       : main
* 函数功能                 : 主函数
* 输    入       : 无
* 输    出             : 无
*******************************************************************************/
void main()
{
        Hc595SendByte(0xff,0xfe,0x00,0x01);
       
        while(1)
        {
          
        }               
}

23.jpg (3.66 MB, 下载次数: 55)

oe口以接地

oe口以接地
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:946238 发表于 2021-7-20 18:03 | 只看该作者
头文件我也改成了reg51.h了
回复

使用道具 举报

板凳
ID:946238 发表于 2021-7-20 21:33 | 只看该作者
已解决
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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