单片机P1口做输入,接8只发光二极管,使发光二极管循环点亮,每个点亮时间为1S
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/12 12:16:15
首先你要明白为什么要接上拉电阻,是因为P0口的驱动能力不过,它不能输出高电平,只能输出高阻!其次接上拉电阻后,当p0输出为高时,其实是高阻状态,这时VCC的电压是加在上拉电阻和负载的上面;当p0输出为
这两个电阻的选择依据是:1)电阻值不能过小,否则键按下后流过的电流值过大,增加功耗;2)又不能太大,否则影响上拉效果.因此,一般选择2K-20K左右.注:如果你使用AT89系列的单片机,这两个键可以去
while(1){ifp0p1=~p1}再问:P0按键输入控制P1输出启动8个电动机的启动停止。再答:8个按键对应8个电机?结构一样,判断到按键时P1输出取反就行了再问:刚刚学就要解决这个问题。再答:
51单片机结构很简单,IO口是准输入输出的,无法设置,不像其他一些高级点的单片机.P1,P2,P3口的上拉电阻都是固化在芯片内部的,不能通过软件设置断开.你想把上拉电阻取消作为输入口,估计是想实现模拟
纯粹作输入时不需要,除非对端是OC门(74LS14不是)
你外面加个上拉电阻理解就可以了
你可以使用第一:全局变量,如果P1工作,P0停止,.或者:定义P0口的同时,定义P1口,比方说原来是P0=255;delay();P0=128;delay();...改成P0=255;P1=255;d
51单片机拉电流能力太弱,而灌电流能力较强,最好还是换一只PNP管(如9012或S8550),让I/O口低电平有效,安全稳妥,此时B极经电阻R接I/O口,E极接继电器的驱动电源正极,继电器线圈一端接C
把三个口全部赋值,应就可以了吧.和您一起学习一下.错了的话,请多多包涵!voidmain()//主函数{while(1)//大循环{for(num=0;num
#include#includevoiddelay();voidshanliang();unsignedchara,b,c;voidmain(){a=0xfe;for(b=0;
单片机输出口都没有向片外输出大电流的能力(输出1时),但有较强的吸收电流的能力(输出0时),所以加上拉后,扩大了输出能力,但输出0时端口要吸收上从上拉电阻过来的电流,负荷较大,单片机易发热可靠性降低.
p1口是不用上拉电阻的,只有p0口要用,因为他是开漏机构,上拉电阻要10k吧
sbitKey1=P0^1;sbitKey2=P0^2;sbitKey3=P0^3;sbitKey4=P0^4;sbitLED=P2^0;#defineON1#defineOFF0unsignedch
P0口作为输出口必须外加上拉电阻.其它一样,但它的负载能力是其它口的2倍.
汇编语言还是c语言?给你一个c的编程:#includeunsignedcharcodeTab_Led[]={0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7f,0xff,0xef,
P1口内部有上拉电阻你用的时候不用再接上拉电阻.还有你P1=0xf0,你怎么判断是P1低4位按下的是那个.
单片机的IO口高电平输出电流不大一般只有300~500uA左右,有的还不到300uA.如果只接一个1千欧电阻,测量电压时可能只有0.几V.所有当输入用时可以接一个按钮,按下时为0V.再问:我怀疑应该是
很容易写的,在INT0中断左移P1在INT1中断右移P1外部中断设为下降沿方式
这是数码管的仿真图,用的 P0 & P2,换成 P0 & P1 也是可以的,在实际应用时 亮度 
12MHz晶振的频率时,下列程序可以满足要求.start1:XRLP1,#255MOVR4,#50loop:CALLdelay10msDJNZR4,loopJMPstart1;delay10ms:DL