DSP-矩阵键盘扫描实验

班 级 学号 姓 名 同组人

实验日期 室温 大气压 成 绩

实验五 矩阵键盘扫描实验

一、实验目的

1、掌握键盘信号的输入,DSP I/O的使用;

2、掌握键盘信号之间的时序的正确识别和引入。

二、实验设备

1、一台装有CCS2000软件的计算机;

2、插上2812主控板的DSP实验箱;

3、DSP硬件仿真器。

三、实验原理

实验箱上提供一个 4 * 4的行列式键盘。TMS320F2812的8个I / O口与之相连,这里按键的识别方法是扫描法。

当有键被按下时,与此键相连的行线电平将由此键相连的列线电平决定,而行线的电平在无法按键按下时处于高电平状态。如果让所有的列线也处于高电平,那么键按下与否不会引起行线电平的状态变化,始终为高电平。所以,在让所有的列线处于高电平是无法识别出按键的。现在反过来,让所有的列线处于低电平,很明显,按键所在的行电平将被拉成低电平。根据此行电平的变化,便能判断此行一定有按键被按下,但还不能确定是哪个键被按下。假如是5键按下,为了进一步判定是哪一列的按键被按下,可在某一时刻只让一条列线处于低电平,而其余列线处于高电平。那么按下键的那列电平就会拉成低电平,判断出哪列为低电平就可以判断出按键号码。

模块说明:

此模块共有两种按键,KEY1—KEY4是轻触按键,在按键未按下时为高电平输入FPGA,当按键按下后对FPGA输入低电平,松开按键后恢复高电平输入,KEY5—KEY8是带自锁的双刀双掷开关,在按键未按下时是低电平,按键按下时为高电平并且保持高电平不变,只有再次按下此按键时才恢复低电平输入。每当按下一个按键时就对FPGA就会对此按键进行编码,KEY1—KEY8分别对应的是01H、02H、03H、04H、05H、06H、07H、08H。在编码的同时对DSP产生中断INT1,这个时候DSP就会读取按键的值,具体使用方法可以参考光盘例程key,prj。

实验流程图:

四、实验步骤

1、把2812 模块小板插到大板上;打开液晶模块的电源开关;

2、按下键盘按键,液晶会显示所按键的号码。

3、设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行

4、启动Code Composer Studio 2.21选择菜单Debug→Reset CPU。

5、打开工程文件打开本实验的工程编译Example_key.prj,浏览Example_key.c文件的内容,理解各语句作用。

6、编译并下载程序,生成输出文件.OUT,通过仿真器把执行代码下载到DSP芯片;

7、运行,按下键盘按键,液晶会显示所按键的号码。

五、实验结果

实验现象如下图所示:

六、实验总结

通过本次CCS环境下矩阵键盘扫描LCD显示的仿真实验,让我了解并熟悉了CCS软件的安装和调试方法,DSP实验箱下载调试的步骤以及CCS环境下的DSP的C语言程序编写方法,对于12864液晶模块控制程序的编写和矩阵键盘的信号识别原理也有了更深的认识,对今后DSP的进一步学习奠定了应用基础。#include "include/DSP281x_Device.h" // DSP281x Headerfile Include File

#include "include/DSP281x_Examples.h" // DSP281x Examples Include File

unsigned short key,keyvalue;

unsigned char nAsciiDot[] = // ASCII

{ //********************** };//ASCII字模的数据表-

void Gpio_select(void);

void delay(int time)

{ int i,j;

for(i=0;i

for(j=0;j<1200;j++);}

void wcom(unsigned char com)

{ Reg08=com; }

void wdata(unsigned char dat)

{Reg07=dat; }

void lcdinit(void)

{wcom(0xa4);

wcom(0xad);

wcom(0x03);

wcom(0xac);

wcom(0xe2); //initialize interal function

delay(10);

wcom(0xa2); //set nomal displ

c语言矩阵键盘实验心得,DSP-矩阵键盘扫描实验.doc相关推荐

  1. python实验心得体会范文大全_实验心得体会四篇

    实验心得体会四篇 <实验心得体会四篇>是一篇好文章,感觉写的不错,这里给大家转摘到, 觉得好就请收藏下. 小编精心推荐 | | 下面是小编整理的实验,欢迎阅读参考. 实验心得体会 ( 一 ...

  2. python语言的实验心得体会范文_关于实验的心得体会范文5篇

    --文章来源网络,仅供参考 1 关于实验的心得体会范文 5 篇 心得体会是指一种读书. 实践后所写的感受性文字. 是指将学习的东西运用 到实践中去, 通过实践反思学习内容并记录下来的文字, 近似于经验 ...

  3. 实验心得_大肠杆菌原核表达实验心得(上篇)

    大肠杆菌原核表达实验心得(上篇) 对于大肠杆菌蛋白表达,大部分小伙伴都觉得 so easy! 做大肠杆菌蛋白表达十几年经历的老司机还经常阴沟翻船,被大肠杆菌表达蛋白虐千百遍的惨痛经历,很多小伙伴都有切 ...

  4. 大学生python实验心得体会_最新大学生实验心得体会范文汇总

    大学生实验心得体会范文汇总 实验讲授有助于培养学生求真务实的科学精神.学习不仅需要智力. 能力 , 更需要求真务实的科学精神.下面给大家分享一些关于学生实 验心得体会 , 方便大家学习. 学生实验心得 ...

  5. 计算机会计核算系统实验心得体会,会计核算模拟实验心得体会样本

    会计核算模拟实验心得体会 姓名 学号 不知不觉会计模拟实验已经结束了,会计模拟试验采用的是计算机会计软件系统,在上课过程中,我认真练习,勤于思考,通过软件学习学会了会计工作的整个流程,进行了原始凭证. ...

  6. 计算机会计核算系统实验心得体会,会计核算模拟实验心得体会样本.doc

    文档介绍: 会计核算模拟实验心得体会样本.doc会计核算模拟实验心得体会姓名 学号 不知不觉会计模拟实验L2经结束了,会计模拟试验采用的是计算机会计软件系统,在上课过程中,我认真练****勒于思考,通 ...

  7. 银行营销方案计算机实验心得体会,浙科电子商务实验报告总结.docx

    浙科电子商务实验报告总结 实验报告 姓名:徐娜娜学号:专业:市场营销班级:12商101课程:电子商务 江苏师范大学商学院市场营销系 <电子商务>课程实验报告 1 2 3 4 电子商务实训心 ...

  8. linux文件权限管理实验心得,Linux+文件权限管理实验

    主机安全-- Linux文件权限管理实验 对于文件 /etc/passwd,该文件的属组(root)可读.不可写,不可执行 对于文件 /etc/shadow,该文件的属组(root)不可读.不可写,不 ...

  9. stp实验心得_自制STP配置实验

    本图使用Gns模拟器 实验需求: 1.要求利用vtp实现vlan同步设置 2.要求vtp server实现备份冗余 3.创建vlan 1~10要求MLSW1 是奇数vlan主根 MLSW2 是偶数vl ...

最新文章

  1. python中正确的表达式_python中如何正确使用正则表达式的详细模式(Verbose mode expression)...
  2. 滴滴专车——司机提现流程
  3. 将两个DataFrame拼接起来,除了concat还有append()
  4. h5调用摄像头拍照可以自定义拍照页面吗_回归单摄时代?小米伸缩式摄像头技术曝光,网友:好家伙...
  5. BERT相关模型汇总梳理
  6. 【操作系统】进程调度(4):I/O、不可预测的运行时间
  7. *【POJ - 2796】 Feel Good (前缀和优化+单调栈维护)
  8. 克罗内克内积 Kronecker product
  9. Tensorflow入门之运算篇
  10. 本周两场直播丨PostgreSQL中的锁;数据库对象命名设计规范手册
  11. 线上活动预告丨拥抱金融科技 洞见数据未来
  12. 在肯定句使用have动词_25
  13. Backbone入门教程
  14. 手写操作系统2——编写MBR主引导程序
  15. 大一java计算圆面积_Java练习题——计算圆的面积
  16. 从苦逼走向牛逼:阿里云的苦难辉煌
  17. 用公式编辑器打的公式变大了怎么办?
  18. 通过本地jedis连接远程服务器上的docker redis
  19. 如何有效运维管理光伏电站?
  20. 高级图表常用颜色RGB参数

热门文章

  1. 环形加密银行利息计算(简单版)
  2. Cobub Razor
  3. 【PLC语音播报】用Modbus刷微博新闻热搜-语音朗读案例演示-声光报警灯|语音播报器|Modbus报警灯|网口语音播报|网络语音播报器
  4. 网站app原型设计工具:axure,Mockups,墨刀
  5. vscode提示正在加载(类型推断,正在加载)解决方法
  6. 软件测试(一)——入门篇知识要点总结
  7. [评论随笔]大唐二李——初唐名将李靖、李勣评传(zhuan tianya)
  8. 【C语言基础】利用C语言简单知识点实现计算器加减乘除运算功能
  9. 两台linux之间传输文件的方法
  10. org module之org-id