求助 TM1638不能读回按键值
unsigned char TM1638_Read(void) //读数据函数
{
unsigned char i;
unsigned char temp=0;
DIO_1; //设置为输入
for(i=0;i<8;i++)
{
temp>>=1;
CLK_0;
//CLK上升沿读数据才有效
if(DIO_IN)
temp|=0x80;
CLK_1;
}
return temp;
}
u8 TM1638_ReadKey(void)
{
u8 key=0,i,key_val[4]; // c[4] 4Byte数据储存
STB_0; // 拉低片选线,开始读键值
TM1638_Write(0x42); // 写'读键扫数据'命令
delay_us(10); //等待准备完毕
for(i=0;i<4;i++) // 读取4个Byte
key_val[i]=TM1638_Read(); // 将读取的4个Byte 值存到数组
STB_1; // 拉高片选线,读键值结束
if(key_val[0]!=0) //按键在KS1或KS2
{
/*************************************************************************
B0 B1 B2 B3 B4 B5 B6 B7
K3(S1) K2(S1) K1(S1) (X) K3(S2) K2(S2) K1(S2) (X)
从芯片读出的一字节数据有位,6位数据有效,其余2位用X表示
*************************************************************************/
switch(key_val[0])
{
case 0x01:
key=K3S1;
break;
case 0x02:
key=K2S1;
break;
case 0x04:
key=K1S1;
break;
case 0x10:
key=K3S2;
break;
case 0x20:
key=K2S2;
break;
case 0x40:
key=K1S2;
break;
}
}
}
求助 TM1638不能读回按键值相关推荐
- K_A02_005 基于单片机驱动数码管 LED 按键模块(TM1638) 流水灯 0-7 按键值显示
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.通信协议说明 1.写数据 时序: 程序: 2.读数据 时序: 程序: 四.部分代码说明 1.接线说明 1.1.STC89C52RC+按键数 ...
- 判断按键值_ALIENTEK 阿波罗 STM32F767 开发板资料连载第七章 按键输入实验
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第七章 按键输入实验 上 ...
- 矩阵键盘数 码管显示多位数 c语言,4×4矩阵键盘数码管显示按键值程序
4×4矩阵键盘数码管显示按键值程序本文引用地址:http://www.eepw.com.cn/article/201607/294422.htm //电路说明如下. //单片机:使用51系列兼容的即可 ...
- 读书到底为了什么,读研到底值不值?
大家好,我是张巧龙,前两天和学生们聊到关于读书的话题:读书到底为了什么,读研到底值不值? 今天给大家分享一篇关于这个话题的一篇高赞回答. 作者:斑斑驳驳 链接:https://www.zhihu.co ...
- 51单片机怎么显示当前时间_(进阶篇)51单片机之按键控制蜂鸣器、数码管、按键值移位显示...
一.实操演示- 按键控制蜂鸣器 1.图文详细 独立按键硬件电路 蜂鸣器硬件电路 2.连接方式: J20的第3号引脚连接到J7引脚,即P15连接J7. J29的第7.8号引脚连接到JP1的第1.2号引脚 ...
- python字典按键值排序_在Python中按键或值按升序和降序对字典排序
python字典按键值排序 Problem Statement: Write a Python program to sort (ascending and descending) a diction ...
- linux驱动的中断函数,嵌入式Linux驱动开发(四)——字符设备驱动之中断方式以及中断方式获取按键值...
之前我们完成了关于通过查询的方式获取按键键值的驱动程序,可以参考:嵌入式Linux开发--裸板程序之中断控制器. 虽然读取键值没有什么问题,但是测试程序占用CPU过高,一直在不断的查询,资源消耗过大, ...
- matlab最大回撤值,用matlab计算区间最大回撤值和最大回撤率
用matlab 计算区间最大回撤值和最大回撤率 在股票投资的时候有一个很重要的概念-最大回撤.最大回撤被定义为: min()min(max )j i j i i j j i j d x x x x & ...
- VBA Excel如何在工作表区域内查找某个值,发回这个值所在的行号、列号
用VBA代码编写,如何在工作表区域内查找某个值,发回这个值所在的行号.列号 spwangxu | 浏览 7128 次 推荐于2016-01-03 11:29:18 最佳答案 1 2 3 4 5 6 7 ...
最新文章
- UBuntu14.04下安装和卸载Qt5.3.1
- java jmi的基本思想_jmi: JMI 是 JNI 的 C++11/14封装,目的是为了简化JNI使用
- Linuxday01基础命令
- 最简方式 表格编辑 基于 el-table
- 【软件开发底层知识修炼】二十五 ABI之函数调用约定二之函数返回值为结构体时的约定
- 汇编软件的安装与实验一
- 直接拿来用!最火的Android开源项目(一) (转)
- 5.Http Server
- AS--创建项目(慢)和打开项目(慢)等需要注意的问题
- pdf服务器签章系统,PDF离线签章工具使用方法
- linux怎么建立辅助dns,rhel5 建立辅助DNS
- 企业邮箱帐号无法发信
- java的clone你知道多少?
- c++中的 单引号和双引号
- SONY EVI-D70P
- The fifth day
- python3-爬取cnnvd漏洞信息-代理+多线程
- HTML+CSS实现从右向左展开的过渡动画
- 马天宇现场助阵,TCL冰箱洗衣机品牌战略升级
- 【渝粤教育】电大中专药事管理与法规 (3)作业 题库
热门文章
- ATECC608A的完美兼容国产替代芯片
- 字长16位的计算机 它表示是,计算机应用基础(第2版)在线作业
- MAC文件图标自动排列+取消自动排列
- strcmp函数的说明和使用
- ddr布线 pads_[转载]Pads Router布线技巧,等长,蛇线,差分
- 【译】Caliburn——Action
- 用python打造自己的SDK--使用setuptools打包安装
- evict和clear
- webrtc bbr
- 鸿蒙跨屏流转是什么,华为智慧屏SE系列评测:从用上到爱上 就是一“眼”之间...