zdly.net
当前位置:首页 >> 51单片机控制lED灯 >>

51单片机控制lED灯

举一个简单例子:#include#include sbit key=P1^0; unsigned char led=0xfe; void delay(int a) { while(a--); } main() { while(1) if(key) { P0=led; led=_crol_(led,1) delay(30000); } else { P0=led; led=_cror_(led,1) delay(30000); } }

假设led连在p0口,高电平点亮,按键在p3.0口,低电平有效,则 main: mov p0,#00 mov r0,#00 loop: mov a,r0 mov p0,a jb p3.0,loop ;按键 lkey1: jb p3.0,l2;;等待弹起 mov a,r0 mov p0,a ajmp lkey1 l2: mov a,r0 cjne a,#0ffh,l3 mov a,#0 ajmp l4 l3: mov a,r0 setb c rlc a ;循环左移1位,逐位点亮 l4: mov r0,a mov p0,a ajmp loop

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

if(!KEY2)//假设按键低电平有效 { DelayMs(5);//延时2~10ms,按键消抖 if(!KEY2);//按键仍被按下,说明不是抖动 { LED=~LED;//自己定义一下LED到对应IO BUZZER=~BUZZER;//定义蜂鸣器到对应IO } }

八个灯接在单片机的P1口(P0,P2,P3,P4都一样) while(1) { delay(你想要延时的时间);P1=0xff;delay(你想要延时的时间);P1=0;} 注意led最好加驱动,不然单片机会坏的.

#include <reg52.h> //52系列单片机头文件#define uint unsigned int //宏定义 sbit led1=P1^0; //声明单片机P1口的第一位 void delay1s(); //声明子函数 void main() //主函数 { while(1) //大循环 { led1=0; /*点亮第一个发光二极管*/ delay1s(

#include<reg51.h>#define uchar unsigned charsbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;sbit led1=P0^0;sbit led2=P0^1;sbit led3=P1^2;sbit led4=P1^3;bit flag1,flag2;main(){flag1=0;flag2=0;while(1) { led1=k1; led2=k2; if(k3==0)flag1=~flag1; if(k4==0)flag2=~flag2; if(flag1)led3=~led3; if(flag2)led4=~led4; }}

#include 包含单片机专用头文件#include 这个是什么俺也不知道,但这个程序不需要这个头文件 void Delay10ms(unsigned int c); 自定义的延时函数声明 main() 主函数 { unsigned int LED; 建立一个数值型变量,变量名 LED LED=0xfe; 给

本来以为这个程序很简单的,没想到写了快三个小时.哎学艺不精啊.贴出来给你研究吧.我不想做过多的解释了,我是按我理解的你出的题目做的,可能和你的本意不是很一样,1、依次亮,依次灭:从一个灯亮到全亮,再到全灭,每次改变

如果你用的是51单片机的话,建议你这么做.借鉴51单片机外扩RAM存储器的方法,把LED灯看成是存储器里头的基本存储单元bit,控制LED灯时,只要使用外部数据读取、写入指令操作相应的数据即可.由于采用的是数据总线方式,如果外部能有60k的寻址空间的话,你就能控制60*1024*8=491520个LED灯,够你用了吧,哈哈. 我好久没弄51了,给你一个大概的示意图,你参考一下吧.( 图片不清楚,我可以发给你.)

网站首页 | 网站地图
All rights reserved Powered by www.zdly.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com