74HC595扩展按键扫描---调试笔记
2013-01-20 08:45
225 查看
问题出现在了按键扫描过程中,使用延时,但是为什么使用延时就检测不到,还是没琢磨明白。
#include "hc595.h"
/*------------------------------------------------ 按键扫描程序 ------------------------------------------------*/
unsigned char keyscan(void) { unsigned char Val; SendByte(0x1b); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x1b; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
} SendByte(0x17); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x17; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
}
SendByte(0x0f); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x0f; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
} SendByte(0x1d); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x1d; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
} SendByte(0x1e); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x1e; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
}
return 0xff; }
#include "hc595.h"
/*------------------------------------------------ 按键扫描程序 ------------------------------------------------*/
unsigned char keyscan(void) { unsigned char Val; SendByte(0x1b); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x1b; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
} SendByte(0x17); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x17; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
}
SendByte(0x0f); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x0f; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
} SendByte(0x1d); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x1d; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
} SendByte(0x1e); LINE_SET;
if((P4&0x70)!=0x70) {
Val = P4&0x70; Val+=0x1e; while((P4&0x70)!=0x70); delay_10ms(1); while((P4&0x70)!=0x70); return Val;
}
return 0xff; }
相关文章推荐
- 74HC595扩展按键扫描
- stm8触摸按键调试笔记(1)
- 【单片机笔记】状态机效率地按键扫描、识别短按、长按及松手检测方法
- [RK3288][Android6.0] 调试笔记 --- 修改系统按键
- RK3288][Android6.0] 调试笔记 --- 关闭按键音后无法录音问题【转】
- ArcGIS 服务对象扩展(SOE)新手自学笔记(5):注册与调试
- [RK3288][Android6.0] 调试笔记 --- 关闭按键音后无法录音问题
- PHP7 学习笔记(三)关于PHP7如何安装调试工具Xdebug扩展以及Zephir的问题
- Jmeter使用笔记之html报告扩展(一)
- [RK3288][Android6.0] 调试笔记 --- Su添加密码登陆功能
- 新型的按键扫描程序
- 《设计模式:基于C#的工程化实现及扩展》学习笔记 01 准备篇 -- 前言
- stm32学习笔记——按键(外部中断)
- C++实现网格水印之调试笔记(一)
- Java 8 Stream 原理 - 调试笔记
- Lucene搜索扩展笔记
- 软件调试笔记15 - 用户态调试过程:调试会话
- php扩展开发笔记(7) 错误使用 php_base64_decode 导致内存溢出
- NB-IoT移远BC95调试笔记 02 CoAP协议
- tensorflow 学习笔记(一) - 安装调试