请采用MCS-51单片机,设计一直霓虹灯的控制器。假设霓虹灯有八路,可采用8只发光二极管代替。

如题所述

第1个回答  2011-05-24
硬件电路就相当简单了,将发光二极管设置成共阴或者共阳。因为p0口是开路输出,所以每个口得加一个上拉电阻,在依据发光二极管所需的驱动后合适选择上拉电阻的大小。其它的硬件就是单片机的最小硬件系统了,这个应该明白吧。
程序吧:如果定时器资源充足,那就将两个定时器都用上。定时器1定时为50ms,然后定义一个无符号整型变量,每到50ms进入中断后就加1,并且重装定时器1初值,当进入中断的次数为100次的整数倍时就将p0端口的值全部取反。如果要这个进行5次,那么当变量加到(5*5000)/0.05时就关闭定时器1。同时启动定时器0,将P0口先给0xfe,然后每过1秒就用循环称位函数_crol_或者_cror_(),将p0的值移一次后再赋给p0,至于你说的又要全亮我就不太明白了