原创 ADSP-EDU-BF531/BF533开发板教学视频第十集--按键key【Open ADSP开源】

2012-5-4 09:38 1821 11 11 分类: 处理器与DSP

终于更新到第十集了,这一集主要讲了板卡上按键的设计,按键相对比较简单,所以我们讲的也比较简单^^

http://player.youku.com/player.php/sid/XMjk1MDkzNDAw/v.swf

4.3 BF53x_KEY

    ADZS-EDU-BF53X按键实验。

4.31 硬件实现原理

ADSP-EDU-BF53x开发板上的按键连接到了CPLD,通过CPLD将按键信号与EBIU总线和中断管脚PF0连接,并将中断数据地址映射在CPLD的当有按键按下后,会触发PF0中断信号,同时可以通过EBIU总线访问中断功能映射到CPLD寄存器中的INTERRUPT_DAT寄存器,通过访问该寄存器,可以获取键盘的中断源数据,通过读取CPLD的 KEYBOARD_DAT寄存器,可以获取当前触发中断的按键的键值。

 

KEYBOARD_DAT寄存器(读唯一):

KEYBOARD_DAT寄存器地址:0x20380000

KEYBOARD_DAT寄存器是按键数据寄存器,通过该寄存器可以读取当前按键键值,通过键值判断当前哪个按键按下。

INTERRUPT_DAT寄存器(读唯一):

INTERRUPT_DAT寄存器地址:0x20360000

INTERRUPT_DAT寄存器是板卡上所有中断资源的中断源数据寄存器,可以通过该寄存器数据判断出当前中断是哪一个设备产生的。

INTERRUPT_DAT寄存器位功能:

 

Bit位

7

6

5

4

3

2

1

0

功能

保留

保留

SD_INF

LAN_INT

LAN_IOWAIT

TOUCH_BUSY

TOUCH_INT

KEY_INT

 

当中断未触发时,读取的Bit位值为1,当中断触发时,读取的Bit位值为0,根据Bit为数据。

SD_INF为SD卡插入查询位,该bit位不会触发中断,只能通过读取该寄存器来查询SD卡是否插入。

4.32 硬件连接示意图

12.jpg

 

4.33 代码实现功能

代码实现了利用查询法读取按键键值,并将读到键值与按键对应,打印出按键信息。运行代码后,代码会不停的读取键值,当读取键值与单个按键触发的键值一致时,打印出该按键信息。

4.34 测试步骤

  1. 将仿真器(ICE)与ADSP-EDU-BF53x开发板和计算机连接好。
  2. 先给仿真器(ICE)上电再为ADSP-EDU-BF53x开发板上电。
  3. 运行VisualDSP++ 5.0软件,选择合适的BF533 的session将仿真器与软件连接。
  4. 加载VisualDSP++ 5.0工程文件BF53x_KEY.dpj,编译并全速运行。
  5. 按下按键。

4.35 测试结果

代码会打印出触发按键的信息。

123.jpg

 

优酷链接:http://v.youku.com/v_show/id_XMjk1MDkzNDAw.html

清晰版下载地址:http://u.115.com/file/e6kgacbn       如需提取码,则是:e6kgacbn

开发板链接:http://item.taobao.com/item.htm?spm=1103Qmdt.3-3dfNy.h-1Akvus&id=9026190872&

 有网友说视频看不清楚,那是因为上传到优酷后被压缩的缘故,感兴趣的可以下载高清的来看。

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条