导航:首页 > 操作系统 > 单片机中led灯闪烁频率计算

单片机中led灯闪烁频率计算

发布时间:2023-06-29 12:30:46

Ⅰ 51单片机控制LED闪烁频率

暂时想到两种解决方案:
1.最简方案——利用延时函数:进入主函数后,初始化LED,设置一个延时初始值,然后进入while循环,里边只做四件事,打开LED,利用键盘返回值作延时函数参数,关闭LED,利用键盘返回值作延时函数参数。
2.精确解决方案——定时器:初始化定时器,打开中断等,然后进入while等待中断,在中断函数里先定义一个变量,然后将键盘返回值赋值给此变量,再将此变量去重装定时器初值,接下来就是为LED取反。
有不懂的随时回复我。
希望我的回答能帮助到你。

Ⅱ 51单片机一键控制一个LED,每按一下按键LED闪烁一种频率,共闪烁三种频率.有好的答案加

#include<reg51.h>

unsigned char n = 0;

sbit key = P3^4;
sbit led = P1^0;

void delay()
{
unsigned int i, j;
for(i = 0; i < 100; i++) for(j = 0; j < 500; j++);
}

void readkey(void)
{
unsigned char i, j;
if(!key) {
for(i = 0; i < 10; i++)
for(j = 0; j < 120; j++); //延时消抖
if(!key) {
while(!key); //等待按键释放
n++;
n %= 4; //n = 0~3
}
}
}

main()
{
while(1) {
switch(n) {
case 0: led = 1; readkey(); break; //熄灭
case 1: delay(); readkey(); //慢速闪烁
case 2: delay(); readkey(); //中速闪烁
case 3: delay(); readkey(); led = ~led; //快速闪烁
}
}
}

Ⅲ 51单片机矩阵键盘输入的值保存到一个数组了里并显示出来最后再控制LED灯闪烁对应数值的次数

例如按下1、2、3,我可以令result=num[0]*100+num[1]*10+num[2],得到123。--每次怎么可能按下 1、2、3 ?每次,只能按下一个。你把值保存到数组num[i]的一个元素中,再 i++。 i == 3,可令result=num[0]*100+num[1]*10+num[2],得到123。然后可以读这些数进行计算。

Ⅳ 在52单片机上实现:点亮任意一个LED,先以1HZ的频率闪烁5秒,再以100HZ的频率闪烁5秒,以此循环.

大体思路:设P0^0控制LED的亮灭,当P0.0=0时灯点亮。有两种闪烁方式,可以让1HZ的在main()函数里闪烁。然后开个定时器,让100HZ的在定时器中断里闪烁,就行了。
1HZ就是1S亮一次,100HZ是10ms亮一次

#include<reg52.h>
void delay(int x)
{
时间是5ms;
}
void timer1()interrupt 1 定时器0中断
{
static unsigned int a;
unsigned int b;
if(++a==5) 看是否到了5S
{
TR0=0;先把定时器关了,防止在送段运行时再次进入中断。
a=0;
for(b=1000;b>0;--b)
{
P0.0=0; 让灯亮灭的间隔为5MS。一共闪5S
delay(1);
p0.0=~p0.0;
delay(1);

}
}
TH0=XX; 再次 设置好定时器,让它每隔1S进一次中断;
TL0=XX;
TR0=1;
}
void main()
{
TH0=XX; 设置好定时器,让它每隔1S进一次中断;
TL0=XX;
TR0=1;
while(1)
{

P0.0=0; 灯开始以500ms为间隔开始亮灭。
delay(100);
p0.0=~p0.0;
delay(100);
}
}

阅读全文

与单片机中led灯闪烁频率计算相关的资料

热点内容
jtbcphp 浏览:337
编程时遇到源代码未编译如何处理 浏览:431
绿源app怎么查看绑定系统 浏览:357
qq里的压缩文件怎么保存 浏览:349
伤寒论桂林pdf 浏览:684
树洞app怎么搜索好友 浏览:217
冷库压缩机如何注油 浏览:641
无线wifi怎么加密呢 浏览:432
linuxjava配置环境变量 浏览:702
rust服务器怎么下载地图 浏览:831
程序员那么可爱被误会的片段 浏览:39
好玩免费的服务器地址 浏览:344
vb脚本编译 浏览:18
单片机led显示数字 浏览:379
vim编译器是什么 浏览:385
ava程序员面试标准 浏览:791
安卓原生系统状态栏编译美化 浏览:64
java线程是什么意思 浏览:710
如何查看服务器的外网ip地址 浏览:721
命令方块放置方块 浏览:367