当前位置:首页 » 半夜时分 » p口输出高电平为什么时间比较短

p口输出高电平为什么时间比较短

发布时间: 2022-05-21 05:47:38

㈠ at89s52 P0口输出高电平问题

P0=1当然是只有P0.0是高电平,P0.1到P0.7都是低电平啦

要全部高电平是P0=0xff或者P0=255

P0=1解释成16进制是P0=0x01 二进制为0000 0001 最低位为1其他位全都为0

㈡ 单片机为何一直输出高电平

兄弟,可以确定你那是硬件问题。
6脚你不会是直接用来驱动继电器了吧???若你是用单片机IO口直接驱动继电器,单片机没有那么大吸纳电流的能力,当然无法将引脚电平拉低了。
驱动继电器一般都是用三级管驱动的,而且三极管的极性一定要接对,这里面的学问自己去查,还有就是共基极电阻一定要大于4.7K,因为电阻过小,三极管工作在了损耗区,而将B极强制拉为高或低电平。
同时编程时要注意,对继电器操作要有足够的响应时间,即反应的是继电器的开关频率,至于多少看他的datasheet,编程时保证不大于他,而且继电器开关电流也大于零界值。继电器控制脚两端一定要接肖特基二极管如1N4148来消除继电器工作时引起的反动电势。

㈢ 单片机检测按键按下的时候为什么要在P口上输出高电平

检测按键,如果你按键的另一端接的是正极,则按键按下后,单片机检测到的是高电平按键接通,如果按键的另一端接的是负极,则按键按下后,单片机检测的是低电平。这是独立按键的方法。 如果是矩阵按键可以先将第一列至零,然后将行分别置一,这样如果有按键按下则高电平将被拉低(而不会出现低电平被拉高)。

㈣ 单片机编程问题(着急,谢谢大家帮忙)

看来楼主的程序没有经过调试,有一些不完美的地方,如下:
ORG 0000H
LTMP START ;这里应该为LJMP,下同
ORG 0070H ;这是高址,应该在001B的后面.
LTMP MAIN
ORG 001BH ;应和0070调换位置
ATMP SERVE ;这里应该为AJMP SERUE,下同.
START: JB P1.0 , ST;ST有错.错误在后面.
MOV P2 , #0FH ;
MOV R0 , #0FH ;应该为0F0才对,假如晶振是12的话.
MOV R1, #0D8H
MOV B, #02H
LCALL MAIN ;这里执行这一条.程序会转到MIAN去执行,执行完后,在里面等,不会再返回,后面的程序执行不了.
MOV P0,#0FH ;以下这些程序不会被执行.
MOV R0,#0B0H ;不会
MOV R1,#3CH ;不会
MOV B,#96H ;不会
LCALL MAIN ;不会被执行
MAIN:MOV TM0D,#01H ;这里应该为TMOD.不是零
MOV TL0,R0
MOV TH0,R1
SETB TR0
SETB ET0
SETB EA
STMP $
SERUE: MOV TL0,R0
MOV TH0,R1
DTNZ B,LOOP
OLR TR0;应该为CLR才对
LOOP: RETI
END ;编译到此.END是伪指令.不代表程序结束,只代表程序段到此,应该是SJMP $,动态结束.
ST: END;这条程序编译不会通过;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
以下是我编的程序的.还是用定时器延时.
调试通过.供楼主参考,希望对楼主有帮助
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0 ;
AJMP MIAN ;主程序入口
ORG 000BH
AJMP AGA ;中断入口
ORG 0030H
MIAN: MOV TMOD,#01H ;工作方式1
MOV TH0,#0B1H ;赋值20MS
MOV TL0,#0E0H
SETB EA ;开中断
SETB ET0 ;开T0中断
JB P1.0,$ ;查询P1.0是否为0,否等待.
MOV P2,#0FH ;为0,让P2低四位输出高电平.
SETB TR0 ;启动T0
CLR A ;标志位
SJMP $ ;等待中断
AGA: CJNE A,0,LOOP ;标志位为0,顺序执行(第二次15MS中断,标志志为1,转LOOP)
MOV P0,#0FH ;延时20MS到.让P0口低四位输出高电平
MOV TH0,#15H ;赋值15MS
MOV TL0,#0A0H
SETB 00H ;令标志位为1
RETI ;返回
LOOP: CLR TR0 ;延时15MS到.停止T0
SJMP $ ;结束.
END

㈤ 单片机输出38khz占空比50%的pwm波 检测p1.0~p1.7口高电压持续时间是否大于1ms,计算的一个程序 还要控制显

单片机产生PWM,简单来说就是:单片机让某引脚从低电平变为高电平(时间很短),然后单片机有280us的时间来干其他事情(某引脚有高或低电平,引脚自己会保持,一直等到单片机的指令它才会改变),高电平280us时间完了,单片机会给这个引脚一个低电平信号,这个引脚就由原来的高电平变成低电平了,然后引脚自己保持低电平,低电平720us完后,单片机又给引脚一个高电平信号,引脚就又变成高电平了,周而复始。用延时或定时器的方法使单片机有规律的给引脚高电平、低电平,这样PWM就产生了,单片机就不用一直只忙着产生pwm了。

㈥ 51单片机p口电平问题

首先分清硬件和软件。硬件接对了,软件设置为0就是低电平,设置为1就是高电平

㈦ 51单片机,12M晶振。P0.0口输出低电平10ms,然后高电平10ms,高低电平循环

/*(1)分析 中断 10ms,又Fosc = 12MHz,即指令周期为 1us
所以需要跑10000个数才能跑10ms,
所以定时器1工作在方式1下才能满足
所以初值是 65536 - 10000 = 55536 = 0xD8F0
*/
(2)
//汇编程序:
ORG 0000H
AJMP START
ORG 001BH
AJMP ISRTIMER1
START:
MOV TMOD,#10H
MOV TH1,#0D8H
MOV TL1,#0F0H
SETB TR1
SETB EA
SETB ET1
AJMP $
ISRTIMER1:
CPL P1.0
MOV TH1,#0D8H
MOV TL1,#0F0H
RETI
END

//---C语言程序:
#include <reg51.h>
sbit P1_0 = P1^0;
void main(void)
{
TMOD = 0x10;
TH1 = 0xD8;
TL1 = 0xF0;
TR1 = 1;
ET1 = 1;
EA = 1;
while(1);
}

void ISR_Timer1(void) interrupt 3
{
P1_0 = ~P1_0;
TH1 = 0xD8;
TL1 = 0xF0;
}

㈧ 单片机的fosc=12MHZ,要求在P1.0脚上输出周期为2ms的方波,为什么要求定时间隔是1ms谢谢解答下

周期为2ms的方波,意思就是高电平持续1ms,低电平再持续1ms,这是一个周期,1+1=1ms;接着是下个周期,又是高1ms,低1ms。。。。。。
所以定时器间隔要1ms,这样电平1ms翻转一次,周期才是2ms。
如果定时器是2ms,那么高电平2ms,低电平2ms,周期就成4ms了。
定时器间隔是周期的一半。

㈨ 为什么51单片机输出高电平有延时

脉冲电路一般都有延时的,只是延时长短不一样而已,不光是51单片机,因为你把示波器的时基设的太小了,才200ns才看到这个波形。

㈩ 单片机时钟频率为12MHz,从P1.6引脚输出周期为3ms的矩形波形,要求占空比例1:2,高电平时间短,试编程

12MHZ,单片机的机器周期为1us, 方波T=3MS, 占空比 1:2 ,高电平为:=T*(1/3)=1ms ;低电平为:=2MS
用单片机定时器T0,方式1 定时1MS,
TMOD=0X01
TH0=(65536-1000)/256
TL0=(65536-1000)%256
其他就自己搞定了

热点内容
换多了头像为什么不好 发布:2025-05-15 08:59:20 浏览:969
为什么手机打不开链接 发布:2025-05-15 08:48:55 浏览:323
微信聊天记录为什么会莫名消失 发布:2025-05-15 08:26:14 浏览:953
为什么喝黄芪水晚上睡不着 发布:2025-05-15 08:26:11 浏览:72
新手机号码为什么不能绑定银行卡 发布:2025-05-15 08:20:28 浏览:614
为什么手机左上角信号有个禁止标 发布:2025-05-15 08:20:22 浏览:351
为什么停止一段时间锻炼 发布:2025-05-15 08:18:04 浏览:948
小米为什么股价比不上京东 发布:2025-05-15 08:09:56 浏览:636
人闭着眼睛走为什么北半球向左偏 发布:2025-05-15 08:05:38 浏览:122
报表文件的扩展名为什么 发布:2025-05-15 07:49:51 浏览:248