導航:首頁 > 操作系統 > 單片機pluse

單片機pluse

發布時間:2023-07-13 20:15:40

❶ 利用89S51單片機的P1.0引腳檢測一按鍵開關使每按鍵一次,P1.1輸出一個正脈沖(脈寬隨意),單片機C語言

#include<reg51.h>

#defineuintunsignedint

sbitBOT=P1^0;//設置BOT,用於設置輸出脈沖命令

sbitPLUSE=P1^1;

voiddelay(uintm)//延時程序,用於設置脈寬

{

m--;

}

voidmain()

{

while(1)

{

if(BOT==0)

{

PLUSE=0;

delay(100);//調整脈寬寬度

PLUSE=1;

delay(100);

PLUSE=0;

delay(100);

}

}

}

❷ 單片機程序

主程序:
void main (void)
{
bit flag=0;
uchar pluse;//脈沖個數
TMOD=0X50;
TH1=(65536-100)/256;

TL1=(65536-100)%256;
ET1=1;
EA=1;
TR1=1;
while(1)
{display(pluse);}
}

中斷程序:
void timer1(void) interrupt 3
{
if(flag==0)//計數滿了
{
P1^7=1;
TMOD=0X10;//轉成內部定時
TH1=(65536-10000)/256;

TL1=(65536-10000)%256;
flag=1;
}
else //定時時間到
{
P1^7=0;
TMOD=0X50;//轉成外部計數
TH1=(65536-100)/256;
TL1=(65536-100)%256;
pluse++;
flag=0;
}
}

❸ 如何寫一個單片機輸入上升沿和下降沿的脈沖輸出信號的c語言程序

如果是循環中查詢的話我一般這樣做, 定義一個變數比如keyLastStatus來記錄上一次掃描周期的狀態
sbit key=P2.0; char keyLastStatus=0;
keyLastStatus=key; //初始化
while (1)
{
if(key==0 && keyLastStatus!=key) Todo(); //上升沿
if(key==1 && keyLastStatus!=key) Todo(); //下降沿
keyLastStatus=key; //記錄上一次的狀態
}

閱讀全文

與單片機pluse相關的資料

熱點內容
程序員如何換個城市生活 瀏覽:141
JS開發PDF 瀏覽:283
app格式不對怎麼辦 瀏覽:94
32位定時器單片機 瀏覽:332
安卓編譯不能進行下一步簽名 瀏覽:605
男生做保潔解壓視頻 瀏覽:748
qd88yg壓縮機參數 瀏覽:383
pubg國際服伺服器有什麼區別 瀏覽:504
怎麼打開文件夾自動刪除 瀏覽:683
php中英文切換 瀏覽:443
php168數據 瀏覽:77
水壓縮後有彈性 瀏覽:45
蘇州阿里雲伺服器數據備份 瀏覽:522
消息提示音怎麼設置安卓 瀏覽:277
怎麼去掉安卓手機的小圓圈 瀏覽:474
女程序員每天教你一招 瀏覽:590
葯劑學pdf下載 瀏覽:477
打開的共享文件夾少東西 瀏覽:643
芝麻黑頭解壓去除視頻 瀏覽:186
光明與黑暗怎麼進入伺服器 瀏覽:659