2025年2月24日,小组开始了第一次流水灯制作,第一次开始毕竟有或多或少的新鲜感,在焊完第一个板子后,焊接技术不行,遂重焊。这是当时第一次的焊接:
从第一次焊接的板子反面可以看出,焊接的比较凌乱。在测试的时候出现了问题。单片机与电脑连接失败,用示波器测试晶振不显示正确的波形,换了好几个依然没用。布局欠缺考虑,飞线过多,影响后续项目进行。
第二次焊接稳定性有了极大的提升,第二次与电脑连接正常,布局也比第一次更加合理,把晶振电路和复位电路放在了单片机附近,飞线的数量有所减少。
重新测试时,在软件层面出现了问题,显示”Error: Target DLL has been cancelled. Debugger aborted !”,解决办法是:“重新插拔连在电脑USB口的连接端,在build之后点rebuild”。
解决问题之后再次运行,成功执行命令,得到流水灯效果。
2025年3月7日,历时12天,终于完成了,以下是电路图和汇编代码,芯片实际采用:SST,仅供参考。
汇编代码:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV R3,#07H
MOV R1,#07H
MOV A,#0FEH
LOOP1: MOV P0,A
ACALL DELAY
RL A
DJNZ R3,LOOP1
LOOP2:
MOV P0,A
RR A
ACALL DELAY
DJNZ R1,LOOP2
AJMP MAIN
DELAY:
MOV R6,#05H
DL3:MOV R4,#0FAH
DL2:MOV R5,#0F6H;
DL1: DJNZ R5,DL1
DJNZ R4,DL2;(246+4)*250=62500us
DJNZ R6,DL3;62500*16=1s
RET
END
说明:+5V和GND应当全部经过开关(示例电路图没有全部经过开关)!正确接法如下图:(以发光二极管为例)