找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2721|回复: 3
收起左侧

我想点亮单片机led点阵左上角一个led灯为什么点亮了一排?

[复制链接]
ID:689378 发表于 2020-4-28 22:22 | 显示全部楼层 |阅读模式
我想点亮led点阵左上角一个led灯为什么点亮了一排。
#include<reg52.h>
#include<intrins.h>
sbit se = P0 ^ 2;
sbit sc = P0 ^ 1;
sbit rc = P0 ^ 0;
int dat1,dat2;
void ledsend(int);
void main()
{
    while(1)
    {
        P1 = 0x7f;
        ledsend(0x80);//列是低电平有效行是高电平有效
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        P1 = 0x7f;
    }
}
void ledsend(int dat1)
{
   int a;
    for(a = 0;a < 8;a ++)
    {
        se = dat1 >> 7;
        dat1 <<= 1;
        sc = 0;
         _nop_();
         _nop_();      
        sc = 1;
        //_nop_();
    }
    rc = 0;
    _nop_();
    _nop_();   
    rc = 1;
    _nop_();
    _nop_();
}
回复

使用道具 举报

ID:164602 发表于 2020-4-29 08:04 | 显示全部楼层
师兄,不是这么提问的。
你的程序,和你的硬件、电路密切相关。光看程序怎么知道是什么问题呢

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:724058 发表于 2020-4-29 14:42 | 显示全部楼层
你这光是条程序也没法看啊,万一是你硬件电路的问题呢
回复

使用道具 举报

ID:689378 发表于 2020-4-29 18:59 | 显示全部楼层
329575852 发表于 2020-4-29 14:42
你这光是条程序也没法看啊,万一是你硬件电路的问题呢

#include<reg52.h>
#include<intrins.h>
sbit se = P2 ^ 5;
sbit sc = P2 ^ 4;
sbit rc = P2 ^ 6;
int dat1,dat2;
void ledsend(int);
void main()
{
    while(1)
    {
        P1 = 0x80;
        ledsend(0xfe);//列是低电平有效行是高电平有效
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
//        P1 = 0xfe;
    }
}
void ledsend(int dat1)
{
   int a;
   sc = 1;
   rc = 1;
    for(a = 0;a < 8;a ++)
    {
        se = dat1 >> 7;
        dat1 <<= 1;
        sc = 0;
         _nop_();
         _nop_();      
        sc = 1;
        //_nop_();
    }
    rc = 0;
    _nop_();
    _nop_();   
    rc = 1;
    _nop_();
    _nop_();
}


ledjvzheng.png

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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