您的位置:首页技术文栏毕业课程设计
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

单片机课程设计--按键开关程序

[日期:2008-07-10 ] [来源:东哥单片机学习网 www.picavr.com 整理 作者:佚名] [字体: (投递新闻)

 1.    实验任务
如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
2.    电路原理图

 
 
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.    程序框图
 
 
6.    汇编源程序
            ORG 00H
START:        JB P3.0,LIG
            CLR P1.0
            SJMP START
LIG:            SETB P1.0
            SJMP START
            END
7.    C语言源程序
#include <AT89X51.H>
sbit K1=P3^0;
sbit L1=P1^0;

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

 
 
阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
赞助商广告