导航:首页 > 编程语言 > 让led灯闪烁的程序

让led灯闪烁的程序

发布时间:2024-12-21 04:56:24

『壹』 如何用汇编语言控制led灯闪烁

用AT89C2051单片机(可以换成任意的51单片机)仿真,控制一个LED灯闪烁,LED灯接在P1.7脚上。程序如下

LED1 BIT P1.7

MAIN:CPL LED1

ACALL DELAY

SJMP MAIN

DELAY:MOV R7,#0;延时子程序

MOV R6,#0

LOP:DJNZ R6,$

DJNZ R7,LOP

RET

仿真图如下

『贰』 8个LED指示灯循环闪烁的程序(单片机)

1:设置一个变量i,它可以从0循环到3

2:检测一个已取消缓冲的键。按“+1”

3:当I值为每个值时,执行相应的模式。

水量灯参考程序

#include

#include

#定义uchar无符号字符

Ucharj,温度;

无效延迟(无符号整型ms)

Uchart;

(女士)

对于(t = 0;T < 123;T + +);

Voidmain()

P1=0XFF;

延迟(500);

Temp=0xfe;//奇怪,led连接在P2.3~P2.6

对于(j = 0;J < 4;J + +)

P1=temp;

延迟(500);

Temp=_crol_(Temp,1);

P1=0XFF;

(1);

(2)让led灯闪烁的程序扩展阅读:

注意事项:

#include“reg52。这个文件为单片机定义了一些特殊的功能寄存器

Typedef无符号int在16以下;//以声明的方式定义数据类型

无符号charu8;

//LED灯

Sbitleda=P0;

Sbitled1=P0^0;

Sbitled2=P0^1;

Sbitled3=P0^2;

Sbitled4=P0^3;

Sbitled5=P0^4;

Sbitled6=P0^5;

Sbitled7=P0^6;

Sbitled8=P0^7;

无效延迟(16岁以下)

,(我);

Voidmain()

而(1)

勒达=1;//所有的灯都亮着

//从左到右熄灭

Led1=0;

延迟(50000);//延迟时间约为450毫秒

Led2=0;

延迟(50000);//延迟时间约为450毫秒

Led3=0;

延迟(50000);//延迟时间约为450毫秒

Led4=0;

延迟(50000);//延迟时间约为450毫秒

Led5=0;

延迟(50000);//延迟时间约为450毫秒

Led6=0;

延迟(50000);//延迟时间约为450毫秒

Led7=0;

延迟(50000);//延迟时间约为450毫秒

Led8=0;

延迟(100000);//延迟大约900毫秒

//从右到左照明

Led8=1;

延迟(50000);//延迟时间约为450毫秒

Led7=1;

延迟(50000);//延迟时间约为450毫秒

Led6=1;

延迟(50000);//延迟时间约为450毫秒

Led5=1;

延迟(50000);//延迟时间约为450毫秒

Led4=1;

延迟(50000);//延迟时间约为450毫秒

Led3=1;

延迟(50000);//延迟时间约为450毫秒

Led2=1;

延迟(50000);//延迟时间约为450毫秒

Led1=1;

延迟(50000);//延迟时间约为450毫秒

勒达=1;//所有的灯都亮着

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

按键控制LED闪烁,状态机就是检测按键,如果没有按下就不闪烁,如果按下就开始闪烁。楼主提的问题就是一个问题。你到底是想问状态机还是想问程序?

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

『肆』 汇编语言或C语言编写一个控制灯闪烁的程序

我写的这个程序应该可以,按一下灯亮,再按一下灯灭
#include "REG52.H"
sbit LED1_01 = P1^1; //LED灯
sbit KEY0_01 = P1^2; //按键
void Delay_1ms(unsigned int Time)
{
unsigned int x, y;
for(x = Time; x > 0; x--)
for(y = 120; y > 0; y--);
}
int main(void)
{
LED1_01 = 1; //打开LED灯点亮
while(1)
{
if(KEY0_01 == 0) //检测按键是否按下
{
Delay_1ms(10); //延时去抖动
if(KEY0_01 == 0) //确定按键按下
{
LED1_01 = ~ LED1_01; //取反LED灯 [ 亮 . 灭 ] }
while(KEY0_01 == 0); //检测松手
}
}
}
你的图里有A/D转换器

AD转换函数ADC_DIS.C

#include <REGX51.H>

#include"def.h"

#include"lib.h"

sbit adc_cs=P1^0;

sbit adc_rd=P1^1;

sbit adc_wr=P1^2;

/***ADC0804启动转换函数***/

INT8U start_ad()

{

INT8U
temp;

adc_cs=0;

adc_wr=1;

delay(1);

adc_wr=0;

delay(1);

adc_wr=1;

delay(1); //启动AD

adc_rd=1;

delay(1);

adc_rd=0;

delay(1);

temp=P2;

delay(1);

adc_rd=1;

delay(1);
//读取数据

return
temp;

}
用这个程序。

阅读全文

与让led灯闪烁的程序相关的资料

热点内容
大数据与工业的结合包括哪些领域 浏览:993
苹果7闹钟铃声设置歌曲 浏览:168
法庭文件有哪些 浏览:211
zip文件怎么删除吗 浏览:247
win1016179安装失败 浏览:457
pp助手的文件系统 浏览:218
设计网站横幅广告要哪些因素 浏览:991
劳务报酬认定在多少号文件 浏览:209
本地数据传输业务有什么用途 浏览:375
什么情侣app好用 浏览:575
旅游攻略适合下什么app 浏览:403
nodejsbusboy下载 浏览:106
同事不会送文件找不到地方 浏览:473
银联万事达applepay 浏览:834
试玩怎么推广app 浏览:588
课设报告中数据结构写什么东西 浏览:44
男生怎么搜到网站的 浏览:441
当前无网络怎么解决 浏览:299
x200thinkpad升级 浏览:568
华为mate8几个版本的区别 浏览:582

友情链接