单片机C语言入门_1.1_P0.1引脚LED间隔1s闪烁

1. Proteus内部电路同1.0中LED点亮的电路;

2. 程序设计考虑建立mDelay延迟1s子函数,P0_1引脚反复取反赋值实现亮灭控制;

#include <reg51.h>
sbit P0_1=P0^1;

void mDelay()
{
	unsigned int i, j;
		for(j=1000;j>0;j--)
			for(i=0;i<124;i++);
}

void main()
{
	while(1)
		{
			P0_1=!P0_1;
			mDelay();
		}
}

3. Proteus仿真过程,注意底部计时:

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用C语言编写的示例代码,实现了一个基于PIC单片机的按键控制LED闪烁的功能: ```c #include <pic.h> // 定义常量 #define LED_PIN RB0 #define KEY_PIN RB1 // 延时函数,单位为毫 void delay(unsigned int ms) { unsigned int i, j; for(i = 0; i < ms; i++) for(j = 0; j < 120; j++); } // LED闪烁函数,每隔1闪烁一次 void blink() { LED_PIN = 1; // LED亮 delay(1000); // 延时1 LED_PIN = 0; // LED灭 delay(1000); // 延时1 } void main() { TRISB1 = 1; // 配置KEY_PIN为输入 TRISB0 = 0; // 配置LED_PIN为输出 while(1) { if(KEY_PIN == 0) // 检测按键是否按下 { blink(); // 执行LED闪烁函数 while(KEY_PIN == 0); // 等待按键松开 } } } ``` 在这个示例代码中,我们定义了两个常量:LED_PIN表示LED灯的控制引脚,KEY_PIN表示按键的输入引脚。我们通过配置TRISB1为1,将KEY_PIN设置为输入,配置TRISB0为0,将LED_PIN设置为输出。 在主函数中,我们使用一个while循环,不停地检测按键是否按下。当KEY_PIN等于0时,说明按键被按下,我们就调用blink函数来执行LED闪烁的操作。在blink函数中,我们先让LED_PIN变为1,使LED灯亮起来,然后延时1钟,再让LED_PIN变为0,使LED灯熄灭。最后再延时1钟,等待下一次闪烁。这样就能实现按键按下后,LED灯每隔1闪烁一次的功能。 需要注意的是,在检测按键是否按下时,我们使用了一个while循环,等待按键松开。这是为了避免按键的抖动干扰,确保只有当按键真正被按下时才执行闪烁操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值