在线等,急,用C语言编程,实现单片机控制两个LED灯:当S1开关闭合时,两个LED灯交替闪烁

在线等,急,用C语言编程,实现单片机控制两个LED灯:当S1开关闭合时,两个LED灯交替闪烁,第1张

判断开关对应的端口电平,改变led对应端口即可。

交替闪烁就是在循环中让两个LED端口交替高低电平。

循环中加入延时。延时函数我用循环实现。题目没有要求精准延时,如精准需用中断。

#include <reg52h>

#define uInt unsigned int

sbit D1=P2^0;

sbit D2=P2^1;

sbit S1=P3^2;

void mDelayuS( uInt us );

void main()

{

if(S1)

D1=D2=0;

while(S1==0) D1=!D2,mDelayuS(1000),D2=D1;

}

void mDelayuS( uInt us )

{

while ( us -- );  / 24MHz MCS51 /

}

#include<reg52h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit KEY=P3^3; //定义按键输入端口

sbit LED=P1^2; //定义led输出端口

/------------------------------------------------

主函数

------------------------------------------------/

void main (void)

{

KEY=1; //按键输入端口电平置高

while (1) //主循环

{

if(!KEY) //如果检测到低电平,说明按键按下

LED=0;

else

LED=1; //这里使用if判断,如果按键按下led点亮,否则熄灭

//上述4句可以用一句替代 LED=KEY;

//主循环中添加其他需要一直工作的程序

}

}

C语言写LED数码管显示程序与汇编是一致的,将显示的基本内容定义在一个数组中就可以了,比如:

#include<reg51h>

#define uchar unsigned char

uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};

sbit rstkey=P2^2;

sbit speaker=P2^0;

void delay()//延时约400毫秒

{

uchar i,j;

for(i=0;i<200;i++)

for(j=0;j<250;j++);

}

main()

{

uchar i,key;

P2=0xff;

while(1)

{

i=0;

P1=table[i];

while(1)

{

key=P3;

if(key!=0)break;

}

switch(key)

{

case 0x01:i=1;break;

case 0x02:i=2;break;

case 0x04:i=3;break;

case 0x08:i=4;break;

case 0x10:i=5;break;

case 0x20:i=6;break;

case 0x40:i=7;break;

case 0x80:i=8;break;

default:break;

}

P1=table[i];//显示按下抢答器的号

P0=key;//显示按下键号的LED

while(1)

{

if(rstkey==0)break;//主持人按下复位键则重新开始

speaker=~speaker;//否则蜂鸣器报警

delay();

}

}

}

原理图没有吗?这方面能力的提升最好有自己的单片机开发板,这样学习不会枯燥,效果也好些,我就是学习吴鉴鹰51单片机开发板的,有视频教程,很方便学起来,你也可以自己动手做些小实验,学习板很多,用的话找像吴鉴鹰单片机开发板这样教程详细,板子功能多的

以上就是关于在线等,急,用C语言编程,实现单片机控制两个LED灯:当S1开关闭合时,两个LED灯交替闪烁全部的内容,包括:在线等,急,用C语言编程,实现单片机控制两个LED灯:当S1开关闭合时,两个LED灯交替闪烁、单片机编程:LED发光二极管的初始状态为亮。按一下按键,LED灯灭。再按一下,LED亮,用C语言编程该怎么写、用C语言怎么编写7段LED的显示程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9309378.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存