标题:
单片机开发板点阵问题
[打印本页]
作者:
4651
时间:
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
(58.5 KB, 下载次数: 58)
下载附件
2020-1-5 11:08 上传
作者:
4651
时间:
2020-1-5 11:10
那个while循环去掉之后也还是一样的问题
作者:
青龙书生
时间:
2020-1-6 15:05
如果while去掉还是一样的话,就需要你仔细看一下板子的原理图,因为没有while语句,你的程序在空跑,什么显示都不会有,所以看看是不是引脚用在其他什么器件上了,一般开发板一个引脚都会用在很多外围器件上,你需要把短路帽或者其他外围器件去掉
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1