导航:首页 > 操作系统 > 单片机一个灯光闪烁程序

单片机一个灯光闪烁程序

发布时间:2023-04-29 01:52:55

⑴ 用C语言编写一个单片机控制LED灯闪烁变化的编程 急用!!!!!!!!!

C语言实现LED灯闪烁控制配套51单片机开发板。

#include //包含单片机寄存器的头文件

/****************************************
函数功能:延时一段时间

*****************************************/

void delay(void) //两个void意思分别为无需返回值,没有参数传递。

{

unsigned int i; //定义无符号整数,最大取值范围65535。

for(i=0;i<20000;i++) //做20000次空循环。

; //什么也不做,等待一个机器周期。

}

/*******************************************************

函数功能:主函数 (C语言规定必须有也只能有1个主函数)。

********************************************************/
void main(void)

{

while(1) //无限循环。

{

P0=0xfe; //P1=1111 1110B, P0.0输出低电平。

delay(); //延时一段时间。

P0=0xff; //P1=1111 1111B, P0.0输出高电平。

delay(); //延时一段时间。

}

}

单片机驱动LED灯的源程序:

#include<reg52.h> //头文件。

#define uint unsigned int

#define uchar unsigned char

sbit LED1=P1^7; //位定义。

void delay_ms(uint);//mS级带参数延时函数。

void main()

{

while(1)

{

LED1=0;

delay_ms(1000);

LED1=1;

delay_ms(1000);

}

}

void delay_ms(uint z) //延时子程序

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(1)单片机一个灯光闪烁程序扩展阅读:

单片机应用分类:

通用型:

这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。

总线型:

这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。

另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。

控制型:

这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。

通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。

参考资料来源:网络-单片机



⑵ 我刚学单片机,想让LED上的第一个小灯间隔200MS闪烁,我编的程序是这样的

// 定义 LED 的数码管编号
int led = 1;
// 定义 LED 闪烁的间隔时间,单位为毫秒
int interval = 200;
void setup() {
// 初始化数字输出为输出模式
pinMode(led, OUTPUT);
}
void loop() {
// 让 LED 亮起来
digitalWrite(led, HIGH);
// 延迟一段时间
delay(interval);
// 让 LED 熄灭
digitalWrite(led, LOW);
// 延迟一段时间
delay(interval);
}

⑶ 51单片机怎么只控制一颗LED灯闪烁

1、新建项目,如图所示。

注意事项:

很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。

⑷ 用单片机C语言怎么写用状态机实现按键控制LED灯闪烁这个程序

#include<STC12C52.H>

#defineucharunsignedchar

#defineuintunsignedint

sbitkey=P1^2;

sbitp1_6=P1^6;

voiddelay(uchardelay_time)

{

ucharn;

uintm;

for(n=0;n<delay_time;n++)

{

for(m=0;m<10000;m++);

}

}

voidkeyscan()

{

if(key==0)

{

delay(5);

if(key==0)

while(!key)

{

p1_6=0;

delay(20);

p1_6=1;

delay(20);

}

}

}

voidmain()

{

WDT_CONTR=0x3C;

while(1)

{

keyscan();

WDT_CONTR=0x3C;

}

}

这个功能可以用中断来实现,当然,现在我写的这个也可以实现。由于你用的晶振频率不知道,所以你自己修改一下延时时间,再把头文件改一下,就可以了,我试验了,可以实现改功能。

⑸ 单片机LED灯闪烁程序

char LED;
sbit key1down=P1^0 ; // 设开关key1连接此端口
sbit key2down=P1^1 ; // 设开关key2连接此端口
void main(){

P0=0xff; // 输出低电平LED亮

LED=0xfe;
while(1){
P0=LED; delay();
if(key1){ LED <<= 1 ; } // 将LED左移一位;
if(key2){ LED >>= 1 ; LED |=0x80; } // 将LED右移一位;
if(key1down==0) { key1=1; key2=0;}
if(key2down==0) { key1=0; key2=1;}
}

⑹ 请大家给我写一个用单片机c语言变的程序,要求:用定时器实现灯的闪烁

我看楼上写的程序不怎么好,而且不容易懂,不是单片机c语言吧,于是自作主张的自己又写了一个,是51单片机的,12MHz晶振。我猜你现在用的是51吧?
#include
#define
uchar
unsigned
char
sbit
Led=P1^0;
uchar
counter;
void
timer1()
interrupt
3
using
1
{
TH1=-50000/256;
TL1=-50000%256;
counter=counter+1;
}
void
main()
{
counter=0;
TMOD=0x50;
TH1=-50000/256;
TL1=-50000%256;
//定时50ms,16位定时器
EA=1;
TR1=1;
while(1)
{
if(counter==20)
{
counter=0;
Led=~Led;
//led灯闪烁
}
}
}
楼主觉得可以的话,一定要给满意噢,若有什么不满意的地方,请继续追问。对啊,中断里面的程序一定要短,中断嘛,本来就是要告诉单片机该做什么的了。

⑺ 单片机下面程序是怎么实行LED灯闪烁的

  1. 原理:LED闪烁其实就是LED亮灭,要看电路,有的直接是单片机驱动的小LED,给高平亮,给低电平灭,一直给高低电平循环就表现出亮灭了。

  2. 延时:就是亮多久后灭,灭多久后亮。

  3. 实现:先给高电平,LED亮,经过延时后,再给一个低电平,LED灭,再给一个延时,如此无限循环。

⑻ 单片机,用c语言编,单灯约1hz闪烁,怎么编

首先,是单灯如何点亮的问题,无非就是某个GPIO口输出高电平或者低电平(由外部电路决定)使灯亮灭,假设输出高电平为亮,输出低电平为灭。
其次,1hz闪烁,即代表定时1s开、关灯。所以要用到定时器。
代码如下:
#include "stdio.h"

#define LED_ON P1.1 = 1;
#define LED_OFF P1.1 = 0;

bit flag_1s;
bit flag_cnt;

void main(void) {
Sys_Init();

while(1) {

if(flag_1s == 1) {

flag_1s = 0;

if(flag_cnt ^= 1)

LED_ON;

else

LED_OFF;

}

}

}

Sys_Init() {
// 初始化MCU的IO口

// 初始化定时器

}

void Timer_ISR (void) interrupt 1 { // 定时器中断处理函数 1s 进入一次
flag_1s = 1;
}

阅读全文

与单片机一个灯光闪烁程序相关的资料

热点内容
linux下安装vnc 浏览:656
微信图片加密编辑可见 浏览:704
江恩操盘术pdf 浏览:929
本机构所属的服务器是什么意思 浏览:783
c编译器有哪些段 浏览:862
qq原创表情在哪个文件夹 浏览:624
点点赚app现在怎么不能用了 浏览:363
网红阿里程序员事件 浏览:203
算法设计心得体会 浏览:116
java修改ip 浏览:150
php不需要编译吗 浏览:134
特斯拉新车如何用app控制 浏览:185
文档拖到文件夹就不见了 浏览:814
标致308压缩比是多少 浏览:749
服务器和备用服务器地址 浏览:926
程序员加班跳槽 浏览:706
青年员工在工作中如何化解压力 浏览:604
包子解压神器怎么玩才爽 浏览:735
联想加密电脑怎么做系统 浏览:883
解压最近的压力 浏览:711