1、80C51通过执行外部程序存储器(2764)里面的指令来对电路图下方的两片74HC573进行写操作,从而就可以灵活的改变74HC573里面锁存的内容,而使发光二极管按照指令的要求显示不同的状态。由此可见,74HC573在此是被当作一个只可写而不可读的存储单元来使用的,至于为什么不可读,原因很简单,因为74HC373是一个单向的8D锁存器,其输入端不能同时作输出端。但我们仍可以通过发光二极管来读它里面锁存的内容。3.1.2 驱动电路原理现在要解决的是P0口的时序问题,它包括两个方面:一方面是对外部程序存储器的访问;另一方面是对两个“数据写入单元”(即两个74HC573)的访问。前一个问题的解决方
2、法可以从何立民主编的单片机初级教程图9-2 得出。对于第二个问题实现的方法可以有多种,本人使用P2.5和P2.6端口分别和80C51的写端口()异或取反后作为这两片74HC573的片选信号。可照此法扩展多片74HC573,驱动更多发光二机管。本人在编程时所给两片74HC573的地址如下:表1 74HC573地址芯片74HC573(0)74HC573(1)地址BFFFHDFFFH3.2 具体制作步骤3.2.1 绘制电路原理图 根据该课程设计所要实现的功能,可画出电路原理图,见附录B 附图3.2.1。3.2.2 确定元器件清单列出元器件清单,到电子城购买元器件。元器件清单见附录C 附表3.2.1。
3、3.2.3 在万能板上焊接电路按照电路原理图的连接关系将元器件焊接好。此步骤较为重要,需要有足够的耐心。在焊接过程中我没有做一次成功,做了一些基本的通断检查,发现有三个地方虚焊,修改好后,再进行检查,找出错误将其一一改正。3.2.4 编写与烧写程序 根据所要实现的功能编写好程序代码后,在实验室中将源程序编译成十六进制或二进制文件,然后用编程器将编译后的十六进制或二进制文件烧写进2764中。程序源代码参见附录A 源程序1。3.2.5 运行调试接上正负5V电源,观看其运行效果。 经过几次仔细的检查后,插上电源,看到两排发光二极管依次循环点亮和间隔循环点亮等各种显示效果。3.3 故障排除及制作心得3
4、.3.1 故障排除这次是我第一次做硬件,一点经验也没有,刚开始不知道如何下手,只好去向有制作经验的同学虚心请教,在王亲元同学的指点和帮忙下,我用了4天的时间才弄好。第一次做课件我没有考虑元件的布局和线路的干扰问题,只是把元件均匀的排在万能板上,然后焊接。虽然以前也用过电烙铁,但当时的焊接水平还是有些差劲,认为只要焊紧就好了,没有想过会不会形成虚焊。还有我选用的导线太粗太硬了,花了很大的工夫才把所有线焊接完。在制作好以后,我打开电源但是所有发光二极管一点反应都没有,由于之前焊接有点混乱,因此我在检查电路有没有漏接和虚焊的时候花了很长的时间,在确认没有漏接和虚焊之后,我又仔细检查了电路图几遍,然后
5、又把程序在WAVE上运行,也没发现在什么错误。这样郁闷了一两天,在无论如何都找不到原因之后我只好向有经验的同学求助了,经过王钦元同学帮我查看电路情况后,他发现一个最重要的问题,就是EA脚没有接低电平,原因是扩展片外程序存储器时该脚必须接低电平。找到错误了就马上对症下药,我将EA脚接入了电源地线,然后通电测试,这次终于成功了。3.3.2 制作心得通过对本课件的制作,清楚地看到了自己的知识薄弱的方面,比方焊接技术和布线技巧。焊接好坏事关重大,而布线是否合理严重影响着电路板的形象,因此,自己以后要多加强这方面的训练。 在做此课件的过程中,充分体会到了团队的重要性。如果没有同学的指点,可能自己会在一些地方打转弯,浪费掉很多时间。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1