单片机的P0口怎么才能驱动超过8个的发光管

如题所述

第1个回答  2012-03-24
P0口接上拉电阻,用串并转换芯片例如:74HC595,74HC164等等,理论上可以扩展无限多LED.
LED亮灭通过程序控制实现。
第2个回答  2012-03-24
p0口因为内部没有上拉电阻,所以当它作为I/O口要外接10K上拉电阻追问

我是说P0口本来只能8个发光管亮灭,怎样才能控制更多的发光管亮灭。

追答

加移位寄存器,扩展一片移位寄存器可以扩展8个口

本回答被提问者和网友采纳
第3个回答  2012-03-24
三极管??
用74HC164 串行转并行扩展

单片机p0循环点亮八盏灯的程序怎么写?
一、硬件接线 首先,电路接线是最重要的环节,需要将外部组件与单片机核心引脚相连接,如接线正确,接地和电源,以及led灯和信号脚之间的接法、灯丝与中断脚的线路等,全部调整正确才能正常工作。二、编程操作 接着,编写程序,设置数字输出端口,将接线好的八盏灯分别设定为1-8口,编写时序程序,循环点亮...

实现P0口驱动8个发光二极管流水灯点亮,设置三个按键 c51单片机 急...
LED灯简单,设置P0为推挽输出,根据按键不同,使P0输出不同的值,根据以下代码修改以下吧。\/\/=== \/\/按键测试程序.按下S1-S3,在LCD上分别显示1-3 \/\/--- \/\/ Includes \/\/---

用单片机P0控制8个LED,要求8个LED按1357——2468的顺序轮流点亮_百度...
一键多功能按键识别技术 1.实验任务 开关K1接在P3.2管脚上,在AT89S51单片机的P0.0端口接有1个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在亮,当一次按下开关K1的时候,灯灭,再按一次,灯亮,如此轮流下去。 2.系统板上硬件连线 把“单片机系统”区域中的P3.2端口连接到“独立式...

51单片机为什么P0口外接上拉电阻,可以驱动8个TTL,其它的P口只能驱动...
这个描述的意思是:P0口本身的驱动能力非常弱,需要通过外接上拉电阻的方式提高驱动能力,相当于请了好帮手以后一个打八个。而其它端口自身驱动能力一般般吧。一个打四个。也总比P0这种一打一还颤巍巍的强多了。好好学习天天向上

51单片机P0口接8个LED灯有A103J排阻作为上拉电阻是不是还要加限流电阻...
如果电流过大,IO口一样要损坏。你要连LED可以,但必须用灌电流方式,然后加上串上限流电阻,每个口都要加。一般是这样的连接:+5V——LED——电阻——IO口,电阻可以选择470-560欧姆,LED选普通的3mm型LED,这样不会烧坏IO口,我们以前做过无数次,很保险。

单片机编程控制8个LED,先逐个点亮,再逐个熄灭,再逐个点亮,如此循环,变化...
假如:P0口接8个LED,程序可以这样:include<reg52.h> define uchar unsigned char define uint unsigned int sbit led1= P2^0;uchar num;\/ 延时t毫秒 11.0592MHz时钟,延时约1ms \/ void delay(uint s){ uchar k;while(--s){ for(k=0; k<125; k++) ;} } void main(){ uchar i,...

单片机的P0口接了8个发光二极 要求使用定时器T0中断实现流水灯操作流水...
你问题标题和描述不一致。上面写T0下面写T1。我按照T1中断写。关于P0口流水,可以用数组,也可以用位移,还可以用内部函数。我这边用数组的方法写。include <reg52.h>#define uInt unsigned int#define uChar unsigned char#define TFCNT 46080\/\/经计算,11.0592MHZ,0.05秒需要计数次数uInt timeCnt=...

8051单片机,用P0口控制8个LED实现循环彩灯.循环显示规律为:全亮,全灭...
uchar led[]={0x00,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff};void t0isr() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;times++;if(times>=40){ times=0;P0=led[cnt];cnt++;cnt%=11;} } main(){ TMOD=0x01;TH0=(65536-50000)\/256;TL0=(...

单片机怎么代码编写“P0口所接8个灯实现流水灯循环。P1.0所接开关按下...
LJMP MAIN MAIN:ORG 0100H MOV A ,#80H ; 高电平亮灯。如低电平亮灯,改成#7FH ;;正向循环 ZXH :MOV P0 , A RR A LCALL S50MS ; 延时50MS JB P1.0 , FXH LJMP ZXH ;;反向循环 FXH :MOV P0 , A RL A LCALL S50MS ...

求单片机控制八个led灯随意亮灭别且想有几个亮就亮几个的程序!!!
temp=0xfe;\/\/11111110想第几个管脚的二极管亮,就将那个管脚设0 P1=temp;\/\/低电平有效,第一个管脚的二极管亮 while(1) \/\/进入循环 { delay(3000);\/\/延时1秒 temp=_crol_(temp,1); \/\/向左移,一位 P1=temp;\/\/将temp的值赋给P1口 } } void delay(uint z)\/\/z等于1表示延时1毫秒 ...

相似回答