首先,单片机拉低DO,告诉CPU有按键了。然后CPU发过来地址,单片判断这个地址是不是要是问键盘的。然后模拟从LC75853通过DO发往CPU的键码。于是按这个时序,用PIC模拟一遍。由于PIC单片机速度较慢。而LC75853的时钟是4M级别的,PIC单片机20M的主频(一个指令4个周期)根本跟不上。当晚折腾很久之后,决定第二天用AVR试试。因为AVR是一个指令一个周期。8M应该够用。
中秋第二天,早早起来开始干。果然,AVR速度能够胜任。经过一上午的艰苦调试,过中午之后,已经能模拟出所有按键时序。完成这个作品已经没有技术上的障碍了。于是从机身电路板把系统5v电源和CCB四条线以及音量和电源开关信号接了出来。
由于音量加减和电源信号是单独的控制逻辑,都是通过拉低来控制。于是用单片机接三个三极管,做了3个OC门来控制这三路信号拉低。用单片调试的时候,电源控制很简单很顺利。但音量控制遇到不少困难。一方面不停的用逻辑分析仪分析原来的时序,一方面用单片机程序模拟。原来vol-up和vol-down的区别,在于几ms的先后。鏖战到晚上,终于搞定音量控制。。。终于,可以说,完成已经毫无悬念。混乱的调试桌面:
中秋第三天,大早起来把音响所有部件还原,只有控制排线从后面引出来。如图:
把程序控制部分,按红外键码和功能做了对应。并做程序调试和验证工作。确定程序和硬件配合部分已经完成。由于现在还是实验板上,无法直接投入使用。很有把握后,放心的出门买菜做饭洗碗。午饭后,就又新作了一块板子,就只有ATMEGA8一片和若干排线接口。很利落(背后连线很复杂,不美观,就不看了):
由于是照着实验板接一遍,所以剩下的就是细心别出错。想当年大学的微机原理实验室,每次都是我第一个做完,这些年更是经验丰富。很快,插上实验板上的已经烧写好单片机,插上排线。通电,一次成功。o yeah!
看看最后的合影吧:特意选用了很炫的蓝色LED作为接收指示。
上书架的效果:用书把单片机线路板挡在后面,把LED和红外接收管的引线也用书挡住。
终于可以坐在沙发上边看书边选择喜欢的音乐了。。。文中省略了上百次的不停调试,烧写,失败,挫折。事实证明,凡事要有个强大的内心,之后才能享受成功所带来的成就感!DIY和登山登顶后一样,会上瘾的!