導航:首頁 > 操作系統 > 51單片機發方波脈沖

51單片機發方波脈沖

發布時間:2022-07-01 11:41:53

『壹』 51單片機方波發生器

40khz方波是周期為25us的方波,可以正負電平各延時大約12us 51單片機P1口輸出40khz方波,匯編程序如下: L1:CLR A MOV P1,A LCALL DELAY SETB A MOV P1,A LCALL DELAY SJMP L1 DELAY:MOV R1,#6 L1:DJNZ R1,L1

『貳』 kile4利用51單片機計時器輸出1.5Hz的方波脈沖

Klla 4 BO 5是單片機計算計時器,輸出1.5赫茲的方波脈沖你的計算器計算等設定的輸出蟎蟲

『叄』 如何編程實現51單片機每隔 t 時間發出一個脈沖求C語言詳細編程。。。

給你個基本框架,根據你的具體要求再修改吧。使用定時1中斷實現,精度比較高。
#include <reg52.h>

#define PERIODH (65536l-10000l)/0X100 //設10ms中斷1次TH1初值
#define PERIODL (65536l-10000l)%0X100 //設10ms中斷1次TL1初值

sbit P1_1 = 0x91; //假設從P1.1輸出脈沖

unsigned int iCount; //延時間隔時間變數
unsigned int iPulseCount; //脈沖脈寬時間變數

void timer1() interrupt 3 using 1
{//定時器每0.01秒一次中斷

TH1 = PERIODH;
TL1 = PERIODL;

if(iCount)
{//計數未到0,計數器-1
iCount--;
}
if(iPulseCount)
{//計數未到0,計數器-1
iPulseCount--;
}

}
main()
{

TMOD = 0X10;//方式1
EA = 1;//總中斷允許
ET1 = 1;//定時器1中斷允許
TR1 = 1;//啟動定時器1

P1_1 = 0; //脈沖輸出埠,假設輸出正脈沖,預置為低電平
while(1)
{
iCount = 200;//每間隔200*10ms = 2秒一個脈沖,t值變化改此處
while(iCount);//等待2秒中
P1_1 = 1; //置為高電平,輸出正脈沖
iPulseCount = 10;//每間隔10*10ms = 100ms一個脈沖,脈寬變化改此處
while(iPulseCount);//高電平保持100ms
P1_1 = 0; //置為低電平,輸出正脈沖結束
}
}

『肆』 用51單片機產生方波

這個就不需要什麼電路了吧,有個51最小系統板+LCD1602液晶+幾個按鍵就OK了,因為你是輸出脈沖嘛,51也就只能輸出高低電平的脈沖了,外加一個液晶顯示即可。你到網上查一下液晶的連接電路就OK,一大把的。

另外你說的程序也並不難啊,頻率這么低,用定時計數器就可以實現了。可以做一個公式,用頻率或者占空比算出具體的定時器的計數值。公式嘛,當然也是你想一下了,呵呵。

綜合來看,難點就在於鍵盤控制而已,要讀入鍵盤值,然後進行數據整合處理。

『伍』 如何用51系列單片機發射脈沖

51單片機本身就有兩個自帶的可編程定時器/計數器T1,T2有四種工作方式,只要寫入控制字和設置記數初值,就可以輸出不同頻率的脈沖.51單片機的為6M
HZ,所以存入的值可以計算的為0F0H,選用方式1,控制字
MOV
TMOD,#01H
;選用方式1
MOV
TL0,#0F0H
;裝入初值
SETB
TR0
;啟動
SETB
ET0
;允許中斷
SETB
EA
;CUP開放中斷

『陸』 關於51單片機產生方波信號

如果單片機有PWM的功能就可以用PWM產生方波,如果沒有也可能用I/O口先輸出高電平延時,再輸出低電平,就可以得到所要的方波了,要改變幅度 頻率 空佔比可調,可以設置幾個按鍵開關,按一次就可以改變延時時間,這樣就可以改頻率了。其它要調的也可是如此

『柒』 大神你好,我用的是帶環形脈沖分配器的那種驅動器,你說要控制51單片機給方波脈沖,這種怎麼編程啊

這更簡單
for(j=0;j<4;j++)
{
for(i=0;i<12;i++)

clock=1;
delayms(2);

clock=0;
delayms(2);
}
delayms(5000);
}
當然有一個方向控制端要設置,有的還有使能端要置為1

『捌』 怎樣用51單片機產生方波

可以用定時器中斷實現這樣的處理,這種方法重點在於根據你的晶振頻率計算出定時器中斷的參數,然後就可以很好的控制定時器中斷觸發的時間了.只要在中斷處理過程里不斷的讓I/O口取反,就可以實現這樣的方波。

『玖』 求高手 用51單片機輸出產生方波的程序

#include"reg52.h"
sbit PWM=P1^0;//定義輸出腳
void main()
{
TMOD=0x01; //定時器0工作方式1
TH0=(65536-10000)/256; //12M晶振10MS計時常數
TL0=(65536-10000)%256;
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //啟動定時器0
while(1);

}
//中斷函數,啟動後每10MS進入一次中斷
void T0_time(void) interrupt 1
{
TH0=(65536-10000)/256; //12M晶振10MS計時常數
TL0=(65536-10000)%256;
if(PWM)PWM=0; //輸出腳取反
else PWM=1;
}

『拾』 51單片機:T1用作定時器在p1.0產生方波脈沖,輸出到T0,T0用作計數器,記錄該方波的下降沿個數,如下所述

void main(void)
{uint temp1,temp2,counter;

initial();
for(;;) //產生周期為1000us的方波
{
TH1=0Xf0; // 重新裝載計數初值
TL1=0X0c;

while(!TF1); //你是用查詢的方式產生方波,但原程序的這個部分有問題
FB=!FB;
TF1=0;

if(loop1=1)
TR0=1; //開始計數
if(loop2=1) //停止計數
{TR0=0;
temp1=TL0;temp2=TH0;
couter=(temp2<<8)+temp1; //記錄計數的次數
}
}
}

閱讀全文

與51單片機發方波脈沖相關的資料

熱點內容
游擊隊過索道演算法 瀏覽:160
單片機多功能數字鍾設計 瀏覽:203
我的世界如何進入夢世界伺服器 瀏覽:397
飢荒為什麼老啟動不了伺服器 瀏覽:141
銑床工藝編程 瀏覽:454
七個星期五app怎麼用 瀏覽:688
建行卡app怎麼把錢轉為定期 瀏覽:174
中體彩app怎麼操作呢 瀏覽:962
pdf查看尺寸 瀏覽:972
pop3協議命令 瀏覽:682
獨立重復的演算法 瀏覽:288
編程scratch可以做什麼 瀏覽:415
如家怎麼沒有app了 瀏覽:819
如何刪除emoji文件夾 瀏覽:406
目前主流Python版本是什麼 瀏覽:629
proe復制曲面命令 瀏覽:412
metasploit命令 瀏覽:464
特斯拉新版app怎麼充電 瀏覽:614
學習編程基礎知識大全 瀏覽:766
linuxc語言socket 瀏覽:925