导航:首页 > 操作系统 > 单片机感应灯程序

单片机感应灯程序

发布时间:2023-01-05 11:31:02

‘壹’ 单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序的源代码如下:

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8个流水灯反向逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8个流水灯依次全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp>>=1;

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

(1)单片机感应灯程序扩展阅读

51单片机流水灯的源代码如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

for(i=0;i<8;i++)

{

P0=_crol_(P0,1);

delay(500);

}

}

}

‘贰’ 80c51单片机控制人体感应灯的汇编程序怎么写

KEYVAL EQU 30H
KEYSCAN EQU 31H
KEYTM EQU 32H
KEYSEL:
MOV KEYVAL,#0
MOV KEYSCAN,#0EFH
LCALL GETKEY
MOV A,KEYTM
JZ KEYS1
MOV KEYVAL,A
SJMP KEYRTN
KEYS1:
MOV KEYSCAN,#0DFH
LCALL GETKEY
MOV A,KEYTM
JZ KEYS2
CLR C
ADD A,#4
MOV KEYVAL,A
SJMP KEYRTN
KEYS2:
MOV KEYSCAN,#0BFH
LCALL GETKEY
MOV A,KEYTM
JZ KEYS3
CLR C
ADD A,#8
MOV KEYVAL,A
SJMP KEYRTN
KEYS3:
MOV KEYSCAN,#7FH
LCALL GETKEY
MOV A,KEYTM
JZ KEYRTN
CLR C
ADD A,#12
MOV KEYVAL,A
KEYRTN:
RET

;--------------------
GETKEY:
MOV KEYTM,#0
MOV A,KEYSCAN
MOV P3,A
NOP
MOV A,P3
ANL A,#0FH
XRL A,#0FH
JZ NOKEY
MOV R2,#10
LCALL DELAY
MOV A,P3
ANL A,#0FH
XRL A,#0FH
JZ NOKEY
MOV A,P3
ANL A,#0FH
MOV R7,A
SF:
MOV A,P3
ANL A,#0FH
XRL A,#0FH
JNZ SF
MOV A,R7
CJNE A,#0EH,NK1
MOV KEYTM,#1
SJMP NOKEY
NK1:
CJNE A,#0DH,NK2
MOV KEYTM,#2
SJMP NOKEY
NK2:
CJNE A,#0BH,NK3
MOV KEYTM,#3
SJMP NOKEY
NK3:
CJNE A,#07H,NOKEY
MOV KEYTM,#4
NOKEY: RET
深奥点就是,你执行了这段代码,int a = 10; 程序就会在你电脑的内存中,创建一个小空间,这个空间的名字就是a, 这空间里面的内容就是10,这个空间只能存放整数类型的数据。

‘叁’ 89c51单片机控制感应灯,怎么用汇编语言程序设计

//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{
P1=0x55; //P1口初始值
EA=1; //全局中断开
EX1=1; //外部中断0开
IT1=1; //边沿触发,IT1=0表示电平触发
while(1)
{
//在此添加其他程序
}
}
/*------------------------------------------------
外部中断程序
------------------------------------------------*/
void ISR_Key(void) interrupt 2 using 1
{
//在此处可以添加去抖动程序,防止按键抖动造成错误
P1=~P1;
}
// 判断列表里是否包含某个数据

‘肆’ 单片机灯亮程序,急!

确实很简单,当红外传感器前面被挡一下,红外接收管接收不到红外信号就会截止,输出一个低电平,将红外接收管连接到单片机的一个I/O口上,然后在主程序里面写条件判断语句,若检测到那个引脚为低电平,就输出一个信号,将对应的灯点亮,调用10秒的延时函数,然后再取反,继续检测。其实这个原理跟流水灯的原理差不多,因为我之前做过一个红外防盗器,其实原理好简单的 ...不信你可以去试一下!

‘伍’ 红外线感应灯单片机程序

这程序不难,你可以买个反射型红外探头,不过要能根据电源来调整你所需要的距离。如果人在你的距离内,探头就能发出一个信号给你,你就可以控制了。

‘陆’ 单片机的点亮一盏灯程序

MAIN: MOV P1,#11111110B;点亮P1.0所接的灯
ACALL YS ;调用延时子程序,让P1.0所接的灯亮一小段时间
MOV P1,#11111101B;点亮P1.1所接的灯
ACALL YS ;调用延时子程序,让P1.1所接的灯亮一小段时间
MOV P1,#11111011B;点亮P1.2所接的灯
ACALL YS ;调用延时子程序,让P1.2所接的灯亮一小段时间
MOV P1,#11110111B;点亮P1.3所接的灯
ACALL YS ;调用延时子程序,让P1.3所接的灯亮一小段时间
MOV P1,#11101111B;点亮P1.4所接的灯
ACALL YS ;调用延时子程序,让P1.4所接的灯亮一小段时间
MOV P1,#11011111B;点亮P1.5所接的灯
ACALL YS ;调用延时子程序,让P1.5所接的灯亮一小段时间
MOV P1,#10111111B;点亮P1.6所接的灯
ACALL YS ;调用延时子程序,让P1.6所接的灯亮一小段时间
MOV P1,#01111111B;点亮P1.7所接的灯 ACALL YS ;调用延时子程序,让P1.7所接的灯亮一小段时间
LJMP MAIN ;循环.这回用长调用指令LJMP,当程序比较长的时候就用
LJMP YS: ;延时子程序YS,功能是能让LED亮起来或者灭掉一小段时间
MOV R1,#200 ;让灯亮灭时间的长短也就是延时的长短跟#号后面的数据有关
D: MOV R2,#200 ;延时长点#号后面的数据就大点,延时短点#号后面的数据
T: MOV R3,#200 ;就小点,但#号后面最大的数据是255
DJNZ R3,$
DJNZ R2,T

DJNZ R1,D
RET ;子程序返回指令,子程序的设计一般都是因为主程序要调用它, ;调用完是要返回到主程序继续运行下一个语句的
END

‘柒’ 单片机编程,一个感应信号,灯亮,十秒后灭,循环

利用红外对管作感应器的话,只要将单片机设置为计数模式就行,然后红外接收管接到单片机的P3^4或者P3^5口,这是51系列单片机计数功能口,然后设置好TMOD寄存器和TCON寄存器选择工作方式和触发方式即可,计数变量定义为全局变量,然后传递给显示函数。 如有不懂的地方随时回复我。 希望我的回答能帮助到你。

‘捌’ 单片机开关点亮LED灯程序

#include <reg52.h>
#define uchar unsigned char
sbit K1=P3^4;
sbit LED1=P0^5;
void delay(uchar i)
{
uchar j;
while(i!=0)
{
i--;
for(j=0;j<100;j++);
}
}

void main()
{
while(1)
{
if(K1==0)//下拉方式连接按键
{
delay(5);
if(K1==0)//消抖
{
while(K1==0){};//松手检测
LED1=!LED1;
}
}
delay(10);
}
}
根据实际,可能会有所修改才行

‘玖’ 跪求高手单片机做声控灯程序!!谢谢!!!

直接用avr单片机不更好?
内部自带AD转换,自带增益放大。和s51相同价位的avr单片机,明显强多了!

‘拾’ 急求一个基于89c51单片机人体感应控制灯的亮灭的程序及电路图,尽量简单。感谢感谢

可以使用热释电传感器来做感应,信号送入单片机即可做处理。

阅读全文

与单片机感应灯程序相关的资料

热点内容
php开启压缩 浏览:301
服务器主机如何设置启动 浏览:282
linux配置网络命令 浏览:774
一张照片怎么制作视频app 浏览:908
pythonweb和php 浏览:976
电脑服务器地址ip地址 浏览:823
对矩阵压缩是为了 浏览:910
setfacl命令 浏览:172
linux子系统中断 浏览:342
linux查看进程ps 浏览:224
知识库系统php 浏览:623
小波变换压缩图像python 浏览:151
阿里巴巴程序员怎么月入百万 浏览:173
如何使用国外服务器 浏览:188
燃灯者pdf 浏览:468
编译器用数学吗 浏览:7
图形化apk反编译工具 浏览:48
考勤表加密怎么办 浏览:735
arj压缩与解压批处理怎么写 浏览:658
php和大数据哪个好 浏览:930