51单片机写led灯闪烁

作者&投稿:汗爱 (若有异议请与网页底部的电邮联系)

单片机工作状态LED指示灯
1、可以接在任意一个闲置的I\/O口(置“1”或置“0”点亮要看你电路设计)。2、作为调试使用,要看你需要的是调试什么状态。比较调试中断用,看是否进入了中断,你可以在中断函数中加个点亮一个LED灯语句,调试时如灯亮了,说明进入了中断。调试通过后,再删除该语句。3、可以用I\/O口延时取反来...

单片机下面程序是怎么实行LED灯闪烁的?
如果开关频率太快,人类是看不出来是在闪烁,所以开关频率要低一些,比较高的切换频率可以用来控制led亮度(PWM),或者用来做数码管显示。实现方式主要有两种方式:(1)使用代码循环做为延时来控制led开关频率:eg:#define HIGH 1#define LOW 0#define LED P1.1\/\/假设为51单片机void delay_nms(unsigned ...

求单片机程序 LED灯连接在P1.0管脚,要求使用外部中断0开灯,外部中断1关...
include<reg51.h> typedef unsigned int uint ;typedef unsigned char uchar;sbit key=P3^3;sbit led=P3^5;void delay(uint n);void init_int1(void); \/\/外部中断1初始化 void isr_int1(void); \/\/外部中断1中断服务1初始化 bit flag_int1;\/\/中断发生的标志位 --全局变量 \/* \/\/方式一...

关于单片机的led灯
可以接,现在的单片机都能够提供较大的灌电流输出电流,最大50mA,驱动小功率 LED (最大电流20mA)是没有问题的,常用的接法有两种:一:用灌电流驱动,在LED上串个1K 1\/4W的电阻接入单片机(输出的不提倡)。二:用单片机接个三极管,再驱动LED 如果供电电压是5V,在LED上面接个1K的电阻就可以(...

...LED灯灭。再按一下,LED亮,用C语言编程该怎么写
sbit KEY=P3^3; \/\/定义按键输入端口 sbit LED=P1^2; \/\/定义led输出端口 \/*--- 主函数 ---*\/ void main (void){ KEY=1; \/\/按键输入端口电平置高 while (1) \/\/主循环 { if(!KEY) \/\/如果检测到低电平,说明按键按下 LED=0;else LED=1; \/\/这里使用if判断,如果按键按下...

求编写一个小程序,使单片机P1.0口点亮LED灯,只需要点亮简单就好。_百 ...
ORG 0000H ;程序从此地址开始运行 LJMP MAIN ;跳转到 MAIN 程序处 ORG 030H ;MAIN 从030H处开始 MAIN:MOV P1 ,#00H ;P1为低电平 LED 灯亮 END

一个LED灯连接接于单片机P1入口出,正极接电源电压,编写程序,使灯以0....
include#define uchar unsigned charuchar num;uchar lsled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchar lsled1[7]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e};bit flag;void t0isr() interrupt 1{TH0=(65536-50000)\/256;TL0=(65536-50000)%256;num++;flag=1;}main(){...

怎样在51单片机变写一个让很多各LED灯闪烁的程序?
void delay_ms(int ms){ int a=1000;int b=1000;int a=a*ms;while(a--)while(b--);} void main(){ while(1){ p2=0;p2.0 = 1; \/\/ 2 delay_ms(1000);p2.0 = 0;p2.1 = 1; \/\/ 0 delay_ms(1000);p2.1 = 0;p2.2 = 1; \/\/ 1 delay_ms(1000);p2.2 = 0;...

单片机编程。试编写程序,使LED灯逐个点亮,时间为一秒。先谢谢。_百度知...
1.实验任务 开关K1接在P3.2管脚上,在AT89S51单片机的P0.0端口接有1个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在亮,当一次按下开关K1的时候,灯灭,再按一次,灯亮,如此轮流下去。2.系统板上硬件连线 把“单片机系统”区域中的P3.2端口连接到“独立式键盘”区域中的K1端口上...

单片机一个按键控制3个led灯,多种状态
include <reg51.h> sbit key =P1^1;sbit led1=P1^2;sbit led2=P1^3;sbit led3=P1^4;bit key_flag;bit flag_500ms;void InitTimer0(void){ TMOD |= 0x01;TH0 = 0x3C;TL0 = 0x0B0;EA = 1;ET0 = 1;TR0 = 1;} unsigned char stat;void main(void){ InitTimer0();key_...

孔狄15857634745问: 怎么设计单片机控制LED闪烁,并且可以组成一个"LED"灯字! -
繁昌县猪肺回答: 可以这样子,把所有LED并联起来,直接接单片机随便哪个IO口,然后再加个1K上拉电阻,用51单片机可以实现,具体程序为 #include"reg51.h" sbit LED=P1^0;//把LED灯接在P1.0口就行 void delay(int ms); void main() {while(1){LED=~...

孔狄15857634745问: 求单片机大神!!! 用AT89c51单片机控制LED灯闪烁设计电路和编程! -
繁昌县猪肺回答: #include<reg51.h> sbit a=P1^0; void delay(unit time) void main() { while(1) { a=0; delay(500); a=1; delay(500); } } void delay(unsigned int time) { int i; for(;time>0;time--) for(i=100;i>0;i--); }

孔狄15857634745问: 51单片机怎么只控制一颗LED灯闪烁 -
繁昌县猪肺回答: 首先你要知道既然是控制一个LED灯的话,那么就只需要一个IO口控制就可以了.那么在程序中你只需要改变一个IO口的状态. 你这个程序首先是,P10是什么东西,如果是一个IO口的话,为什么后面会是0X00,和0XFF,这是什么意思, 这是八位的表示方式,一位需要用这么多的数据来表示么.你只需要置1,和清零就可以了.就是说 P10 = 0;P10 = 1,这种方式的就可以了.而且你还需要在程序的最开始定义P10是什么东西的.单片机是不知道P10 是什么的. 如果是一个八位端口的话,这样定义是没有错的.但是控制的就是8个IO口了.

孔狄15857634745问: 51单片机简单的LED闪程序.想让P0^0口和P0^7口同时分别控制LED灯闪,怎么写 -
繁昌县猪肺回答: 很简单呀,给你一个示范:#include<reg51.h>#define uchar unsigned char void delay(uchar a) { uchar i,j; for(i=0;i<a;i++) for(j=0;j<120;j++); } main() { uchar LED=0xfe; while(1) { P0=LED; delay(100); P0=0xff; delay(100); LED=(LED<<1)|0x01; if(LED==0xff)LED=0xfe; } }

孔狄15857634745问: 在51单片机中怎样用一个按键按键LED灯的闪烁和停止,编写出主要的程序就可以了,新手上路请多多包涵呢 -
繁昌县猪肺回答: 按一下松手还闪烁,再按一次就熄灭LED.这是两种状态,你可以给按键次数计数,如奇数led闪烁,偶数led灭.

孔狄15857634745问: 51单片机PWM十级可调LED灯亮度,我写了一个但是它只是闪,求大神帮我看看是不是有错,谢谢! -
繁昌县猪肺回答: 频率是5MS一个周期的话, 分成10分就是0.5MS一个亮度等级,定时器里面应该是(65536-500)/256给你个例子: #include <reg52.h> sbit PWMOUT = P0^0; unsigned char HighRH = 0; //高电平重载值的高字节 unsigned char HighRL = 0; ...

孔狄15857634745问: 如何用51单片机写两LED灯两两一起闪烁的流水灯C程序 -
繁昌县猪肺回答: 这个比较简单吧uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void delay();//自己写吧 延迟一秒 void led_blink();//~~~~~~~~~~~~ void single_stream();//单向流水函数声明 void double_stream();//~~~~~~~~void led_blink() //全...

孔狄15857634745问: 51单片机8个led灯闪烁左右跑马汇编写 -
繁昌县猪肺回答: #include<reg51.h> void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) { for(y=100;y>0;y--); } } void main() { while(1) { P1=0xfe; delay(500); P1=0xfd; delay(500); P1=0xfb; delay(500); P1=0xf7; delay(500); P1=0xef; delay(500); P1=0xdf; delay(500); P1=0xbf; delay(500); P1=0x7f; delay(500); } }

孔狄15857634745问: 单片机控制LED闪烁 -
繁昌县猪肺回答: 是多大的频率?你可以考虑用T0做一个1ms的8位重载中断中断里自动给一个temp加1,然后设一个12个u8数组,每个u8代表一个灯需要闪烁的时间间隔乘1ms,在主程序中对12个数组同T0的temp进行比较,如果temp比某个u8的数字大了,就让相应位点亮,关闭也同理,这样就闪起来了.如果你要求的慢,可以T0改2ms,3ms,反正只要差不多就行了,大概这个思路.

孔狄15857634745问: 怎么用51单片机控制三个LED灯用不同的频率闪烁? -
繁昌县猪肺回答: 给你说说我是怎么想的.led的公共端倪接到AD转换器的输出端,AD采用普通个8位就可以.这样,单片机调节AD的输出,从0到最大值,就有256(2的8次方)级了.补充: 下面哥们说的PWM,你也可以试试.调节PWM输出的占空比试试.先用仿真软件调试看看吧.补充: 上面写错了个地方,不是AD转换器(AD转换器是模拟转换成数字的),应该是DA转换器,把数字信号转换成模拟信号.


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网