PIC单片机驱动LED灯

你好,我刚刚开始学习PIC单片机,看到您十分精通,希望能得到一些建议。我想用PIC24HJ202驱动一个4行*列5共20个LED灯,每一行是一组,对应一路通道的数值,数值... 你好,我刚刚开始学习PIC单片机,看到您十分精通,希望能得到一些建议。我想用PIC24HJ202驱动一个4行*列5共20个LED灯,每一行是一组,对应一路通道的数值,数值达到某个值时,某个LED亮,或者闪烁。还要驱动一个8位的数码管,循环显示5路的数值。但是用ZLG7290来控制不够,还能用什么芯片来控制啊? 展开
 我来答
micropower
2012-03-25 · TA获得超过1万个赞
知道大有可为答主
回答量:2619
采纳率:50%
帮助的人:1606万
展开全部

ZLG7290是I2C通信,你可以一个I2C接口接多个ZLG7290。或者用我下面说的方案(很巧的一种方案,这是MICROCHIP公司推崇的)

你用的是PIC24HJ12GP202,有28引脚的那个单片机么?这个有21个IO引脚,其中有10个可以复用为AD输入引脚,还有两个引脚可配置为I2C接口。

根据你的描述,首先你需要有四个IO引脚做输入,不管是模拟输入还是数字输入,用23、24、25、26这四个引脚做输入应该可以把。然后2、3引脚可以用来做在线编程的数字输入口。

剩下的15个IO引脚,有两个17、18引脚可以做跟ZLG7290的I2C接口,I2C总线允许挂接多个I2C芯片。你可以用N个ZLG7290接LED和数码管(这是方案1)。

或者(这是我提议的方案2)用一个ZLG7290管理数码管。而剩下的13个引脚中用5个IO引脚就能控制了20个LED灯。具体看下面链接中这个文档的第三页的窍门2 。

这文档是PIC的生产商MICROCHIP公司推出的。适用于PIC这种需要控制输入输出的单片机。它的原理是,PIC单片机的某个IO引脚配置为输入的时候,这个IO引脚其实等于高阻输入状态,等于是和VDD和VSS都是断开的;

而当IO引脚配置为输出状态时,输出高电平为1的时候,它等于是短接到了VDD。而输出低电平为0时,它等于是短接到了VSS。

那么,可以看到图的接法,其中三个IO引脚接了六个灯,这六个灯在同一时间点里只有一个灯会亮。比如的当你让GP0作为输入,那么它对于外面的灯来说,就等于是没有电气输出而断开的,而GP1、GP2都作为输出,GP1=1; GP2=0;这样GP1在等效电路上等于是短接Vdd,GP2等于是短接了VSS,这样电流从4号灯正端那里流入,负端留回GP2,3号灯因为是反向戒指,所以不会亮。其他如1号、2号灯都因GP0在等效电路上是断开的,所以也不会亮。

这样,根据程序的不同,可以随意让这六个灯点亮。要全亮也可以,在很短时间内轮流让这几个灯循环点亮,那在人眼看来就等于全亮了。

而根据公式   LED灯的数量= IO口数量 * (IO口数量-1)   那么你的20个LED等只需要5个IO口就能搞定,只是编程序的时候复杂点而已。

参考资料: http://www.microchip.com.cn/community/Uploads/Download/Library/40046b.pdf

来自:求助得到的回答
jianghe706
2012-03-24 · TA获得超过5145个赞
知道大有可为答主
回答量:2213
采纳率:77%
帮助的人:849万
展开全部
你这个先直接用PIC单片机的引脚来控制,硬件简单,程序也容易编制。待单个4X5的显示正常后,可以考虑扩展IO的芯片,这个有很多方法,可以用串转并的芯片如74LS164或74LS595等.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式