键盘接口和七段数码管的控制实验

 一、实验目的

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.试验箱数码管顺序不正常,我就进行了相应的设置。

实验结果截图如下:

键盘接口和七段数码管的控制实验_第1张图片

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

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

实验代码截图如下:

键盘接口和七段数码管的控制实验_第2张图片

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

键盘接口和七段数码管的控制实验_第3张图片

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

结果截图:

键盘接口和七段数码管的控制实验_第4张图片

你可能感兴趣的:(嵌入式编程)