基于Proteus无实物零基础STM32入门自学教程(五)--按键点亮LED

简介:本项目为基于STM32F103R6为核心 的按键点亮LED工程。为新手刚入门输入和输出最基本的操作联动的任务。无论按键程序和LED程序均与之前任务思路一致,非常简单易懂。因此在此阶段引入模块化编程思维,藉由正点原子模板创立工程,为后续做更复杂的程序打下坚实的基础。

目的:学会输入和输出联动;学会模块化编程思维。

硬件:PA1和PA2分别连接两个按键,PB6和PB8分别连接两个LED灯。

软件:按键和LED程序以正点原子为基础创建该项目工程。仿真经过验证,可以直接用于实物开发板。

一、Proteus仿真图

电路非常简单,分别由两个按键和两个LED二极管组成,功能上每个按键分别负责点亮一个LED。

二、MED代码

按键子程序key.c主要代码如下:


//注意此函数有响应优先级,KEY0>KEY1
u8 KEY_Scan(u8 t)      //按键扫描函数。
{	 

	
	if(KEY0==0||KEY1==0){   //按下按键
	{
		delay_ms(10);         //去抖动 
	
		if(KEY0==0) 		      //PA1按下	
     { 
		 return KEY0_PRES;}     //KEY0_PRES,KEY0按下
		else if(KEY1==0)	    ///PA2按下
		{
		return KEY1_PRES; }   //同理。
		
	}}

  if( t==KEY0_PRES) return KEY0_PRES; 	//若按键未改变,返回原值
	if(t==KEY1_PRES)  return KEY1_PRES;
  return 0;// 无按键按下
}

LED的代码请大家参考之前的代码即可。 

本项目首次引进了项目工程的概念,不再采用单程序文件的开发模式。为了后续复杂工程的模块化开发奠定了基础,为后续程序移植切换平台都提供了很好的代码环境。代码兼容正点原子的代码,大家同学们可以随意移植,非常方便。程序由主程序main.c为核心,头文件调用key.h和led.h的方式将key.c和led.c引入形成工程文件。请各位同学仔细学习工程配置和头文件互相调用的方法。

 

三、仿真效果和源代码资源

基于Proteus无实物零基础STM32入门自学教程(五)--按键点亮LED-单片机文档类资源-CSDN下载

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远都是新手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值