导航:首页 > 操作系统 > 单片机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相关的资料

热点内容
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
20岁的程序员 浏览:238