4X4矩阵键盘

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目名称:4×4矩阵式键盘

队员:伍星刘晓峰陈仁凤

摘要:

本系统采用AT89S52为控制核心。采用4X4键盘,通过8位数码管显示动态扫描0—F 16个数字。

关键词:

AT89S52键盘数码管显示

Abstract: This system USES AT89S52 devices as control ing 4X4 keyboard, through eight digital tube display dynamic scan 0-16 F.

Keyword: AT89S52 Keyboard LED Display

目录

1 方案论证与比较 (3)

1.1采样方法方案论证 (3)

1.2处理器的选择方案论证................................................. 错误!未定义书签。

1.3周期性判别与测量方法方案论证................................. 错误!未定义书签。

2 系统设计 (3)

2.1总体设计 (3)

2.2单元电路设计 (5)

2.2.1 前级阻抗匹配和放大电路设计 (5)

2.2.2 AD转换及控制模块电路设计 (6)

2.2.3 功率谱测量单元电路设计 (6)

3 软件设计 (7)

4系统测试 (8)

5 结论 (9)

参考文献: (9)

附录: (9)

附1:元器件明细表: (9)

附2:仪器设备清单 (9)

附3:电路图图纸 (10)

附4:程序清单 (11)

1.方案论证与比较

1.1采样方法比较与选择

方案一:采用FPGA作为系统主控器。FPGA可实现各种复杂逻辑功能,规模大,集成度高,体积小,稳定性好,IO资源丰富、易于进行功能扩展,处理速度快,但适用于大规模实时性要求较高的系统,价格高,编程实现难度大。用液晶显示器进行键盘扫描,价格偏高,程序复杂,故不选择此方案

方案二: 采用Atmel公司的AT89S52单片机作为主控制器。AT89S52是一个低功耗、高性能8位单片机,片内含8 KB Flash片内程序存储器,256 Bytes RAM,32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断等。价格便宜,使用方便,编程实现难度低,适合用来实现本系统的控制功能。 P0.0-P0.7端口作为数码管段选,P2.0-P2.7端口作为数码管位选,P3.0-P3.7作为键盘输入端口。8位LED数码管进行动态显示。

综上分析,本设计选择方案二。

2 系统设计

2.1 总体设计

16个键盘通过AT89S52进行动态扫描,在8位数码管可以动态显示0-F 16个数字。手动复位键可以达到清零的效果。

2.2 单元电路设计

2.2.2 4X4键盘电路设计

信号输入后通过R5,R6两个100Ohm的电阻和一个高精度仪表运放AD620实现跟随作用,由于理想运放的输入阻抗为无穷大,所以输入阻抗即为:R5//R6=50Ohm,阻抗匹配后的通过继电器控制是对信号直接送给AD转换还是放大20倍后再进行AD转换。

在这道题目里,需要检测各频率分量及其功率,并且要测量正弦信号的失真度,这就要求在对小信号进行放大时,要尽可能少的引入信号的放大失真。正弦信号的理论计算失真度为零,对引入的信号失真非常灵敏,所以对信号的放大,运放的选择是个重点。

我们选择的运放是TI公司的低噪声、低失真的仪表放大器INA217,其失真度在频率为1KHz,增益为20dB(100倍放大)时仅为0.004%,其内部原理图如下图所示。

其中放大器A1的输出电压计算公式为

OUT1=1+(R1/RG)*VIN+

同理, OUT2=1+(R2/RG)*VIN--

R3、R4、R5、R6及A3构成减法器,最后得到输出公式

VOUT=(VIN2-VIN1)*[1+(R1+R2)/RG]

R1=R2=5K,取RG=526,从而放大倍数为20。

2.2.2AD转换及控制模块电路设计

采用12位AD转换器ADS7819进行转换,将转换的数据送32位控制器进行处理。2.2.3 功率谱测量

功率谱测量主要通过对音频信号进行离散化处理,通过FFT运算,求出信号各个离散频率点的功率值,然后得到离散化的功率谱。

由于题目要求频率分辨力为100Hz和20Hz两个档,这说明在进行FFT运算前必须通过调整采样频率(fK)和采样的点数(N),使其基波频率f为100Hz和20Hz。

根据频率分辨率与采样频率和采样点数的关系:

f=fk/N;

可以得知,fk=N*f;

又根据采样定理,采样频率fk必须不小于信号频率fm的2倍,即:

fk>=2fm;

题目要求的最大频率为10KHz,所以采样频率必须大于20KHz,考虑到FFT运算在2的次数的点数时的效率较高,所以我们在20Hz档时选择40.96KHz采样率,采集2048个点,而在100档时我们选择51.2KHz采样率,采集512个点。

通过FFT 分析出不同的频率点对应的功率后,就可以画出其功率谱,并可以在频域计算其总功率。

3 软件设计

主控制芯片为AT89S52, 16个键盘读入数据,数码管动态显示。所以采用c 语言编程方便简单.软件流程图如下:

主程序流程图:

4×4矩阵式键盘识别程序流程图

4系统测试

4.1 总功率测量(室温条件下)

结果分析:由于实验室提供的能够模仿音频信号的且能方便测量的信号只有正弦信号,所以我们用一款比较差点的信号发生器产生信号,然后进行测量,发现误差不达,在+-5%以内。我们以音频信号进行测量,由于其实际值无法测量,所以我们只能根据时域和频域以及估计其误差,都在5%以内。

4.2 单个频率分量测量(室温条件下)

相关文档
最新文档