电子制作天地网站欢迎您的光临,欢迎提出宝贵意见或建议。本站信息产业部备案: 粤ICP备05114582号
用单片机控制LED亮灭
AT89S51 experiment

时间:2011-12-18 20:57:12 来源:互联网 作者:不详 编辑: 【关闭


用单片机控制LED亮灭,AT89S51 experiment

关键字:AT89S51,LED电路

1.实验任务
  如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
2.电路原理图
用单片机控制LED亮灭电路图AT89S51 experiment
         
3.系统板上硬件连线
(1).    把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上;
(2).    把“单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中的K1端口上;
4.程序设计内容
(1).开关状态的检测过程
  单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机可以采用JB BIT,REL或者是JNB BIT,REL指令来完成对开关状态的检测即可。
(2).输出控制
  如图3所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。
5.程序框图
用单片机控制LED亮灭-程序框图AT89S51 experiment
                      
6.汇编源程序
                            ORG 00H
START:              JB P3.0,LIG 
                            CLR P1.0 
                          SJMP START
LIG:                    SETB P1.0 
                            SJMP START 
                          END
7C语言源程序
#include
sbit K1=P3^0;
sbit L1=P1^0;
void main(void)

  while(1) 
    { 
      if(K1==0) 
        { 
          L1=0;                //灯亮 
        } 
        else 
          { 
            L1=1;            //灯灭 
          } 
    }
}
 


◆相关文章◆
◆ 编辑推荐 ◆
用户:
更多评论
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。60个字以内
留言:
验证码:

免责声明:
●本站所有内容均来自网络,以学习为目的,如果侵犯了您的利益,请来信告知,立即删除,站长邮件为"diy+dzdiy.com",请将"+"变更为"@"
●电子制作存在风险,请注意人身安全,如果您在根据本站电路进行制作过程中发生伤害,本站不负任何责任。

版权所有:www.dzdiy.com ? 2001-2019 本站信息产业部备案: 粤ICP备05114582号