单片机按键控制led灯闪烁实验报告(单片机led闪烁的简单实验)
单片机如何一个按钮实现控制4个led灯的循环闪烁
0 0
1 1
1 0
0 1
是这样的四种状态吗? 这样很简单的,, 主要还是检测按键, 按键按下 你把一个变量+1, 比如
if(Key == 0)
{
delay(); //延时10ms,延时函数 自己写吧
if(Key == 0)
{
num++;
if(num = 4)
num = 0;
while(!Key);
}
}
然后根据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; Led2 = 1; break;
default : break;
}
就可以了,,,顺序的话 可以按照具体要求更换下位置就可以了。
51单片机LED灯闪烁实验,具体分析一下以下程序每一步的作用,完全看不懂。。。
#includereg51.h
void delay(unsigned int i);
main() //主函数
{
P2=0x55; //P2口:0101 0101 从左到右:第一个口低电平,第二个口高电平。。。。
delay(600); //延时600,不延时你来不及看见灯亮
P2=0xaa; /*P2口输出端取反,1010 1010 高电平变低电平,低电平变高电平,(原来亮的关掉,原来不亮的亮)*/
delay(600);
}
void delay(unsigned int i) //这个是延时函数
{
unsigned char j;
for(i;i0;i--)
for(j=255;j0;j--) ;
}
这样应该明白了吧!不过你这个程序,按一下复位(或者打开一次电源)只亮一下。加个循环就可以不停的闪啦!
[img]单片机控制led闪烁开题报告急求一份开题报告的研究重点内容
结合毕业论文(设计)任务书的要求,根据所查阅的文献资料,撰写3000字左右的文献综述:文献综述
研究背景及意义
随着社会文化的不断发展,广告牌扮演着越来越重要的宣传角色,不论是汽车站火车站,股市交易市场,还是学校都离不开它,然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进。
现在的LED电子显示屏所显内容信息量大,外形美观大方,操作使用方便灵活该项目广泛涉及了计算机及电子技术中的电源技术、单片机技术、数据通讯技术、显示技术、存储技术、系统软件技术、接口及驱动等技术。由于单片机技术的不断发展
和高亮度LED发光管的出现使得大屏幕高亮度电子广告屏成为可能。与传统的显示
设备相比,LED显示设备具有明显的优势:LED屏色彩丰富,显示方式变化多样、亮度高:LED屏可以随意修改显示内容:LED显示屏可用来与计算机屏幕同步。另外它以其超大画面、超宽视觉、灵活多变的显示方式等独居一格的优势,广泛应用于金融证券、银行利率、商业广告、文化娱乐等方面。
我国经济发展迅猛,对信息传播有越来越高的要求可以相信,LED电子显示屏以其色彩鲜亮夺目、大的显示信息量、寿命长、耗电量小、重量轻、空间尺寸小、稳定性高、易于操作、安装和维护等特点,将在社会经济发展中扮演越来越重要的角色。
单片机按键控制led灯
假设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
用单片机C语言怎么写用状态机实现按键控制LED灯闪烁这个程序
#include STC12C52.H
#define uchar unsigned char
#define uint unsigned int
sbit key=P1^2;
sbit p1_6=P1^6;
void delay(uchar delay_time)
{
uchar n;
uint m;
for (n=0;ndelay_time;n++)
{
for(m=0;m10000;m++);
}
}
void keyscan()
{
if(key==0)
{
delay(5);
if(key==0)
while(!key)
{
p1_6 = 0;
delay(20);
p1_6 = 1;
delay(20);
}
}
}
void main()
{
WDT_CONTR = 0x3C;
while(1)
{
keyscan();
WDT_CONTR = 0x3C;
}
}
这个功能可以用中断来实现,当然,现在我写的这个也可以实现。由于你用的晶振频率不知道,所以你自己修改一下延时时间,再把头文件改一下,就可以了,我试验了,可以实现改功能。
关于单片机按键控制led灯闪烁实验报告和单片机led闪烁的简单实验的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~