嘿嘿,记录下早上的劳动成果。早上把POV试验用的扩展板焊好了,并测试通过 :D
过程还是有点曲折,原先认为是再简单不过的了,就焊接好几个LED就行了。结果焊接好后要测试,怎么都只有PORTD0上的灯会闪,怀疑是程序没正确写入,重复了两三遍,都还是一样。后来拿万用表逐个测试LED,发现只有接在PORTD0上的LED正负极是对的,其它都接反了?!原来昨天买的LED不是每个都一样规格...不是长腿的就是正极...以后得记住这个教训。逐个重焊后,把程序改一下,就测试通过了,接下来要做的其实就是再写个程序自动生成bitmap数组的内容,看下面的代码你就会清楚:
#include <iom8v.h>
#include <macros.h>
void port_init(void)
{
PORTB = 0xFF;
DDRB = 0xFF;
PORTC = 0xFF; //m103 output only
DDRC = 0xFF;
PORTD = 0xFF;
DDRD = 0xFF;
}
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
void delay(void)
{
unsigned char i, j;
for(i=3000; i>0; i--)
for(j=3000; j>0; j--);
}
const unsigned char bitmap[] = {
0b11111110,
0b11111100,
0b11111000,
0b11110000,
0b11100000,
0b11000000,
0b10000000,
0b00000000
};
void main(void)
{
int i=0;
init_devices();
while(1)
{
PORTD = bitmap[i];
i = i == 7 ? 0 : i+1;
delay();
}
}
最新照片和试验视频:
图片尚未恢复 · s3020664.JPG
[hana-flv-player video="/my-files/video/S3020663.flv"/]
[下午更新]
哈哈,终于有点POV的样子啦,程序比较土,但是符合我的第一期要求,晚上应该就可以做到盒子里去了 :D
费了很多力气拍的照片:
图片尚未恢复 · ext11.png
调LED切换的延迟时间和测试搞得我手酸死了,写入程序后,装上板子,拿到镜子前,甩来甩去,不行又拿回来再改程序再写,写完再甩...
原标签已从 2024-02-21 存档快照 恢复。本文按原站快照恢复排版,并接回已核实的本地图片。查看恢复说明