键盘扫描与数码显示实验指南
5星 · 超过95%的资源 需积分: 9 140 浏览量
更新于2024-11-02
收藏 95KB DOC 举报
"键盘扫描显示.doc"
这篇文档详细介绍了如何进行一个键盘扫描显示的实验,旨在帮助读者理解如何处理键盘输入并将其在数码管上显示。实验主要涉及以下几个关键知识点:
1. 键盘扫描原理:实验中使用的是6×4的小键盘,其扫描方式是通过列扫描码地址逐列输出低电平,然后读取行码地址来检测是否有键被按下。当有键按下时,相应行的值会变为低电平;若无键按下,行码则保持高电平。这种技术可以用来确定哪个键被按下,防止键盘抖动的方法是在检测到按键后加入延时。
2. 程序模块划分:实验程序分为三个模块:
- 键输入模块:负责扫描键盘,读取按键状态,并将键值存储在缓冲区。
- 显示模块:从缓冲区获取键值,并在数码管上进行显示。
- 主程序:协调键输入和显示模块的运行。
3. 实验电路与硬件设置:实验中使用了特定的实验仪,包含键盘扫描电路和显示电路。在实验配置中,需要对仿真器的工作模式进行设置,如将工作模式设置为模式2,以便程序存储在仿真器上,数据存储在目标板上。此外,还涉及到不同模块间的硬件连接,如将键盘显示模块的片选信号与片选信号模块相连。
4. 仿真器模式设置:通过[MON]键和[Trace/Mode]键,可以切换仿真器的4种工作模式,每种模式对应不同的地址位显示和数据位显示。模式2适用于实验的需求,允许程序在仿真器上运行,而数据操作发生在目标板上。
5. 编程与调试:实验还包括编程和调试过程,虽然具体代码没有完全给出,但提到了几个关键变量,如用于位控制的`OUTBIT_at_0x8002`,段控制的`OUTSEG_at_0x8004`,以及键盘读入口`IN_at_0x8001`,以及一个用于存储显示数据的缓冲区`LEDBuf[LEDLen]`。
这个实验对于学习嵌入式系统、单片机编程和I/O设备交互非常有帮助,它涵盖了硬件接口设计、软件模块化编程以及硬件与软件的协同工作等核心概念。通过实践这样的实验,学生可以深入理解键盘输入处理和数码管显示的底层机制。
2014-11-10 上传
2020-02-29 上传
2021-10-02 上传
2022-06-17 上传
2022-07-04 上传
2023-02-27 上传
2022-07-08 上传
2024-01-16 上传
wangyukailinlin
- 粉丝: 4
- 资源: 24
最新资源
- UTD Comet Calendar-crx插件
- linuxboot:LinuxBoot项目正在努力使Linux能够在所有平台上替换固件
- elk-examples:麋鹿的示例集合
- SoftwareArchitect:通往软件架构师的道路
- Challenges in Representation Learning: Facial Expression Recognition Challenge(表征学习中的挑战:面部表情识别挑战)-数据集
- foundryvtt-lexarcana
- interpy-zh::blue_book:《 Python进阶》(中级Python中文版)
- 水平滚动菜单(Menu)效果
- food-drinkweb
- LED.zip_单片机开发_C/C++_
- distributed-mining-github
- Spring 2.0 技術手冊
- 信呼在线客服系统 1.0.0
- ant-design-pro-V5-multitab:基于 ant design pro V5 版本实现多标签切换 基于umi插件 umi-plugin-keep-alive 实现 (目前只支持layout
- pinba服务器:简单快速的pinba服务器,在Clickhouse中存储
- webgaim-开源