led灯循环闪烁程序(led灯循环闪烁程序设置)
如何实现LED灯每隔0.5s进行一次闪烁?画出硬件电路图,写出软件代码及注释。
代码是,^sbit LED1=P2^0;
sbit LED2=P2^1;
// STC的下载工具中,有延时的计算例子,再使用循环延时
void Delay100ms(){ //@11.0592MHz
unsigned char i, j;
i = 180;
j = 73;
do{
while (--j);
} while (--i);
}
void main(){
unsigned int n;
while(1){
LED1=~LED1;
LED2=~LED2;
for(n=0; n20; n++){
Delay100ms();
单片机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;}
}
led八位流水灯左右循环闪烁
可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。
具体实现方法可以参考如下程序:pre t="code" l="cpp"#include reg51.h
#include intrins.h
#define uint unsigned int
#define uchar unsigned char
void delay(uint a);
void main()
{
P1=0xfe;
while(1)
{
// 向左循环点亮LED
for(i=0; i7; i++)
{
P1=_crol_(P1,1); // 左移一位,点亮下一位LED
delay(55);
}
// 向右循环点亮LED
for(i=0; i7; i++)
{
P1=_cror_(P1,1); // 右移一位,,点亮上一位LED
delay(55);
}
}
}
// 延时函数,延时a毫秒
void delay(uint a)
{
uint x,y;
for(x=a;x0;x--)
for(y=110;y0;y--);
}
用keil编一个led灯闪烁程序
点亮 小灯的程序我们第二课完成了,就是让 LED = 0。熄灭小灯的程序也很简单,就是 LED = 1。点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁了。
我们首先复习一下 Keil 写程序的过程,建立工程--保存工程--建立文件--添加文件到工程--编写程序--编译--下载程序。
LED 对于有 C 基础的同学来说很简单,那我先写出来,大家可以先看下。没有C 语言基础的同学也可以跟着抄一遍,下节课我会补充部分 C 语言基础知识,这样你先抄一遍后,再跟着看 C 语言基础知识的时候也比较容易理解透彻。
纯文本复制
#reg52.h
sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
main(){ //void 即函数类型
//以下为声明语句部分
unsigned int i = 0; //定义一个变量 i,并赋初值 0
//以下为执行语句部分
ENLED = 0; //U3、U4 两片 74HC138 总使能
ADDR3 = 1; //使能 U3 使之正常输出
ADDR2 = 1; //经 U3 的 Y6 输出开启Q16
ADDR1 = 1;
ADDR0 = 0;
(1){
LED = 0; //点亮小灯
for (i=0; i30000; i++); //延时一段时间
LED = 1; //熄灭小灯
for (i=0; i30000; i++); //延时一段时间
}
}
大家把这个程序编译一下,下载到里,就会发现 LED2 这个小灯会闪烁了。
用C语言编写一个单片机控制LED灯闪烁变化的编程 急用!!!!!!!!!
C语言实现LED灯闪烁控制配套51单片机开发板。
#include //包含单片机寄存器的头文件
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void) //两个void意思分别为无需返回值,没有参数传递。
{
unsigned int i; //定义无符号整数,最大取值范围65535。
for(i=0;i20000;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灯的源程序:
#includereg52.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;x0;x--)
for(y=110;y0;y--);
}
扩展资料:
单片机应用分类:
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。
通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料来源:百度百科-单片机
用C语言编写一个单片机控制LED灯闪烁三次的程序,急求!
# P1上接LED等。
#include "reg51.h"
void delayms(unsigned int x)
{
int i,j;
for(i=x;i0;i--)
for(j=0;j120;j++);
}
void main(void)
{
char i;
for(i=0;i6;i++)
{
P1 = ~P1;
delayms(1000);
}
while(1);
}
[img]关于led灯循环闪烁程序和led灯循环闪烁程序设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~