一、实验目的

1.  学习4X4键盘的与CPU的接口原理

2.  掌握键盘芯片HD7279的使用,及8位数码管的显示方法;

二、实验内容

1.  通过4X4按键完成在数码管上的各种显示功能,以及LCD上显示。

三、实验设备

  1. EL-ARM-830+教学实验箱,PentiumII以上的PC机,仿真调试电缆。

2.  PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,

仿真调试驱动程序。

四、实验步骤

1.本实验使用实验教学系统的CPU板,键盘、8位数码管。在进行本实验时、AD通道选择开关、LCD电源开关、音频的左右声道开关、触摸屏中断选择开关等均应处在关闭状态。

2.在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆,以及串口间连接公/母接头串口线。

3.打开超级终端,配置串口的属性(如COM1),配置波特率为115200,校验位无,数据位为8,停止位为1,数据控制流为无;检查连接是否可靠,可靠后,接入电源线,系统上电,同时按住“空格”键,进入VIVI状态。

4.打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\实验十一\Key_Led.mcp项目文件,进行编译。

5.编译通过后,进入ADS1.2调试界面,加载实验程序\HARDWARE\ADS\实验十一\Key_Led_Data\Debug中的映象文件程序映像Key_Led.axf。

6.在ADS调试环境下全速运行映象文件。按下任意键值,观察数码管的显示。说明: “0”键表示数码管测试,8个数码管闪烁,“4”键表示数码管复位,“1” 键表示数码管右移8位,“2” 键表示数码管循环右移,“9” 键表示数码管左移8位,“A” 键表示数码管循环左移。其他按键在最右两个数码管上显示键值。根据HD7279A.PDF文档可以进一步开发具体的相应的程序。

五、实验题目及做法

要求一:设计程序按键值显示在数码管中,要求数码管自左到右显示1,2,3,4并且每一个数字中间用U隔开,并且U字能够闪烁。

实验中我对5号键进行了操作,其中代码修改如下

实验代码截图:

实验代码中第一个for循环我参照HD7279A.PDF对U数码管进行了相应的设置,第二个for循环对1,2,3,4数码管进行了相应的设置,最后一段代码是对U的闪烁效果进行了处理。此处可以看到第二个for循环我进行了很多if语句的判断,是由于数码管的顺序不是从左到右1,2,3,……8,而是4、3、2、1、8、7、6、5.试验箱数码管顺序不正常,我就进行了相应的设置。

实验结果截图如下:

要求二:将key对应的ENT5引脚功能进行设置,让key值的获取不是采用中断的形式、而是采用CPU轮询查看的方式接收key值

对此实验要求,我首先将rGPFCON寄存器的功能进行设置,由原先的中断特殊功能引脚,改为了输入功能引脚。然后在main函数里面,while死循环里面加上对rGPFDAT第5号位的检测(if语句判断),当有键值输入的时候,5号位会为低电平信号,就会进入if语句,在这里面读取7279寄存器里面的值,并转换付给key_number变量。

实验代码截图如下:

此出可以看到我对rGPFCON寄存器的值进行了相应的设置,将第五号引脚改为了输入引脚功能。

当有按键按下是rGPFDAT第5号位为低电平0,并对key_number进行了赋值。

结果截图:

键盘接口和七段数码管的控制实验相关推荐

  1. 汇编语言实现七段数码管显示控制实验

    一 实验目的 1)掌握8255方式0的工作原理.初始化设置方法. 2)掌握I/O接口地址译码电路的工作原理及端口地址的计算方法. 3)掌握I/O端口的读写操作及编程方法. 4)掌握数码管显示数字的原理 ...

  2. 接口技术七段数码管c语言,031 实例7-七段数码管绘制

    [TOC] 一."七段数码管绘制"问题分析 1.1 问题分析 七段数码管 需求:用程序绘制七段数码管,似乎很有趣 该怎么做呢? turtle绘图体系 --> 七段数码管绘制 ...

  3. easyui 控制某列显示不显示_实验八 LED数码管显示控制实验

    一.实验目的 1.熟悉PLC实验装置以及三菱编程软件gxdeveloper8.86. 2.熟悉逻辑控制与应用指令的使用. 二.实验预习要求 熟悉三菱FX2N系列PLC的基本指令. 按照控制要求完成程序 ...

  4. 7段并行数码管显示实验C语言,七段数码管显示十进制数字 (15)

    实验报告 实验题目 设有10个开关,编号分别为0,1,--,9. 设计电路实现某开关闭合时对应显示相应的十进制数字.要求:(1)写出设计说明,(2)用 Proteus或Multisim仿真. 实验方案 ...

  5. 8255数码管显示c语言,用汇编语言编写七段数码管显示1~9,用8255A接口芯片,用中断方式控制。...

    满意答案 vgvm7321 2013.07.19 采纳率:52%    等级:11 已帮助:11521人 正好我们做了这个实验 你知道的,把数据段中的端口地址改为你的计算机可识别的8255A的端口地址 ...

  6. 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...

    本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统.系统应具有赛程定时设置,赛程时间暂停,及时刷新甲.乙双方的成绩以及赛后成绩暂存等功能. 内容包括:显示.键盘.时钟等内容设计 ...

  7. 七段数码管的使用(使能端分时控制)

    题目描述 在板子上的七段数码管上的八个数字分别显示:计时器(两位).按照拨码开关的输入(两位).班级(两位).学号(两位) 其中计时器为2HZ的,从10到到0,当倒计时为0时,从10重新开始计数:当按 ...

  8. 74HC245_键盘与8段数码管共有一个IO口_控制步进电机【Protues】

    完成功能: 数码管显示 '键盘输入角度-实际运动角度-运动状态-速度等级'初始显示 "Ent Act P 3" 键盘控制 步进电机 左转 右转 暂停 加减速 键盘输入0~9 ENT ...

  9. 【51单片机】七段数码管和矩阵键盘的综合实验——计算器(思路+仿真电路+源代码)

    系列文章目录 [51单片机]矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤 [51单片机]点阵LED的显示实验 [51单片机]七段数码管显示实验+详细讲解 [51单片机]矩阵键 ...

最新文章

  1. (转)Python rsa 签名与验证 sign and verify
  2. Java IO 总结图
  3. Boost:序列化之text_wiarchive和和text_woarchive
  4. 影响计算机的速度有哪些,影响电脑速度的硬件有哪些
  5. WinCE控制面板添加应用程序
  6. Nokia落寞身影下 三星成为全球最大手机厂商
  7. 初识shardingsphere
  8. 【Python开发】Python中的class继承
  9. 魔力转圈圈(快速幂)
  10. 区分Collection、Collector和collect Collectors类的静态工厂方法
  11. Mac: Failed to connect to raw.githubusercontent.com port 443: Connection refused error:
  12. 树莓派基础实验9:蜂鸣器实验
  13. 极化码 极化现象matlab仿真(信道容量,巴氏参数,高斯近似三种方法)
  14. 走进C++程序世界-------类的定义和使用(数据成员和方法成员,析构函数,构造函数,内联实现)
  15. 牛客小白月赛 22 C. 交换游戏
  16. (4.2.40)阿里开源路由框架ARouter的源码分析
  17. java jni ocx_Java调用ocx控件以及dll
  18. 天文学 python_4个天文学入门Python工具
  19. [Unity热更新]tolua# LuaFramework(七):lua使用DOTween
  20. 更改图像长宽 厘米为单位

热门文章

  1. 取表单radio值时
  2. 泛型(模拟list)
  3. 201521123044 《Java程序设计》第01周学习总结
  4. bzoj:2018 [Usaco2009 Nov]农场技艺大赛
  5. 采用contentprivider扫描手机SD卡的图片资源
  6. Linux下的基本常用命令解析
  7. Java中遍历删除ArrayList中多个元素
  8. 《STL源码剖析》相关面试题总结
  9. 高通平台中gpio简单操作和调试
  10. dynamic_debug动态打印kernel日志