键盘接口和七段数码管的控制实验
一、实验目的
1. 学习4X4键盘的与CPU的接口原理
2. 掌握键盘芯片HD7279的使用,及8位数码管的显示方法;
二、实验内容
1. 通过4X4按键完成在数码管上的各种显示功能,以及LCD上显示。
三、实验设备
- 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)掌握8255方式0的工作原理.初始化设置方法. 2)掌握I/O接口地址译码电路的工作原理及端口地址的计算方法. 3)掌握I/O端口的读写操作及编程方法. 4)掌握数码管显示数字的原理 ...
- 接口技术七段数码管c语言,031 实例7-七段数码管绘制
[TOC] 一."七段数码管绘制"问题分析 1.1 问题分析 七段数码管 需求:用程序绘制七段数码管,似乎很有趣 该怎么做呢? turtle绘图体系 --> 七段数码管绘制 ...
- easyui 控制某列显示不显示_实验八 LED数码管显示控制实验
一.实验目的 1.熟悉PLC实验装置以及三菱编程软件gxdeveloper8.86. 2.熟悉逻辑控制与应用指令的使用. 二.实验预习要求 熟悉三菱FX2N系列PLC的基本指令. 按照控制要求完成程序 ...
- 7段并行数码管显示实验C语言,七段数码管显示十进制数字 (15)
实验报告 实验题目 设有10个开关,编号分别为0,1,--,9. 设计电路实现某开关闭合时对应显示相应的十进制数字.要求:(1)写出设计说明,(2)用 Proteus或Multisim仿真. 实验方案 ...
- 8255数码管显示c语言,用汇编语言编写七段数码管显示1~9,用8255A接口芯片,用中断方式控制。...
满意答案 vgvm7321 2013.07.19 采纳率:52% 等级:11 已帮助:11521人 正好我们做了这个实验 你知道的,把数据段中的端口地址改为你的计算机可识别的8255A的端口地址 ...
- 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...
本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统.系统应具有赛程定时设置,赛程时间暂停,及时刷新甲.乙双方的成绩以及赛后成绩暂存等功能. 内容包括:显示.键盘.时钟等内容设计 ...
- 七段数码管的使用(使能端分时控制)
题目描述 在板子上的七段数码管上的八个数字分别显示:计时器(两位).按照拨码开关的输入(两位).班级(两位).学号(两位) 其中计时器为2HZ的,从10到到0,当倒计时为0时,从10重新开始计数:当按 ...
- 74HC245_键盘与8段数码管共有一个IO口_控制步进电机【Protues】
完成功能: 数码管显示 '键盘输入角度-实际运动角度-运动状态-速度等级'初始显示 "Ent Act P 3" 键盘控制 步进电机 左转 右转 暂停 加减速 键盘输入0~9 ENT ...
- 【51单片机】七段数码管和矩阵键盘的综合实验——计算器(思路+仿真电路+源代码)
系列文章目录 [51单片机]矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤 [51单片机]点阵LED的显示实验 [51单片机]七段数码管显示实验+详细讲解 [51单片机]矩阵键 ...
最新文章
- (转)Python rsa 签名与验证 sign and verify
- Java IO 总结图
- Boost:序列化之text_wiarchive和和text_woarchive
- 影响计算机的速度有哪些,影响电脑速度的硬件有哪些
- WinCE控制面板添加应用程序
- Nokia落寞身影下 三星成为全球最大手机厂商
- 初识shardingsphere
- 【Python开发】Python中的class继承
- 魔力转圈圈(快速幂)
- 区分Collection、Collector和collect Collectors类的静态工厂方法
- Mac: Failed to connect to raw.githubusercontent.com port 443: Connection refused error:
- 树莓派基础实验9:蜂鸣器实验
- 极化码 极化现象matlab仿真(信道容量,巴氏参数,高斯近似三种方法)
- 走进C++程序世界-------类的定义和使用(数据成员和方法成员,析构函数,构造函数,内联实现)
- 牛客小白月赛 22 C. 交换游戏
- (4.2.40)阿里开源路由框架ARouter的源码分析
- java jni ocx_Java调用ocx控件以及dll
- 天文学 python_4个天文学入门Python工具
- [Unity热更新]tolua# LuaFramework(七):lua使用DOTween
- 更改图像长宽 厘米为单位