8*8*8光立方,写入全亮程序,有个别的灯珠不亮,单独点亮灯珠没有损坏,

8*8*8光立方,写入全亮程序,有个别的灯珠不亮,单独点亮灯珠没有损坏,,第1张

全亮

#include <stc12c5a.h>

void main(){

P2=0x00//打开锁存器

while(1){//保持以上状态

P0=0xff//给所有阳极送出高电平

P2=0xff//关闭锁存器

P1=0xff//给2803送高电平

}

}

//P0//573 in

//P1//uln2803

//P2//573 LE

*/

#include <stc12c5a.h>

#define uchar unsigned char

void delay1ms()

{

TH1=0xd8

TL1=0xf0

TR1=1

while(!TF1)

TF1=0

}

void main()

{

uchar mian[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}

uchar i,w,x

TMOD=0x10

while(1)

{

w=0x01

x=0x01

for(i=0i<8i++)

{

P2=~w

P1=~x

w<<=1

x<<=1

P0=mian[i]

delay1ms()

}

}

}

1.晶振决定单片机的工作平率,60S2的最大晶振是35M,晶振的大小影响程序的运行速度,光立方12M就可以用了,你要大点儿也无妨,延时那些要重新定义而已2.排布方式与控制无关,但是个人比较倾向于纵列,因为坏了比较好换3.限流电阻一般大家做的时候会根据LED的功耗选取,比较多的是100--600的限流电阻,雾状的一般300欧合适,灯比较暗就换小4.这个是功耗计算问题,你要考虑锂电随着时间的推移,电压会下降,降到3.3V一下,单片机就不会工作了,而且在这之前会工作不稳定,出现复位等情况,如果你的60S2额定电压是5V的话

从你的描述来看,你可能用的STC单片机,那么就要注意以下几点:

首先,查看下载小板上面芯片的的TXD管脚连接单片机的线路中有没有二极管,没有的话增加串接一个二极管,例如1N4148。二极管正极接下载小板一端。

其次注意,下载小板的供电不要直接和单片机主板的电源连接。

以上两点搞定后,就可以下载程序了:

点击“下载/编程”之前要关闭主板的供电,要让单片机没有电源供给;

点击“下载/编程”之后再给单片机主板上电。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11102155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存