• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

用自制最小系统做了个8*8点阵,但是有点问题

这个是用STC89C52RC单片机和两个74HC573,P1控制点阵的八列共阴管脚,P2控制八行共阳管脚,通过逐列扫描显示心形,没有问题。但是,我用P0口替换P1口就出问题了,如下图:

我已经加了一排10K欧姆的电阻了,P0和P1的输出是完全一样的,但是显示变成了一大片亮的。

程序代码如下:

#include

/*延时函数,用来延时**ms的时间*/

void delayms (unsigned int xms)

{

unsigned int i;

unsigned int j;

for (i = xms;i > 0 ; i--)

{

for (j = 110 ; j > 0 ; j--);

}

}

/*main函数,控制8*8点阵显示*/

void main (void)

{

/*显示心形,靠左边,第234567行*/

unsigned char code love_x[] = {

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,};

unsigned char code love_y[] = {

0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00,};

int i;

P0 = 0XFF;

while (1)

{

for (i = 0;;)

{

P2 = 0X00;

P0 = love_x[i];

P1 = love_x[i];

P2 = love_y[i];

delayms(1);

i += 1;

if (i == 8)

{

i = 0;

}

} /*'for' over*/

}

}

代码贴上来缩进全没了

 

 

全部回复(28)
正序查看
倒序查看
01夏至
LV.2
2
2014-02-26 23:02
好像是我根本就没搞懂什么叫上拉电阻。。。。我之前以为IO口串个电阻就叫上拉了,原来是电阻一边连IO一边连高电平才行
0
回复
2014-02-26 23:05
@01夏至
好像是我根本就没搞懂什么叫上拉电阻。。。。我之前以为IO口串个电阻就叫上拉了,原来是电阻一边连IO一边连高电平才行
就是中间是电阻 一边是io 另一边是高电平
0
回复
01夏至
LV.2
4
2014-02-26 23:06
@soap泡泡
就是中间是电阻一边是io另一边是高电平
之前理解错了
0
回复
elio
LV.2
5
2014-02-26 23:08
@01夏至
之前理解错了
路过帮顶
0
回复
01夏至
LV.2
6
2014-02-26 23:09

硬件电路基本搞好,接下来就是让它变各种花样了,顺便晒晒我的电焊台

0
回复
elio
LV.2
7
2014-02-26 23:09
@01夏至
硬件电路基本搞好,接下来就是让它变各种花样了,顺便晒晒我的电焊台[图片]
高级的,防静电的?
0
回复
01夏至
LV.2
8
2014-02-26 23:10
@elio
高级的,防静电的?
你是说电焊台?安泰信 AT936B 电焊台 防静电调温电烙铁 60W 恒温焊台 936B 。。。 貌似是防静电的,可以调节温度,挺方便的
0
回复
for_real
LV.3
9
2014-02-26 23:11
@elio
高级的,防静电的?
其实我感觉接573好浪费,何必呢,没有不是一样控制?
0
回复
01夏至
LV.2
10
2014-02-26 23:12
@for_real
其实我感觉接573好浪费,何必呢,没有不是一样控制?
没有的话亮度不够啊,特别是要一次点亮比较多的led时候,我这个用573是为了增大电流的,以后也可以用上锁存功能
0
回复
for_real
LV.3
11
2014-02-26 23:14
@01夏至
没有的话亮度不够啊,特别是要一次点亮比较多的led时候,我这个用573是为了增大电流的,以后也可以用上锁存功能
那样啊,可能是你单片机没加上啦电阻造成的
0
回复
backin
LV.4
12
2014-02-26 23:14
@for_real
那样啊,可能是你单片机没加上啦电阻造成的
同楼上观点。每一列接一个施密特触发器就好了。而且P0出问题的话,查一下上拉电阻有没有问题,P0和其他的端口貌似也就这么大的区别
0
回复
01夏至
LV.2
13
2014-02-26 23:15
@backin
同楼上观点。每一列接一个施密特触发器就好了。而且P0出问题的话,查一下上拉电阻有没有问题,P0和其他的端口貌似也就这么大的区别
已经搞好了,之前是我上拉接的不对。 斯密特触发器貌似不比573便宜多少啊
0
回复
backin
LV.4
14
2014-02-26 23:15
@01夏至
已经搞好了,之前是我上拉接的不对。斯密特触发器貌似不比573便宜多少啊
 但是触发器用着方便。只要给信号就行了
0
回复
cloud7890
LV.2
15
2014-02-26 23:17
楼主发一张背面的图片,我想看一下怎么焊的
0
回复
01夏至
LV.2
16
2014-02-26 23:17
@cloud7890
楼主发一张背面的图片,我想看一下怎么焊的
已经发了
0
回复
cloud7890
LV.2
17
2014-02-26 23:18
@01夏至
已经发了
嗯嗯,看到了,呵呵,很棒,比我技术要好的多
0
回复
soap泡泡
LV.4
18
2014-02-26 23:19
@cloud7890
嗯嗯,看到了,呵呵,很棒,比我技术要好的多
点阵自己做的?太浪费精力了吧
0
回复
01夏至
LV.2
19
2014-02-26 23:19
我感觉还好啊,偷了点巧,不是很麻烦
0
回复
soap泡泡
LV.4
20
2014-02-26 23:19
@01夏至
我感觉还好啊,偷了点巧,不是很麻烦
很好,我的意思是你为什么不直接用点阵呢。如果很好焊的话,尝试一下焊个光立方玩玩
0
回复
01夏至
LV.2
21
2014-02-26 23:20
@soap泡泡
很好,我的意思是你为什么不直接用点阵呢。如果很好焊的话,尝试一下焊个光立方玩玩
因为。。。点阵太小,用LED来焊正好是我想要的大小。至于以后的千变万化,就看编程了
0
回复
01夏至
LV.2
22
2014-02-26 23:21
@01夏至
因为。。。点阵太小,用LED来焊正好是我想要的大小。至于以后的千变万化,就看编程了

点阵背面的照片,我是用的立体结构,省了相当大的工作量。不知道大家能不能看懂

0
回复
pirate
LV.4
23
2014-02-26 23:23
@01夏至
[图片]点阵背面的照片,我是用的立体结构,省了相当大的工作量。不知道大家能不能看懂
防止导线交叉相连,想弄一个可以变换的,让它动起来
0
回复
pirate
LV.4
24
2014-02-26 23:23
@pirate
防止导线交叉相连,想弄一个可以变换的,让它动起来
呃,看错了,我以为你做的是光立方呢,不好意思啊
0
回复
01夏至
LV.2
25
2014-02-26 23:24
@pirate
呃,看错了,我以为你做的是光立方呢,不好意思啊
光立方网上教程很多的,也不是很难,就是特别考验耐性,查找一点小问题都够喝一壶了
0
回复
pirate
LV.4
26
2014-02-26 23:24
@01夏至
光立方网上教程很多的,也不是很难,就是特别考验耐性,查找一点小问题都够喝一壶了
没错没错
0
回复
2014-09-23 15:54
挺好!我也做过一个类似的
0
回复
2014-10-10 09:54
这种方式值得发扬,我曾经也焊接过一个16*16的点整,全万能板做的,到后来发现焊接功夫好了一大截。
0
回复
2014-10-10 09:56
@01夏至
[图片]点阵背面的照片,我是用的立体结构,省了相当大的工作量。不知道大家能不能看懂
焊接技术有待提高喔,
0
回复