农民讲习所建立通用程序 11 时间控制模块

原理图如下:

在这里插入图片描述

在这里插入图片描述

矩阵扫描

代码:

  GPIO_SetMode(PA, BIT0, GPIO_MODE_QUASI);
  GPIO_SetMode(PA, BIT1, GPIO_MODE_QUASI);
  GPIO_SetMode(PA, BIT2, GPIO_MODE_QUASI);
  GPIO_SetMode(PA, BIT3, GPIO_MODE_QUASI);
  GPIO_SetMode(PA, BIT4, GPIO_MODE_QUASI);
  GPIO_SetMode(PA, BIT5, GPIO_MODE_QUASI);		


uint8_t ScanKey(void)
{
  PA0=1; PA1=1; PA2=0; PA3=1; PA4=1; PA5=1;
	if (PA3==0) return 1;
	if (PA4==0) return 4;
	if (PA5==0) return 7;
  PA0=1; PA1=0; PA2=1; PA3=1; PA4=1; PA5=1;
	if (PA3==0) return 2;
	if (PA4==0) return 5;
	if (PA5==0) return 8;
  PA0=0; PA1=1; PA2=1; PA3=1; PA4=1; PA5=1;
	if (PA3==0) return 3;
	if (PA4==0) return 6;
	if (PA5==0) return 9;
	return 0;
}

需求解析:

二)设计方案
1) K1为设置开关键,用于开始进行时间设置和退出。(Setup)
2) K2为向上减小键。(Up) UP键的功能 是减小
3) K3为向下增大键。(Down)Down键的功能是增加
4) K4为确认键。(Return)
5) K1-K4按下时,LED的D1-D4点亮,松开时熄灭。
6) 其它K5-K8演示按键处理:
K5:快速连续两次按键时翻转LED D5状态。
K6:长按键翻转LED D6状态。
K7:在按下时翻转LED D7状态。
K8:在松开时翻转LED D8状态。

在这里插入图片描述

工作流程

在这里插入图片描述

程序代码

程序有基本可以演示使用,还需要去掉上面说的那个部分。
先保存一下。

Nu_LB_NUC140_Driver_Final.rar

https://download.csdn.net/download/wowocpp/10796587

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值