普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 2201|回复: 2

总结了几个问题,求帮助。

 关闭 [复制链接]

7

主题

13

帖子

43

积分

新手上路

Rank: 1

积分
43
QQ
发表于 2019-5-12 12:22:00 | 显示全部楼层 |阅读模式
1、在做 动态数码管 实验时,显示的总是图一,必须要用手按着开发板右下角才能正确显示,如图二。之前也已经问过这个问题,回答是数据线松了,但是一直没有找到解决方案。
2、8X8LED点阵(显示第一个点) 结果如图三 以下是我仿照编的程序,不知道是哪里出了错误,请帮忙看看:
#include<reg51.h>
#include<intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
void hc595sendbyte(u8 dat)
{
u8 a;
SRCLK=0;
RCLK=0;
for(a=0;a<8;a++)
{
SER=dat>>7;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
void main()   
{
hc595sendbyte(0x80);
P0=0x7f;  
while(1);
}
3、8X8LED点阵(显示数字0) 结果如图四 以下是我仿照编的程序,不知道是哪里出了错误,请帮忙看看:
#include<reg51.h>
#include<intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
u8 ledduan[]={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00};
u8 ledwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void delay(u16 i)
{
while(i--);
}
void Hc595SendByte(u8 dat)
{
u8 a;
SRCLK=0;
RCLK=0;
for(a=0;a<8;a++)
{
SER=dat>>7;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
RCLK=0;
}
void main()   
{
u8 b;
while(1)
{
P0=0x7f;
for(b=0;b<8;b++)
P0=ledwei[b];
Hc595SendByte(ledduan[b]);
delay(100);
Hc595SendByte(0x00);
}
}
   感谢!

回复

使用道具 举报

4

主题

156

帖子

516

积分

高级会员

Rank: 4

积分
516
发表于 2019-5-12 18:14:15 | 显示全部楼层
看不到图片哦,如果是2.0的开发板需要将JOE短接片短接到GND端,
回复 支持 反对

使用道具 举报

7

主题

13

帖子

43

积分

新手上路

Rank: 1

积分
43
QQ
 楼主| 发表于 2019-5-14 09:57:49 | 显示全部楼层
YXUN 发表于 2019-5-12 18:14
看不到图片哦,如果是2.0的开发板需要将JOE短接片短接到GND端,

嗯嗯,已经好了,谢谢你
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-20 18:08 , Processed in 0.084232 second(s), 31 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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