找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2588|回复: 2
收起左侧

单片机开发板点阵问题

[复制链接]
ID:443245 发表于 2020-1-5 11:09 | 显示全部楼层 |阅读模式
普中的 为什么这个代码不止点亮led点阵的一个点,同时点亮了三个点
#include<reg52.h>

#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
//74HC595芯片
sbit SER=P3^4;  //串行输入
sbit RLCK=P3^5;  //时钟移位寄存器
sbit SRCLK=P3^6; //数据移位寄存器
void Hc595Send(uchar num);
void main()
{
while(1)
{
  P0=0x7f;
  Hc595Send(0x80);
  while(1);
}
}
void Hc595Send(uchar num)
{
  uchar a;
  SRCLK=0;
  RCLK=0;
  for(a=0;a<8;a++)
  {
   SER=num>>7;  //将最高位传送
  num<<=1;  //次高位移至最高位
  SRCLK=1;
  _nop_();  //延时一个机器周期
  _nop_();
  SRCLK=0;
  }
  RCLK=1;
  _nop_();   
     _nop_();
  RCLK=0;  
}

123.png
回复

使用道具 举报

ID:443245 发表于 2020-1-5 11:10 | 显示全部楼层
那个while循环去掉之后也还是一样的问题
回复

使用道具 举报

ID:110606 发表于 2020-1-6 15:05 | 显示全部楼层
如果while去掉还是一样的话,就需要你仔细看一下板子的原理图,因为没有while语句,你的程序在空跑,什么显示都不会有,所以看看是不是引脚用在其他什么器件上了,一般开发板一个引脚都会用在很多外围器件上,你需要把短路帽或者其他外围器件去掉
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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