當前位置:首頁 » 半夜時分 » 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-12 11:14:06 瀏覽:647
蘇寧支付為什麼便宜 發布:2025-05-12 10:44:01 瀏覽:89
為什麼男生睡覺很難叫醒 發布:2025-05-12 10:39:37 瀏覽:698
為什麼找不到路由器的信號 發布:2025-05-12 10:36:55 瀏覽:84
你為什麼總在吃飯時間跟我說話 發布:2025-05-12 10:36:23 瀏覽:111
為什麼酒吧裡面的東西不能碰 發布:2025-05-12 10:31:43 瀏覽:62
淘寶網上名牌鞋子為什麼那麼便宜 發布:2025-05-12 10:18:28 瀏覽:501
為什麼晚上洗完澡睡覺會出汗 發布:2025-05-12 10:18:24 瀏覽:757
au導入文件為什麼換聲道 發布:2025-05-12 10:13:54 瀏覽:544
女孩子為什麼趴著把手放在 發布:2025-05-12 10:05:02 瀏覽:350