注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

This is Ansifa

近期都不会更新绿色软件

 
 
 
 
 

日志

 
 

STC学习笔记2-按键实验  

2012-02-19 23:14:31|  分类: 电子技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

STC学习笔记2-按键实验



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

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

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

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

程序:
普通浏览复制代码
  1. STC学习笔记2-按键实验 - ansifa - This is Ansifa/*
  2. STC学习笔记2-按键实验 - ansifa - This is AnsifaSTC15F104E按键实验
  3. STC学习笔记2-按键实验 - ansifa - This is AnsifaAnsifa
  4. STC学习笔记2-按键实验 - ansifa - This is Ansifa2012-2-19
  5. STC学习笔记2-按键实验 - ansifa - This is Ansifa
  6. STC学习笔记2-按键实验 - ansifa - This is Ansifa硬件连接方法:
  7. STC学习笔记2-按键实验 - ansifa - This is Ansifa一个LED串联一个220Ω电阻,接到VCC和P3.3引脚。
  8. STC学习笔记2-按键实验 - ansifa - This is Ansifa一个按钮接到P3.2与GND之间。
  9. STC学习笔记2-按键实验 - ansifa - This is Ansifa*/
  10. STC学习笔记2-按键实验 - ansifa - This is Ansifa
  11. STC学习笔记2-按键实验 - ansifa - This is Ansifa#include "reg51.h"
  12. STC学习笔记2-按键实验 - ansifa - This is Ansifasbit key = P3 ^ 2;  //按钮
  13. STC学习笔记2-按键实验 - ansifa - This is Ansifasbit LED = P3 ^ 3;  //灯
  14. STC学习笔记2-按键实验 - ansifa - This is Ansifa
  15. STC学习笔记2-按键实验 - ansifa - This is Ansifavoid DelayMS(n)                //@5MHz 软件延时n毫秒函数
  16. STC学习笔记2-按键实验 - ansifa - This is Ansifa{
  17. STC学习笔记2-按键实验 - ansifa - This is Ansifa        unsigned char i, j;
  18. STC学习笔记2-按键实验 - ansifa - This is Ansifa        i = 5*n;
  19. STC学习笔记2-按键实验 - ansifa - This is Ansifa        j = 218;
  20. STC学习笔记2-按键实验 - ansifa - This is Ansifa        do
  21. STC学习笔记2-按键实验 - ansifa - This is Ansifa        {
  22. STC学习笔记2-按键实验 - ansifa - This is Ansifa                while (--j);
  23. STC学习笔记2-按键实验 - ansifa - This is Ansifa        } while (--i);
  24. STC学习笔记2-按键实验 - ansifa - This is Ansifa}
  25. STC学习笔记2-按键实验 - ansifa - This is Ansifa
  26. STC学习笔记2-按键实验 - ansifa - This is Ansifa
  27. STC学习笔记2-按键实验 - ansifa - This is Ansifavoid main()
  28. STC学习笔记2-按键实验 - ansifa - This is Ansifa{   LED=1;     //LED=0是亮,1是灭,初值灭灯
  29. STC学习笔记2-按键实验 - ansifa - This is Ansifa    while(1)  //制造一个死循环
  30. STC学习笔记2-按键实验 - ansifa - This is Ansifa    {
  31. STC学习笔记2-按键实验 - ansifa - This is Ansifa         //先检测高电平,等待30ms后检测是否低电平,就能把下降沿检测出来,这个是下降沿触发电路,有防抖功能。
  32. STC学习笔记2-按键实验 - ansifa - This is Ansifa        if(key == 1)   //因为按钮接key端和GND,所以是下降沿触发。
  33. STC学习笔记2-按键实验 - ansifa - This is Ansifa        {
  34. STC学习笔记2-按键实验 - ansifa - This is Ansifa            DelayMS(30);
  35. STC学习笔记2-按键实验 - ansifa - This is Ansifa            if(key == 0)
  36. STC学习笔记2-按键实验 - ansifa - This is Ansifa            {
  37. STC学习笔记2-按键实验 - ansifa - This is Ansifa                                LED = !LED;  //翻转LED亮灭状态
  38. STC学习笔记2-按键实验 - ansifa - This is Ansifa            }
  39. STC学习笔记2-按键实验 - ansifa - This is Ansifa        }
  40. STC学习笔记2-按键实验 - ansifa - This is Ansifa    }
  41. STC学习笔记2-按键实验 - ansifa - This is Ansifa}
  42. STC学习笔记2-按键实验 - ansifa - This is Ansifa


Keil uVersion2工程文件:
(Keil 下载地址:http://www.doyoung.net/DOC/KeilC51uV2_PS.zip
 按钮.rar (1.55 KB, 下载次数: 0) 

实物视频:
由于一下找不到按钮开关,所以用一条电线接触GND引脚暂时代替。
  评论这张
 
阅读(1236)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016