① 51单片机怎么只控制一颗LED灯闪烁
1、新建项目,如图所示。
注意事项:
很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
② 求教如何用单片机控制LED灯的亮度
控制ked亮度不难,你硬件直接连连接好led灯,串个限流电阻。如果引脚一直给电平那么灯肯定最亮,那你如果改变给灯的时间灯就能调亮度了,如你用定时器或者延时多少个时间引脚电平取反一次。例如每间隔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;}
}
}
④ 如何利用单片机控制220V的灯泡亮灭
将220V灯泡串联一个IGBT,用单片机控制IGBT的通断来达到控制亮灭的目的,IGBT相当于继电器,但是速度快很多
⑤ 单片机控制led灯亮度原理
单片机控制LED亮度原理:控制单片机输出pwm信号的占空比,占空比越大,灯越亮。反之,越暗。
⑥ 单片机用串口通信控制led灯
单片机用串口线控制LED灯也是可以的,还有一些大神可以用plc进行le灯的控制,只要操作熟悉这两者都是可以的
⑦ 哥,问一下怎样让单片机来控制灯泡呀,
这要看你控制什么灯泡了,如果是220v的照明灯,那么就用单片机控制继电器,通过继电器控制灯泡的亮灭。
如果是LED灯,那么一般可以直接通过单片机控制其亮灭。当然12V、24V的高压LED也需要通过一定的电路来控制了。
⑧ 单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部熄灭后重复前面的过程
#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
//延时
voidDelayMS(uintx)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
voidmain()
{
uints;
while(1)
{
P0=0xfe;
DelayMS(150);
for(s=8;s>1;s--)
{
P0=_crol_(P0,1);//P0的值向左循环移动
DelayMS(150);
}
P0=0x00;
DelayMS(150);
p0=0xff;
DelayMS(150);
(8)单片机控制灯泡扩展阅读:
常用单片机汇编指令:
1 .MOV A,Rn寄存器内容送入累加器
2 .MOV A,direct 直接地址单元中的数据送入累加器
3 .MOV A,@Ri (i=0,1)间接RAM 中的数据送入累加器
4 .MOV A,#data立即数送入累加器
5 .MOV Rn,A 累加器内容送入寄存器
6 .MOV Rn,direct 直接地址单元中的数据送入寄存器
7 .MOV Rn,#data 立即数送入寄存器
8 .MOV direct,A 累加器内容送入直接地址单元
9 .MOV direct,Rn寄存器内容送入直接地址单元
10. MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元
11 .MOV direct,@Ri (i=0,1)间接RAM 中的数据送入直接地址单元
12 MOV direct,#data立即数送入直接地址单元
13 .MOV @Ri,A (i=0,1)累加器内容送间接RAM 单元
14 .MOV @Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元
15 .MOV @Ri,#data (i=0,1)立即数送入间接RAM 单元
16 .MOV DPTR,#data16 16 位立即数送入地址寄存器
17 .MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器
18 .MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器
19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器
20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器
21 .MOVX @Ri,A (i=0,1)累计器送外部RAM(8 位地址)
22 .MOVX @DPTR,A 累计器送外部RAM(16 位地址)
23 .PUSH direct 直接地址单元中的数据压入堆栈
24 .POP direct 弹栈送直接地址单元
25 .XCH A,Rn寄存器与累加器交换
26 .XCH A,direct 直接地址单元与累加器交换
27 .XCH A,@Ri (i=0,1)间接RAM 与累加器交换
28 .XCHD A,@Ri (i=0,1)间接RAM 的低半字节与累加器交换
⑨ 单片机串口通信控制led灯的点亮
pc通过串口和单片机交换数据,从而控制LED灯。 pc程序用labview 调用Visa 进行串口通讯。单片机接受到串口命令后控制I/O口的高低电平实现led灯亮灭控制。
用串口调试助手就行,网上到处可以下载。也好用。关键问题是在电脑上发送的0,1,是以什么数据格式发送的,通常以字符格式发送的,即是ASCII码。所以,单片机接收时,也要按字符格式发才行。而你的程序是按十六进制数的格式判断的,也就是二进制数,所以,发送和接收格式不统一,单片机就不能正常接收控制LED0,也就不能正常返回数据。 if(SBUF==0) //这是按二进制数接收的 if(SBUF==1) //这也是按二进制数接收的 这样写程序,要求电脑上,要按二进制数即十六进制数发送才行。 还是按字符格式收发比较好。
看你这程序编的,ha 查询RI 不是等于 1,而是0 只有当数据传送过来的时候,RI才会由1变为0,所以需要查询的状态是 0,不是1 当接收完数据后,再进行对RI的清零 还是不多说了,上程序,若满意请记得采纳一下,谢谢! 这是一个由串口助手发送十六进制码来控制单片机的8个LED亮灭的简单小程序
电脑上,你是用什么软件发送数据的看用串口调试助手就行,网上到处可以下载。也好用。关键问题是在电脑上发送的0,1,是以什么数据格式发送的,通常以字符格式发送的,即是ASCII码。所以,单片机接收时,也要按字符格式发才行。而你的程序是按十六进制数的格式判断的,也就是二进制数,所以,发送和接收格式不统一,单片机就不能正常接收控制LED0,也就不能正常返回数据。