分享

STC学习笔记2

 昵称11763061 2017-05-28
STC学习笔记2-按键实验


本实验演示STC15F104E如何识别按键事件

按按钮一次,LED灯就翻转一次亮灭状态。然后等待下一次按钮事件。

材料:
STC15F104E一片
一个LED
一个220Ω电阻
一个按键开关

电路图:
解析:220Ω电阻用于限流,由于STC输入端默认是上拉的,所以我们对开关不用加拉电阻,直接接地即可。
1.GIF

程序:[pre lang='cpp' line='1']/*
STC15F104E按键实验
Ansifa
2012-2-19

硬件连接方法:
一个LED串联一个220Ω电阻,接到VCC和P3.3引脚。
一个按钮接到P3.2与GND之间。
*/

#include 'reg51.h'
sbit key = P3 ^ 2;  //按钮
sbit LED = P3 ^ 3;  //灯

void DelayMS(n)                //@5MHz 软件延时n毫秒函数
{
        unsigned char i, j;
        i = 5*n;
        j = 218;
        do
        {
                while (--j);
        } while (--i);
}


void main()
{   LED=1;     //LED=0是亮,1是灭,初值灭灯
    while(1)  //制造一个死循环
    {
         //先检测高电平,等待30ms后检测是否低电平,就能把下降沿检测出来,这个是下降沿触发电路,有防抖功能。
        if(key == 1)   //因为按钮接key端和GND,所以是下降沿触发。
        {
            DelayMS(30);
            if(key == 0)
            {
                                LED = !LED;  //翻转LED亮灭状态
            }
        }
    }
}[/code]Keil uVersion2工程文件:
(Keil 下载地址:http://www./DOC/KeilC51uV2_PS.zip
按钮.rar(1.55 KB)
(下载次数: 28, 2012-9-1 22:08 上传)


实物视频:
由于一下找不到按钮开关,所以用一条电线接触GND引脚暂时代替。
[media]http://player.youku.com/player.php/sid/XMzU0MzM3Mzgw/v.swf[/media]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多