方法一:使用一般定时器两个,每个定时器计时1s,一个控制亮,一个控制灭;两个定时器如下图 方法二:使用SR置位优先指令,计时1s时间到触发一次,输出置位,第二次时间到触发后复位,输出断开;使用置位有限指令如下Q0.
如图所示,X0启动按钮,X1停止按钮,Y0小灯。望采纳。。。
亮一秒灭一秒这是闪烁电路,用PLC做闪烁有很多种做法。方法一:使用一般定时器两个,每个定时器计时1s,一个控制亮,一个控制灭;两个定时器如下图 方法二:中断控制,特殊定时器T32时间到进入中断,中断程序中写一句LD
include
4.2、将X001置于ON状态(即接通反向运行控制信号)运行程序,发现Y000置“0”状态且Y001置“1”,说明Y001信号控制的电机处于运行状态,在PLC实验箱面板按下A1,观察,指示灯KM2亮而KM1灭,无误。4.3、将X002置于ON状态
define uchar unsigned char delay(uchar a){ uchar i,j;for(i=0;i
cc2530跑马灯每隔三秒闪烁一次,亮一秒灭两秒,编程怎么实现
1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include
void delay(void) //两个void意思分别为无需返回值,没有参数传递。{ unsigned int i; //定义无符号整数,最大取值范围65535。for(i=0;i<20000;i++) //做20000次空循环。; //什么也不做,等待一个机
(status==1){{if(S2==1){status=0;}} if(LED_flag==0){LED1=0;LED3=0;}else{LED1=1;LED3=1;} } }
// 定义LED1引脚和定时器相关的配置 define LED1 P1_0 define T1_CTRL T1CCTL1 define T1_CC T1CC1 // 定义呼吸灯的亮度级别范围和变化步长 define MIN_BRIGHTNESS 0 // 最暗亮度 define MAX_BRIGHTNESS 255 //
单片机cc2530 控制LED灯 的C语言
不同频率就是不同周期。二者周期取一个公因数作为闪灯函数的执行周期,用软计数的方法分别处理两个LED的亮和灭。
然后根据num 的值 对Led进行状态刷新就好了。switch(num){ case 0: Led1 = 1; Led2 = 0; break;case 1: Led1 = 0; Led2 = 1; break;case 2: Led1 = 0; Led2 = 0; break;case 3: Led1 = 1;
led的公共端倪接到AD转换器的输出端,AD采用普通个8位就可以。这样,单片机调节AD的输出,从0到最大值,就有256(2的8次方)级了。补充:下面哥们说的PWM,你也可以试试。调节PWM输出的占空比试试。先用仿真软件调试看看
以下是一个简单的51单片机程序,通过按下按键可以实现4种不同状态的灯亮灭,包括正闪、反闪、多种间隔闪。程序中使用了定时器来实现闪烁功能。程序中使用了P1.0到P1.3作为控制灯的引脚,P3.2作为按键的引脚。每当按下
4.怎么玩转单片机-IO输出-点亮多个LED灯方法2 第二种方法 单片机智能控制,单片机源代码 /*--- 名称:IO口高低电平控制 论坛: 编写: 日期: 修改:无 内容:通过P1点亮多个LED灯 ---*/ 这个代码很少哦,好好悟吧
点亮P1口的1个LED灯闪烁 手把手教你学会单片机,编程 ---*/ includereg52.h //头文件 //头文件包含特殊功能寄存器的定义 sbit LED0=P1^0;// 用sbit 关键字 定义 LED到P1.0端口, //LED是自己任意定义且容易记忆
7.怎么玩转单片机-不同频率闪烁多个LED灯方法2
单片机驱动LED灯的源程序:include
终端也会将自身的供电电压传送到监控计算机,以防节点缺电而影响使用。2 系统硬件设计 系统是由电源模块、无线传输模块(CC2530、温度检测、电压检测)、LED驱动模块、LED检测模块等组成,具体硬件电路逻辑结构如图2所示。其中电源
既在AT89S52的P0口用来接十二个发光二极管的阴极,控制其亮与灭,P1口和P2口外接由2个LED数码管(LED1、LED0)构成的显示器,用P2口作LED的段码输出口(P2.0~P2.7对应于LED的a~dp),P1口作LED的位控输出线(P1.1、P1.0分别对应于
INC DEDA ;5ms计数值加1 ;秒输出 MOV A, DEDA CJNE A,#200,TT1 ;是否1s到了 MOV DEDA, #0 ;计数值清除为0 CPL WLED ;LED灯亮灭变换 INC SEC ;秒计数加1 MOV A, SEC CJNE A, #60, TT1;是否1min到了 ;分输出
define D1 P1_0//定义LED1为P10口控制 define D2 P1_1//定义LED2为P11口控制 define D3 P1_4//定义LED3为P14口控制 define D4 P0_1//定义LED4为P01口控制 /*32M晶振初始化---*/ void xtal_init(void){
这是非常简单的程序。只需要检测按键,然后控制两个灯的亮灭,总共才3个IO口。建议自己写,几行代码的事,这样才能进步。
1、先设定LED灯是低电平亮还是高电瓶亮,这里假设低电平;2、设置一个定时器,在定时器里面写代码,分别发送高、低电瓶值可实现交替闪耀;
cc2530控制两个LED灯交替闪烁,闪烁周期为0.5左右.其中p1_2连LED1p1-3连2
那你把两盏led灯并联,用一个口联接就行了,例如用P2口的1脚 include
/程序:ex1_1.c //功能:控制一个信号灯闪烁程序 include
交替闪烁就是在循环中让两个LED端口交替高低电平。循环中加入延时。延时函数我用循环实现。题目没有要求精准延时,如精准需用中断。include
delay(); //延时一段时间。} } 单片机驱动LED灯的源程序:include
led_2 = 1;led_1 = 0;} } } }
如果是PC机需要配置一块MOXA的TTL板卡来实现高低电瓶输出:1、先设定LED灯是低电平亮还是高电瓶亮,这里假设低电平;2、设置一个定时器,在定时器里面写代码,分别发送高、低电瓶值可实现交替闪耀;例程:include
LED2=0;while (1){ delay(2000);LED1=!LED1;LED2=!LED2;}
用C语言编写程序,要求实现两盏LED灯交替闪烁,间隔时间为2秒?
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; n<20; n++){ Delay100ms(); } } }你根据你的单片机硬件接线图,把小灯的端口对应改一下就可以了 #include #define uint unsigned int #define uchar unsigned char uchar count; sbit led_1 = P2^1; sbit led_2 = P2^2; void main() { TMOD =0x01; TH0 = (65535-46080)/256;//50ms TL0 = (65535-46080)%256; EA = 1; ET0 = 1; TR0 = 1; while(1) { if(TF0 == 1) { TF0 = 0; TH0 = (65535-46080)/256;//50ms TL0 = (65535-46080)%256; count++; if(count == 40) { led_1 = 1; led_2 = 0; } if(count == 80) { count = 0; led_2 = 1; led_1 = 0; } } } }
在SimpleApp上面改吧。
这个控制方案很多的: 利用ZigBee无线传感器网络技术对LED节能灯实现远程控制的方案,给出了详细的软硬件设计。 1 自组网控制系统及工作原理 为实现故障检测、温度检测、电压检测、亮度检测和控制以及故障报警等功能,自组网控制系统采用了图1所示的设计。 整个无线网络是由终端节点(ZigBee Endpoint,ZE)、路由(ZigBee Router,ZR)、和协调器(ZigBee Coordinator,ZC)3种设备构成。其中终端是简化功能设备(Reduced Function Device,RFD),只能与路由或者协调器直接通信。路由是全功能设备(FuU Function Device,FFD),既可以和路由和终端直接通信,也可以和协调器直接通信。协调器是PAN协调器(PANC),负责一个PAN区域的网络建立及管理。协调器收集所有节点和路由的信息,通过RS232发给监控计算机来确定灯的亮度、环境温度、电池电量等。 工作原理:系统中每个终端、路由分别控制一盏灯,每个灯对应一个ID(终端或路由加入网络时由协调器自动分配),各个节点和路由将传感器收集的数据通过无线发送到协调器,协调器将收到的数据通过串口发送到监控计算机。如果LED灯出现故障,检测电路会产生报警信号,报警信号最终会发送到监控计算机,计算机会提示工作人员故障灯的ID,让维护更便利。另外终端的光敏传感器会收集光照的程度,然后由终端自动的调整光照的亮度。 终端也会将自身的供电电压传送到监控计算机,以防节点缺电而影响使用。 2 系统硬件设计 系统是由电源模块、无线传输模块(CC2530、温度检测、电压检测)、LED驱动模块、LED检测模块等组成,具体硬件电路逻辑结构如图2所示。其中电源模块是采用市面常用的ASM1117-5.0和ASM1117-3.3,原理简单易懂。下面主要介绍无线通信模块和LED驱动模块。 无线通信模块采用TI公司的CC2530模块,CC2530是用于IEEE 802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能、业界标准的增强型8051 CPU、系统内可编程闪存、8 KB RAM和许多其他强大的功能。CC2530有4种不同的闪存版本:CC2530F32/64/128/256(分别具有32/64/128/256 KB闪存)。CC 2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短,进一步确保了低能源消耗。CC2530优良的性能和具有代码预取功能的低功耗、8051微控制器内核、32/64/128 KB的系统内可编程闪存、8 KBRAM,具备在各种供电方式下的数据保持能力并且支持硬件调试,具有极高的接收灵敏度和抗干扰性能。它的可编程输出功率高达4.5 dBm,并且只需极少的外接元件。硬件电路结构框图如图3所示,其中光控单元采用TPS851芯片,温控模块采用TC77。 LED驱动模块采用的芯片是PT4115。PT4115是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED。PT4115输人电压范围从6~30 V,输出电流可调,最大可达1.2 A。根据不同的输入电压和外部器件,PT4115可以驱动高达数十W的LED。PT4115内置功率开关,采用高端电流采样设置LED平均电流,并通过DIM引脚可以接受模拟调光和很宽范围的PWM调光。当DIM的电压低于0.3 V时,功率开关关断,PT4115进入极低工作电流的待机状态。驱动原理图如图4所示。PT4115和电感L、电流采样电阻RS形成一个自振荡的连续电感电流模式的降压、恒流LED控制器。VIN上电时,L和RS的初始电流为零,LED输出电流也为零。这时候,CS比较器的输出为高,内部功率开关导通,SW的电位为低。电流通过L、RS、LED和内部功率开关从VIN流到地,电流上升的斜率由VIN、L和LED压降决定,在RS上产生一个压差VCSN,当VIN-VCSN>115mV时,CS比较器的输出变低,内部功率开关关断,电流以另一个斜率流过L、RS、LED和肖特基二极管(D),当VIN-VCSN<85 mV时,功率开关重新打开,这样使得在LED上的平均电流为I。I=(0.085+0.115)/(2×RS)=0.1/RS。 本文应用IAR Embedded Workbench开发环境,在TI ZStack-2.2.1-1.1.3协议栈的基础上,编写了系统的应用程序代码,用VC编写了上位机程序。系统软件主要包括协调器节点程序、路由和终端程序、上位机程序。ZStack提供了丰富的函数调用接口。 ZigBee网络中的协调器工作流程如图5所示,路由(涵盖终端)工作流程如图6所示。在ZigBee网络中,网络协调器具有建立网络、维护邻居设备表、对逻辑网络地址进行分配、允许设备MAC层/应用层的连接或断开网络的功能。对于节点之间的通信有两种寻址方式,分别是通过64位IEEE地址和16位网络地址来寻找网络设备,当节点加入网络时候,协调器会自动给其分配唯一的16位网络地址。灯的无线控制系统要求能够对任意一盏灯进行亮度调节,因此人工分配64位IEEE地址给每个路灯,以便以后进行控制。另外配置ZigBee设备对象断点时候,网内的所有节点的ID和断点描述符必须相同,否则节点间不能通信。路由器和终端的工作流程相识,这里不作区分。 上位机能够为工作人员清楚地提供电压、温度、节点数目、节点地址等数据,实现远程无线控制,创作和谐的人机交互界面,如图7所示。工作人员能够在上位机上使用ID对灯亮暗程度进行远程控制。 4结语 经测试,在室内无障碍15 m左右距离,无遮挡物环境下速率能够达到2 50 kbps;室外空旷环境下30~1 00m距离,速率为40 kbps;300 m,速率为25 kbps。距离150 m时通信的误码率可小于2%。系统在发射状态下电流为25.7 mA,接收时为29.3mA,休眠状态下仅为2.5μA。本系统具有成本低、功耗低、实施简单、维护方便的特点,具有较高的参考价值。
用那个plc?三菱还是西门子 这个比较简单用比较指令都可以完成
1.1实验目的 (1)、通过练习实现与、或、非逻辑功能,熟悉PLC编程方法。 (2)熟悉ZY17PLC12BC实验箱的使用方法。 1.2实验要求 本实验利用PLC控制电机正反转。发光二极管KM1亮模拟电机正转,发光二极管KM2 亮模拟电机反转,实验的控制要求如下: (1)按下正向运行按钮,KM1闭合,电动机正向运行。 (2)按下反向运行按钮,KM2闭合,电动机反向运行。 (3)按下停止按钮,KM1、KM2都断开,电动机停止运行 2 2.2选型、电路设计: 3 3.1、ZY17PLC12BC型可编程控制器实验箱 1台 3.2、PC机或FX-20P-E编程器 1台 3.3、编程电缆 1根 3.4、连接导线 若干 4 进行在线软器件调试: 4.1、将X000置于ON状态(即接通正向运行控制信号) 运行程序,发现Y000置“1”状态且Y001置“0”,说明Y000信号控制的电机处于运行状态, 在PLC实验箱面板按下A0,观察,指示灯KM1亮而KM2灭,无误。 4.2、将X001置于ON状态(即接通反向运行控制信号) 运行程序,发现Y000置“0”状态且Y001置“1”,说明Y001信号控制的电机处于运行状态,在PLC实验箱面板按下A1,观察,指示灯KM2亮而KM1灭,无误。 4.3、将X002置于ON状态(即关闭信号) 运行程序,发现Y000置“0”状态且Y001置“0”,说明信号控制的电机处于停止状 态,在PLC实验箱面板按下A2,观察,指示灯KM2灭且KM1灭,无误。 5 5.1、理解实验的原理及控制要求,列出I/O分配表(可参考下表)并根据分配表编 写实验程序。 序号 I/O 名称 面板符号 1 X0 正向运行控制信号 输入 2 X1 反向运行控制信号 3 X2 停止 1 Y0 正向运行 KM1 输出 2 Y1 反向运行 KM2 5.2、将编程电缆一端与PLC的编程接口相连,另一端与计算机串口连接。