初入单片机遇到一些问题

蓝兔先生 蓝兔先生 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
废物先不说, 上图上代码才能有图有真相

#include <reg51.h>
#include "../time/Delay.h"

// 定义矩阵键盘I/O P2 口控制矩阵键盘
#define GPIO_KEY P2

// 定义静态数码管变量
#define GPIO_DIG P0
unsigned char code GPIO_S[6] = {0x3F, 0x06, 0x59, 0x4F, 0x67, 0x6D};
// ~ 0 1 2 3 4 5


void main()
{
unsigned char KeyValue;
GPIO_KEY = 0x0F;
while (1)
{
if (GPIO_KEY != 0x0F)
{
DelayMs_24M(10);
if (GPIO_KEY != 0x0F)
{
// 测试列
switch(GPIO_KEY)
{
case 0x07 : KeyValue = 0; break;
case 0x0B : KeyValue = 1; break;
case 0x0D : KeyValue = 2; break;
case 0x0E : KeyValue = 3; break;
}

// 测试行
GPIO_KEY = 0xF0;
switch(GPIO_KEY)
{
case 0x70 : break;
case 0xB0 : KeyValue = KeyValue + 4; break;
case 0xD0 : KeyValue = KeyValue + 8; break;
case 0xE0 : KeyValue = KeyValue + 12; break;
}

// 根据按下的按钮在静态数码管中显示对应数字
switch(KeyValue)
{
case 0x07 : GPIO_DIG = ~GPIO_S[0]; break;
}
}
}
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面是板子的接线图




--------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面是电路原理图



--------------------------------------------------------------------------------------------------------------------------------------------------------------------



整个实验效果:按下矩阵键盘中的一个键然后静态数码管中显示一个数字
目前程序状况:按下矩阵键盘中的任意一个键,然后,然后就没有然后了



看在新手和上帝的份上, 各路大神帮我解答下吧
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
蓝兔先生
单片机/工控 27,522 成员 28,796 内容