初入单片机遇到一些问题

蓝兔先生 2016-07-29 01:03:57
废物先不说, 上图上代码才能有图有真相

#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;
}
}
}
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面是板子的接线图




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

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



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



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



看在新手和上帝的份上, 各路大神帮我解答下吧
...全文
815 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
phangbob 2016-09-07
  • 打赏
  • 举报
回复
GPIO_KEY = 0x0F; while (1) 上面那句应该在while(1)里面。。。 然后数码管亮加个延时。。。 其他的需要下载调试看看。能力有限。。哈哈
qq_29559327 2016-08-01
  • 打赏
  • 举报
回复
普中单片机板子,和我的一模一样
dceacho 2016-07-30
  • 打赏
  • 举报
回复
switch(KeyValue)
 {
 case 0x07 : GPIO_DIG = ~GPIO_S[0]; break;
 }
你按对了按键?把P0赋个初始值
内容概要:本文详细记录了对一个Android ARM64静态ELF文件中字符串加密机制的逆向分析过程。该ELF文件的所有字符串均被加密,无法通过常规strings命令或IDA直接识别。作者通过分析发现,加密字符串存储在.rodata段,其解密所需信息(包括密文地址、长度和16位密钥)保存在.data.rel.ro段的40字节描述符中。核心解密函数sub_10F408采用自反的双pass流密码算法,结合固定密钥KEY_TERM(由.data段24字节数据计算得出),实现字节级非线性、位置与长度相关的加密。文章还复现了完整的Python解密脚本,并揭示了该保护机制的本质为代码混淆而非强加密,最终成功批量解密全部956条字符串,暴露程序真实行为,如shell命令模板、设备标识篡改、网络重置等操作。此外,文中还提及未启用的自定义壳框架及其反dump设计。; 适合人群:具备逆向工程基础的安全研究人员、二进制分析人员及对ELF保护技术感兴趣的开发者。; 使用场景及目标:①学习ELF二进制中字符串加密的典型实现方式与逆向突破口;②掌握从结构识别、函数追踪到算法还原的完整逆向流程;③理解“绑定二进制”的完整性校验设计及其局限性;④实践编写IDAPython脚本自动化提取与解密敏感数据。; 阅读建议:此资源以实战案例驱动,不仅展示技术细节,更强调逆向思维与验证方法,建议读者结合IDA调试环境,逐步跟随文中步骤进行动态分析与算法验证,深入理解每一步的推理依据。

27,521

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧