㈠ 单片机按键控制小灯程序
用c给你编一下
#include<reg52.h>//89s52单片机头文件
#define
K1
=
P0^0
;
//用宏定义定义按键1
#define
K2
=
P0^1
;
//用宏定义定义按键2
#define
LED
=
P3^7
;
//用宏定义定义小灯
void
LED_shuanshuo
(char
a
);
void
main
(void)
{
char
a
;
while(1)
{
if(k1)
a
=
5;
//此处的值可以从0
-
255
次之间闪烁
if(k2)
a
=
10
;//此处的值可以从0
-
255
次之间闪烁
LED_shuanshuo
(a
);
}
}
void
LED_shuanshuo
(char
a
)
{
char
b;
for(b
=
0
;
b
<
a
*
2
;
b
++)
{
LED
^=
1
;
}
LED
=
1
;
//1
代表灯亮
0
代表灯灭
}
㈡ 控制小灯亮灭的单片机程序
#include<reg51.h>
sbits1=P1^0;
sbits2=P1^1;
sbitd1=P1^3;
sbitd2=P1^4;
main()
{
d1=1;
d2=1;
while(1)
{
if(s1==0)
{
while(s1==1);
d1=~d1;
}
if(s2==0)
{
while(s2==1);
d2=~d2;
}
}
}
㈢ 用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--);
}
(3)单片机控制灯程序扩展阅读:
单片机应用分类:
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。
通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料来源:网络-单片机
㈣ 单片机通过按钮控制一个LED小灯的亮灭,请问这个程序怎么写
led应该是一个变量,是代表led灯 亮或者灭的一个变量。 当你按下开关后,s1==0,就执行 led=!led 这条语句。 led=!led
的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后
就变成亮。按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); //
等待按键放开led1=~led1;}
㈤ 单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED暗!循环
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。
㈥ 用C语言编写一个单片机控制LED灯闪烁三次的程序,急求!
# P1上接LED等。
#include "reg51.h"
void delayms(unsigned int x)
{
int i,j;
for(i=x;i>0;i--)
for(j=0;j<120;j++);
}
void main(void)
{
char i;
for(i=0;i<6;i++)
{
P1 = ~P1;
delayms(1000);
}
while(1);
}
㈦ 单片机控制灯泡亮灭,请高手帮忙
#include
unsigned
int
void
main()
P1DIR&=~BIT0;//设置P1.0为输入,用来检测触发信号
P1DIR|=BIT2;//p1.1控制LED二极管
{
while(P1IN&BIT0)//高电平触发
for(i=0;i<15;i++)
{
for(j=0;j<65532;j++)
{
P1OUT=0X02;}
}
}
㈧ 51单片机控制一个灯闪烁的程序怎么做
控制闪烁大概有两种方式
一是延时
先控制灯亮
然后延时一段时间
然后控制灯灭,再延时,循环;二是利用中断
隔一段时间进入中断给IO口取反就行
㈨ 单片机控制电灯程序
给你发个P1口左右移流水灯的程序,是否实用???
#include<reg52.h>//主文件定义
#include<intrins.h>//位移主文件定义
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int/*
sbit led=P0^0;//位定义
sbit led1=P0^1;*/
uchar temp,num,num1,num2;
void delay(uint x)//延时程序
{
uint y;
for(;x>0;x--)
for(y=100;y>0;y--);
}
void main()//主函数
{
temp=0xfe;//起始位定义:11111110
/*以下5月31日改快速左右移动*/
while(1)
{
for(num=0;num<1;num++)//左移次数
{
for(num=0;num<8;num++)//左移位数
{
P1=temp;
delay(100);//延时程序此处必须加延时程序
temp=_crol_(temp,1);//循环左移起始位位移.1.位
delay(100);//延时程序
}
}
for(num1=0;num1<1;num1++)//右移次数
{
for(num1=0;num1<8;num1++)//右移位数
{
P1=temp;
delay(100);//延时程序此处必须加延时程序
temp=_cror_(temp,1);//循环右移起始位位移.1.位
delay(100);//延时程序
}
}
}
}
㈩ 单片机 用C语言怎么编写用一个按钮,控制一盏灯的亮与灭的程序
读取连接按键的IO口,判断是否为低电平,如果是,延时(十毫秒左右可以),再次读取IO口,判断是否为低电平,如果是则表示有有效的按键按下,接着用while判断等待按键释放,然后让连接led的IO口电平取反以控制其亮灭(是强电的灯可以通过此处控制继电器的合、闭来控制灯的亮灭)。参考程序:if(key==0){delayms(10);if(key==10){while(key==0);//等待按键释放,IO口恢复高电平led=!led;//按键控制程序}}