有光暗没光亮led程序怎么写 led不亮,有暗光,是什么原因
1、这么简单的程序干嘛不自己写,写的不对不要紧,我可以帮你修改,但你要学就要实践;你这个程序是可行的,也是能用的,只是这样做太浪费资源了,你的程序就只能用来做PWM了,因为你的程序绝大多数时间都用来进行delay延时了,没有空闲做其它的整改总之,就是你的程序是能够实现的,但是,这个方案不好另外;ON,OFF控制信号都采用2线制信号,一般不存在不是别;我们首先复习一下 Keil 写程序的过程,建立工程保存工程建立文件添加文件到工程编写程序编译下载程序LED 对于有 C 基础的同学来说很简单,那我先写出来,大家可以先看下没有C 语言基础的同学;io8255t equ 28BH data ends7 code segment assume cscode,dsdata startmov ax,data mov ds,ax mov dx,io8255t 控制端口 mov al,81H 设置8255为A口输出 out dx,al mov dx,io8255a mov al,00H;LEDL=l=255while1 CLRWDTTMR0_interruptifHL_bitifh0LED=1else l=LEDLHL_bit=0 else ifl0LED=0else h=LEDHHL_bit=1 ifKEYkeyi!=keyi按健扫描。
2、用位定义的方法定义端口,例如sbit LED0=P1^0 sbit LED1=P1^1***sbit LED7=P1^7接下来,LED0=0点亮第一个灯 **延时一段时间** LED1=0点亮第二个灯 ***依次点亮**;你说的传感器没用过,你自己写判断语句根据传感器数值来定义所需的LED亮度cInt c控制LED亮度,049,49最亮 forint i=0ilt50i++ ifiltc 自己写一条IO口控制LED亮的代码 else 自己写;这个要用到软件的pwm,因为51的没有硬件的pwm所以只好自己写软件的了首先,要做一个软件三角波发生器子程序,频率自己定,就是变亮变暗的周期此函数的返回值作为pwm的输入值再做一个pwm的模拟程序,占空比0100;如果自减段和常0段LED都为0则常亮 c为偶数时pwmcount逐渐增加,自减段增加,此时LED如果为0,常0段为1,则变亮,反之变暗 c为奇数时pwmcount逐渐减小,自减段减小,此时LED如果为1,常0段为0,则变亮,反之。
3、今天做回好人,闲着给你写一个做参考按键按一次LED灯灭,在按一次按键LED灯亮程序如下 include quotREG52Hquotsbit LED1_01 = P1^1 LED灯 sbit KEY0_01 = P1^2 按键 void Delay_1msunsign;用8255连接pc机LED闪烁显示控制设计要求及方法1在C口高4位设置4个按键SetEnter,Set选择两个计数器增加时间减小时间Enter确定2设置的时间分别存入两个缓冲单 用8255 连接pc机 LED闪烁显示控制设计要求及方法;当低电平占100的时候灯最亮,当低电平占50的时候灯的亮度相对暗一些,当低电平占1时灯有亮度但非常暗,当电平全高时灯灭检查一下程序,看看是否有改变相对LED的IO电平的语句,适当修改一下纯手打,望采纳···;亮100ms 暗900ms,1s也就是1000ms,也就是占空比为10%,2级,20%,亮200ms,暗800ms,同理9级, 亮900ms,暗100ms10级,亮1000ms,暗0ms写出程序很简单,点亮程序 while1 LED = ON_delay_ms ON_ms。
4、if!KEY 如果检测到低电平,说明按键按下 LED=0else LED=1 这里使用if判断,如果按键按下led点亮,否则熄灭 上述4句可以用一句替代 LED=KEY主循环中添加其他需要一直工作的程序。
与本文知识点相关的文章: