您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页中断扫描法行列式键盘

中断扫描法行列式键盘

来源:意榕旅游网


院 系: 班 级:

中断扫描法行列式键盘设计报告

学 号: 姓 名: 指导老师:

目录

1 芯片功能及简介 ............................................................................................................................................... 2 1.1 80C51单片机引脚简介 .............................................................................................................................. 2

1.1.1 电源引脚(2个) .............................................................................................................................. 3 1.1.3 控制引脚(4个) .............................................................................................................................. 3 1.1.4 输入/输出引脚(32个) .................................................................................................................. 3

1.2 七段LED数码管工作原理 ........................................................................................................................ 4 1.3 4082的使用与功能 ................................................................................................................................... 4 2 中断及行列式键盘设计 ..................................................................................................................................... 4 2.1 硬件电路设计 ............................................................................................................................................. 4

2.1.1 设计思路 ............................................................................................................................................. 4 2.1.2 设计电路图 ......................................................................................................................................... 5

2.2 源程序设计 ................................................................................................................................................. 6

2.2.1 设计思路 ............................................................................................................................................. 6 2.2.2 源代码 ................................................................................................................................................. 6

3 中断及行列式键盘设计最终效果 ..................................................................................................................... 7 3.1开始进入调试阶段 ...................................................................................................................................... 7 3.2按下5号键 .................................................................................................................................................. 8 参考文献 ................................................................................................................................................................. 9

第 1 页

中断扫描法行列式键盘

甘肃省庆阳市陇东学院

摘要:中断扫描法行列式键盘中的中断是在键盘按下时才执行键盘扫描程序,如果没有键盘按下,则将键盘视为不存在。行列式键盘的检测可采用软件扫描查询法进行,即根据按键压下后所在行线的端口电平是否出现反转,判断有无按键闭合动作。如果有按键操作根据给该键赋予的键码在数码管上显示相应的0~f中的任一数字。该设计电路中还增加了一个型号为4082的4与门集成元件。当各电平都为0时,无论压下哪个按键,与门的输出端都可形成INT0的中断请求信号。这样便可以将按键的扫描查询工作放在中断函数中进行,从而就能达到既快速响应按键动作,又提高CPU工作效率的目的。 关键词:中断;行列式键盘;80C51;数码管

1 芯片功能及简介

1.1 80C51单片机引脚简介

80C51单片机共有40个引脚,其中有2个是电源引脚,2个外接晶体振荡器引脚,4个控制引脚,还有4个端口(P0~P3),即32个输入/输出引脚。80C51的封装如图1.1下: U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7393837363534333221222324252627281011121314151617 18XTAL2

293031PSENALEEA9RSTP2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51 图1.1 图1.2

第 2 页

1.1.1 电源引脚(2个)

 Vcc(40脚):电源端,接+5V电源。

 Vss(20脚):接地端。 1.1.2 外接晶振引脚(2个)

 XTAL1(19脚)和XTAL2(18脚):接石英晶体振荡器。 1.1.3 控制引脚(4个)

 RST(9脚):复位信号引脚。当石英晶体振荡器运行时,在此脚上出现两个机器周期的高电平,使单片机复位。

 ALE/PROG(30脚):地址锁存允许信号端。当访问外部存储器时,ALE(允许地址锁存)的输出用于锁存地址的低8位。当不访问外部锁存器时,ALE端仍以不变的频率周期性地输出脉冲信号,此频率为石英晶振振荡频率的1/6。因此它可用作对外输出的时钟或用于定时。

 PSEN(29脚):外部存储器的读选通信号端。在读外部(ROM)时PSEN有效,以实现对外部程序存储器的读操作。

 EA/VPP(31脚):访问程序存储器选择控制信号。当EA信号接低电平时,对ROM的读操作限定在外部程序存储器;当EA接高电平时,对ROM的读操作从内部开始。 1.1.4 输入/输出引脚(32个)

 P0端口:P0.0~P0.7(32~39脚)在外部扩充存储器时,可用作数据总线或地址总线,但内部无上拉电阻;不扩充时,可用作一般I/O端口使用,当作为输入或输出时应在外部接上拉电阻。

 P1端口:P1.0~P1.7(1~8脚)只做I/O使用,其内部有上拉电阻。

 P2端口:P2.0~P2.7(21~28脚)用作一般I/O使用,其内部有上拉电阻。在扩充外部存储器时,也可当作地址总线使用。

 P3端口:P3.0~P3.7(10~17脚)除了用作I/O使用外还有一些特殊功能,也称第

第 3 页

二功能。

1.2 七段LED数码管工作原理

这种显示器分为共阴极和共阳极两种:共阳极LED数码管的所有阳极连接在一起,为公共端;共阴极LED 显示器的发光二极管的所有阴极连接在一起,为公共端。单个数码管的引脚配置如图1.2所示,其中com为公共端。本篇文章借助共阴极数码管进行说明。

1.3 4082的使用与功能

4082为4与门集成元件。4082的装载形式如图1.3所示: 234082U2:A1 图1.3

当各电平都为0时,无论压下哪个按键,与门的输出端都可形成INT0的中断请求信号。这样便可以将按键的扫描查询工作放在中断函数中进行,从而就能达到既快速响应按键动作,又提高CPU工作效率的目的。

2 中断及行列式键盘设计

2.1 硬件电路设计 2.1.1 设计思路

第 4 页

开始 扫描4次 P3键扫描码 (P3&0F) 查找按下键键值 键值=0~f 键值=-1 返回 图1.4

2.1.2 设计电路图 图1.5

C2U11nF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617P20P21P22P23P24P25P26P27C31nF18XTAL29RSTR510kC133uP10P11P12P13P14P15P16P17293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51P20P21P22P23P24P25P26P27P102P114P126P1381R110kR210kR310kR410kP3235P10P11P12P132345U2:A1P3294082P14P15P16P17

第 5 页

2.2 源程序设计 2.2.1 设计思路

本次实验要经过外部中断实现数码管的数值变化,所以外部中断0的中断触发方式控制位(IT0)置1;外部中断允许位(EX0)置1;中断允许总控制位(EA)置1。

2.2.2 源代码 #include char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71}; char key_buf[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77}; void getKey () interrupt 0 { char key_scan[]={0xef,0xdf,0xbf,0x7f}; char i=0,j=0; for(i=0;i<4;i++) { P1=key_scan[i]; for(j=0;j<16;j++) { if(key_buf[j]==P1) { P2=led_mod[j]; break; } }

第 6 页

} } void main(void) { P2=0x00; IT0=1; EX0=1; EA=1; while(1) { P1=0x0f; } } 3 中断及行列式键盘设计最终效果

3.1开始进入调试阶段

刚进入调试阶段的结果如图1.6所示: C2U11nF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617C31nF18XTAL2 P20P21P22P23P24P25P26P279RSTR510kC133uP10P11P12P13P14P15P16P17293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51P20P21P22P23P24P25P26P27P102P114P126P1381R110kR210kR310kR410kP3235P10P112345U2:A19 P32P14P15P16P17P12P134082 图1.6

第 7 页

3.2按下5号键

按下5号键的结果如图1.7所示:

C2U11nF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617C31nF P20P21P22P23P24P25P26P27P20P21P22P23P24P25P26P27P102P114P126P138118XTAL29RSTR510kC133uP10P11P12P13P14P15P16P17293031PSENALEEAR110kR210kR310kR410k12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51P3235P10P11P12P132345U2:A1P329 4082P14P15P16P17 图1.7

第 8 页

参考文献

[1] 林立,张俊亮 . 单片机原理及应用 ____基于Proteus和keil C(第2版)[M].电子工业出版社.2013.

[2]杜树春 . 基于Proteus和keil C51的单片机设计与仿真[M].电子工业出版社.2012 [3]谭浩强 . C语言设计(第三版)[M]..北京:清华出版社.2005

第 9 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务