萬用電路板

----纯属爱好,谁与共鸣

« 电蚊拍的原理与维修双面万用板的高密度焊接展示 »

按键控制LED亮灭的简单实验

        本文介绍用51单片机做按键控制发光二极管亮灭的实验,很基础也很简单。不过再怎么复杂的控制,其思想和流程也是万变不离其宗的。文中的那段小程序可以灵活地运用到各类控制,在有必要时嵌入它即可。

        硬件电路是在51单片机最小系统的基础上多接了2个按键、1个LED、几个电阻,便可实现控制功能。两个按键开关S1、S2分别接在P2.0、P2.1口,按下它们会拉低相应的I/O口的电平;LED接在P0.0口,它的亮灭由P0.0口的电平高低决定,当P0.0口输出低电平时,LED亮。引申一点:如果用P0.0口驱动别的设备,比如继电器,便可实现更加强大的控制功能。

        程序代码及注释如下(汇编):

         ORG   0           ;程序从0地址开始
START:   MOV   P2,#FFH     ;将P2口设计为输入功能
;按键检测程序=============================================================
LOOP:    JNB   P2.0,ON     ;检测P2.0口,若P2.0为低电平(S1按下),则跳至ON处执行
         JNB   P2.1,OFF    ;检测P2.1口,若P2.1为低电平(S2按下),则跳至OFF处执行
         JMP   LOOP        ;跳至LOOP处形成一个循环
;开灯子程序===============================================================
ON:      CLR   P0.0        ;使P0.0清零,LED亮
ON1:     JB    P2.0,LOOP   ;检测P2.0口,若P2.0为高电平(S1放开),则跳至LOOP处执行
         JMP   ON1         ;否则跳至ON1形成一个小循环
;关灯子程序===============================================================
OFF:     SETB  P0.0        ;使P0.0置位,LED灭
OFF1:    JB    P2.1,LOOP   ;检测P2.1口,若P2.1为高电平(S2放开),则跳至LOOP处执行
         JMP   OFF1        ;否则跳至OFF1形成一个循环
         END               ;程序结束

原创文章如转载,请注明:转载自萬用電路板 [ http://www.jiangx.net/ ]

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

赞助商广告

最近发表

热文排行

最新评论及回复

广告

图标汇集

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 2008-2011 JiangX.com 萬用電路板 All Rights Reserved.
鄂ICP备08003060号 [login]