MCU学习之按键控制LED

2015-03-14编辑:探路者 关键字:MCU  LED
程序 :

/**

* 读IO, 用按钮控制点灯.

*/

#include

#include

// 10个LED

sbit P10 = P1^0;

sbit P11 = P1^1;

sbit P12 = P1^2;

sbit P13 = P1^3;

sbit P14 = P1^4;

sbit P15 = P1^5;

sbit P16 = P1^6;

sbit P17 = P1^7;

// 定义开关. 低电平有效.

sbit K1 = P3^2;

sbit K2 = P3^5;

void main( void )

{

while( 1 )

{

if( !K1 ) // K1按下, 点亮LED

{

P10 = 0;

}

if( !K2 ) // K2按下, 熄灭LED

{

P10 = 1;

}

}

}

总结 :

1. 对于MCU来说, 所有的端口永远都提供高电平(低电平有效), 如果你想让某个端口提供低电平, 必须手工设定(仅仅是猜测).

2. 上面的K1, K2在开发板上是以按钮形式出现, 按下就是提供低电平, 弹起就是提供高电平

对于第2点,可以通过程序来考证 :

while( 1 )

{

// 当K1被按下, 此时P3^2提供低电平, 弹起后P3^2依然是低电平.

if( !K1 )

{

P10 = 0;

P11 = 1;

}

else

{

P10 = 1;

P11 = 0;

}

}

仿真的时候, 很明白的看到是P11点亮, P10熄灭. 说明执行的是else, 也就是K1一直处于电平状态.

当按下K1之后, P10点亮 P11熄灭, 说明K1提供了低电平, 按钮按下起了作用. 然后松手弹起K1, 看看到P10熄灭P11点亮. 说明K1又恢复了高电平.

由此可见按钮是onPress时改变了管脚电平, onRelease的时候又恢复了.

作业 :

把程序改为: 按K1,P10灯亮,P11灯灭。按K2,P10灯灭,P11灯亮。

/**

* 读IO, 用按钮控制点灯.

*/

#include

#include

// 10个LED

sbit P10 = P1^0;

sbit P11 = P1^1;

sbit P12 = P1^2;

sbit P13 = P1^3;

sbit P14 = P1^4;

sbit P15 = P1^5;

sbit P16 = P1^6;

sbit P17 = P1^7;

// 定义开关

sbit K1 = P3^2;

sbit K2 = P3^5;

void main( void )

{

while( 1 )

{

if( !K1 ) // K1按下, 点亮LED

{

P10 = 0;

P11 = 1;

}

if( !K2 ) // K2按下, 熄灭LED

{

P10 = 1;

P11 = 0;

}

}

}

关键字:MCU  LED

来源: 互联网 引用地址:http://www.eeworld.com.cn/LED/2015/0314/article_11817.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430电容触摸转轮和LED PWM输出设计
下一篇:通过计算光电耦合器中LED寿命 预测产品可靠性

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

全新MCU、无线、时钟的最新产品和解决方案

西部最大规模的电子信息博览会 ——“2018中国(成都)电子信息博览会”在成都举行。中国电子行业最优秀的半导体&元器件技术供应商——世强元件电商也参与其中。此次展会,世强元件电商携手Silicon Labs为广大的工程师带来了MCU、Wireless、时钟的最新产品和解决方案;同时,世强元件电商还利用平台特有优势,让工程师扫描海报上的二维码,即可获取此次展览产品的相关电子资料。据世强元件电商的工作人员介绍,除了现场扫描海报上的二维码,产品资料发送至指定邮件外,世强元件电商还提供更加深入的服务,比如,对于技术难题,工程师可登入世强元件电商进行提问,上百人的技术专家团队将在24小时内答疑解惑。而对于未到现场的工程师,所有参展
发表于 2018-07-16
全新MCU、无线、时钟的最新产品和解决方案

stm32f030c8t6 MCU进入低功耗模式

1.  sleep 模式2. stop 模式,在这个模式下,IO管脚保持run状态下的电平,RAM保持不变,所以在进入这个状态之前,先先将IO口配置好,,否则可能会有漏电流3,standby模式下,RAM不保持,IO管脚进入高阻态,,,激活就于系统reset    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); //时钟必须要开启,在这个陷阱中折腾了好几天    PWR_BackupAccessCmd(ENABLE);        
发表于 2018-07-10

全新8位tinyAVR® MCU可增加传感器节点功能

ATtiny3217和ATtiny3216是Microchip tinyAVR® 产品系列中存储器最大的两款产品 得益于超高的性价比和实施的简便性,AVR® 单片机(MCU)一直被用于打造高响应性传感器节点。为了提高采用AVR单片机的应用的响应能力,Microchip Technology Inc.(美国微芯科技公司)日前推出了两款全新的tinyAVR® MCU器件。这些新器件不仅具有先进的模拟功能,还具有该系列中最大的存储器。这两款专为在严苛环境中实现稳定操作而打造的新器件内置安全功能,帮助设计人员打造稳健而安全的系统。 ATtiny3217和ATtiny3216 非常适合用于包括电容触摸界面在内的传感器应用
发表于 2018-07-03
全新8位tinyAVR® MCU可增加传感器节点功能

8/32位夹杀 16位MCU靠硬件市场杀出重围

16位MCU如今面临8位和32位微控制器(MCU)夹杀,市场更有可能将逐渐萎缩,对此,Microchip MCU16业务部副总裁Joe Thomsen则表示,16位MCU在以硬件设计为主的产品上,仍有一定的市场利基, 而该公司近期也发布业界首款双核心16位数字讯号控制器(DSC)--dsPIC33CH,瞄准具控制回路的硬件产品,如马达、数字电源等,拓展16位市场。Arm核心的开放让32位MCU开发成本持续降低,芯片价格也随之下降,并逐渐瓜分高阶16位MCU市场;而8位MCU由于价格低廉,目前仍有广大低阶应用市场,且随着效能提升,也渐能满足较为低阶的16位MCU应用需求, 也因此,16位MCU在现今市场中,可说是遭逢夹杀,市场发展
发表于 2018-07-02

兆易创新GD32 MCU芯片5年出货量破2亿颗

凭借全球领先的存储器市场地位,兆易创新在MCU上也发挥了强大的片上存储和缓存资源的巨大优势。据集微网了解,日前兆易创新公司内部低调举办了MCU 出货量破2亿颗小庆典。从2013年兆易创新推出中国首个Arm® Cortex®-M3内核32位通用MCU系列产品算起,到今天仅5年时间,兆易创新已经走在了市场的前列,并更拥有广泛的行业品牌用户群。兆易创新GD32 MCU是中国高性能通用微控制器领域的领跑者,中国第一个推出的Arm® Cortex®-M3及Cortex®-M4 内核通用MCU产品系列,已经发展成为中国32位通用MCU市场的主流之选。目前兆易创新已经拥有超过1万家客户数量,19个系列300余款产品选择所提供的广阔应用
发表于 2018-06-29
兆易创新GD32 MCU芯片5年出货量破2亿颗

如何利用MCU流畅的播放视频?

核心板i.MX RT1052对视频应用的支持i.MX RT1052虽然采用了MCU内核,但基于应用处理器的架构方式,既能实现应用处理器的高性能和丰富功能,同时又兼具传统MCU的易用性和实时低功耗运行特性,填补高性能与易用性之间的空白。i.MX RT1052的内核运行速度高达600MHz,内置高密度的512KB TCM SRAM,并能够实现超快的实时响应,中断延迟低至20纳秒。并支持SEMC接口,可挂载SDRAM作为内存扩充。eLCDIF外设可轻松实现显示屏的驱动,并内置的SAI音频接口和MQS声卡,为音视频应用提供了良好的支持。图 2  RT1052框架图一、M1052核心板视频应用开发M1052核心板虽然以工业控制应用
发表于 2018-06-28
如何利用MCU流畅的播放视频?

小广播

颜工专栏

LED专区

现任华润矽威科技(上海)有限公司市场部经理/高工,上海市传感技术学会理事、副秘书长。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved