51单片机 如何检测某个引脚是否为高低电平 求一个C源程序实例

51单片机 如何检测某个引脚是否为高低电平 求一个C源程序实例,第1张

sbit  GO_OUT =P3^5;                       //需要检测的引脚

sbit  LED         =P3^4;                       //显示led    引脚为低时候亮

void main()                     //主程序

{

while(1)                    //主循环

{

if(GO_OUT==0)

{

LED=1;                            //引脚为低 led不亮

}

else      LED=0;          // 否则led点亮

}

}

#include <reg52h>     //包括一个52标准内核的头文件

#define uchar unsigned char

/主函数/

void timer0();

void main() // 主程序

{

TMOD=0x01; //定时器0工作方式1

EA=1;

ET0=1; //定时器0中断

TR0=1; //启动定时器0

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

while(1);  //程序循环

}

/定时器0中断/

void timer0() interrupt 1

{

uchar t;//定义变量

TF0=0;//定时器清0

t++; //中断一次累加1

if(t==20) //预置值,溢出20次就是1秒钟,晶振12MHZ

{

t=0;

P3=~P3; //反转LED灯的亮灭

}

}

//

#include<reg52h>

#include<intrinsh>

unsigned char a;

void main()

{

int i, j;

a = 0xfe;

while(1) {

a = _crol_(a, 1);

P1 = a; //单个LED灯,接在P1的任意引脚

for(j = 100; j > 0; j--)

for(i = 1000; i > 0; i--);

}

}

#include<reg51h>

#define uint unsigned int

uint pwm=50;

bit flag=0;

sbit pluse=P1^0;

sbit key=P1^4;

void t0isr() interrupt 1

{

if(flag)pluse=1;

else pluse=0;

flag=~flag;

}

main()

{

TMOD=0x02;

TH0=256-(char)(pwm28/100);

TL0=256-(char)(pwm28/100);

TR0=1;

ET0=1;

EA=1;

while(1)

{

if(key==0)

{

while(key==0);

pwm+=10;

if(pwm>=100)pwm=10;

}

if(flag)

{

TH0=256-(char)(pwm28/100);

TL0=256-(char)(pwm28/100);

}

if(!flag)

{

TH0=256-28+(char)(pwm28/100);

TL0=256-28+(char)(pwm28/100);

}

}

}

以上就是关于51单片机 如何检测某个引脚是否为高低电平 求一个C源程序实例全部的内容,包括:51单片机 如何检测某个引脚是否为高低电平 求一个C源程序实例、如何通过51单片机控制LED灯以1s的频率闪烁,求源代码。、我要的是用51单片机的C编程,两条分别是:1) 单个LED灯的亮或灭实验,写出源程序并编译下载运行;谢谢你等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9985555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存