中断扫描法行列式键盘.doc_第1页
中断扫描法行列式键盘.doc_第2页
中断扫描法行列式键盘.doc_第3页
中断扫描法行列式键盘.doc_第4页
中断扫描法行列式键盘.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中断扫描法行列式键盘设计报告院 系:班 级:学 号:姓 名:指导老师:目录1 芯片功能及简介21.1 80C51单片机引脚简介21.1.1 电源引脚(2个)31.1.3 控制引脚(4个)31.1.4 输入/输出引脚(32个)31.2 七段LED数码管工作原理41.3 4082的使用与功能42 中断及行列式键盘设计42.1 硬件电路设计42.1.1 设计思路42.1.2 设计电路图52.2 源程序设计62.2.1 设计思路62.2.2 源代码63 中断及行列式键盘设计最终效果73.1开始进入调试阶段73.2按下5号键8参考文献9中断扫描法行列式键盘甘肃省庆阳市陇东学院摘要:中断扫描法行列式键盘中的中断是在键盘按下时才执行键盘扫描程序,如果没有键盘按下,则将键盘视为不存在。行列式键盘的检测可采用软件扫描查询法进行,即根据按键压下后所在行线的端口电平是否出现反转,判断有无按键闭合动作。如果有按键操作根据给该键赋予的键码在数码管上显示相应的0f中的任一数字。该设计电路中还增加了一个型号为4082的4与门集成元件。当各电平都为0时,无论压下哪个按键,与门的输出端都可形成INT0的中断请求信号。这样便可以将按键的扫描查询工作放在中断函数中进行,从而就能达到既快速响应按键动作,又提高CPU工作效率的目的。关键词:中断;行列式键盘;80C51;数码管1 芯片功能及简介1.1 80C51单片机引脚简介80C51单片机共有40个引脚,其中有2个是电源引脚,2个外接晶体振荡器引脚,4个控制引脚,还有4个端口(P0P3),即32个输入/输出引脚。80C51的封装如图1.1下: 图1.1 图1.21.1.1 电源引脚(2个)v Vcc(40脚):电源端,接+5V电源。v Vss(20脚):接地端。 1.1.2 外接晶振引脚(2个) v XTAL1(19脚)和XTAL2(18脚):接石英晶体振荡器。1.1.3 控制引脚(4个)v RST(9脚):复位信号引脚。当石英晶体振荡器运行时,在此脚上出现两个机器周期的高电平,使单片机复位。v ALE/PROG(30脚):地址锁存允许信号端。当访问外部存储器时,ALE(允许地址锁存)的输出用于锁存地址的低8位。当不访问外部锁存器时,ALE端仍以不变的频率周期性地输出脉冲信号,此频率为石英晶振振荡频率的1/6。因此它可用作对外输出的时钟或用于定时。v PSEN(29脚):外部存储器的读选通信号端。在读外部(ROM)时PSEN有效,以实现对外部程序存储器的读操作。v EA/VPP(31脚):访问程序存储器选择控制信号。当EA信号接低电平时,对ROM的读操作限定在外部程序存储器;当EA接高电平时,对ROM的读操作从内部开始。1.1.4 输入/输出引脚(32个)v P0端口:P0.0P0.7(3239脚)在外部扩充存储器时,可用作数据总线或地址总线,但内部无上拉电阻;不扩充时,可用作一般I/O端口使用,当作为输入或输出时应在外部接上拉电阻。v P1端口:P1.0P1.7(18脚)只做I/O使用,其内部有上拉电阻。v P2端口:P2.0P2.7(2128脚)用作一般I/O使用,其内部有上拉电阻。在扩充外部存储器时,也可当作地址总线使用。v P3端口:P3.0P3.7(1017脚)除了用作I/O使用外还有一些特殊功能,也称第二功能。1.2 七段LED数码管工作原理这种显示器分为共阴极和共阳极两种:共阳极LED数码管的所有阳极连接在一起,为公共端;共阴极LED 显示器的发光二极管的所有阴极连接在一起,为公共端。单个数码管的引脚配置如图1.2所示,其中com为公共端。本篇文章借助共阴极数码管进行说明。1.3 4082的使用与功能4082为4与门集成元件。4082的装载形式如图1.3所示: 图1.3当各电平都为0时,无论压下哪个按键,与门的输出端都可形成INT0的中断请求信号。这样便可以将按键的扫描查询工作放在中断函数中进行,从而就能达到既快速响应按键动作,又提高CPU工作效率的目的。2 中断及行列式键盘设计2.1 硬件电路设计2.1.1 设计思路 返回 开始 扫描4次 P3键扫描码(P3&0F)=0f? 键值=0f 查找按下键键值 键值=-1 图1.42.1.2 设计电路图图1.52.2 源程序设计2.2.1 设计思路本次实验要经过外部中断实现数码管的数值变化,所以外部中断0的中断触发方式控制位(IT0)置1;外部中断允许位(EX0)置1;中断允许总控制位(EA)置1。2.2.2 源代码#includechar 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;i4;i+) P1=key_scani; for(j=0;j16;j+) if(key_bufj=P1) P2=led_modj; break; void main(void) P2=0x00; IT0=1; EX0=1; EA=1; while(1) P1=0x0f; 3 中断及行列式键盘设计最终效果3.1开始进入调试阶段刚进入调试阶段的结果如图1.6所示: 图1.63.2按下5号键按下5号键的结果如图1.7所示: 图1.7第 7 页参考文献1 林立,张俊亮 . 单片机原理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论