您的位置:首页单片机PIC单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

按键扫描的实验

[日期:2008-01-27 ] [来源:网络 作者:佚名] [字体: (投递新闻)
本次的实验,使用9个按钮作为输入,并以一个数码管作为输出。当我们没有按一下任何按钮时,数码管会显示出"0"的字样;而输入的9个按钮,则分别对应阿拉伯数字的1到9。
1. 目的
□电路上,学习如何用7447译码器来显示数码管。
□程序上,学习写出一个程序,来避免接收到按键抖动的杂讯输入。
2. 材料
 
3. 电路

图5-12 原理图

4. 实照

图5-13 实照

5. 步骤
1. 首先连接PIC的基本操作电路:
□将Vcc与MCLR引脚接上+5V,Vss引脚接上+0V。
□将石英振荡器的两个引脚,分别接上PIC的OSC1、OSC2引脚。
□将两个电容的其中一个电容,一脚接OSC1、另一脚接+0V,而另外一个电容,则是一脚接OSC2,另一脚与前一个电容的作法一样,接+0V。
2. 再来连接数码管的电路
□将7447的Vcc接+5V,Vss(或叫GND)接+0V。
□在这次的应用中,将7447的引脚RBINPUT(PBI)、RBOUTPUT(RB0)、
LAMP TEST(LT)都接+0V。
□7447的1、2、4、8输入引脚对应PC的端口A连接,如表5-11所示。
表5-11 7447输入引脚与PIC RA的对应情况
PIC16C54 RA3 RA2 RA1 RA0
74LS47 8 4 2 1
7447剩下A、B、C、D、E、F、G七个输出引脚,则是与共阳型的数码管连接,但在接上前必须串接班人220Ω的电阻。(数码管引脚请参考实验5-4的数据)
3.最后接上键盘电路:
□安放47kΩr的排阻,并将其共地点接+5V。
□从排阻的引脚上引出三条线来,分别和PIC的RC0、RC1、RC2的连接。
□每个按钮都有两个引脚。将按钮的其中一个脚,接到上个步骤的引线,每条引线接三个按钮,三条引线共有九个按钮,此时九个按钮的另一脚都尚未连接。
□将按钮未连接的引脚,每三个三个短接在一起,但是短接的三个按钮不可以是来自同一引线的。
□短接的结果剩下三条线,将这三条线,分别接上PIC的RC4、RC5、RC6引脚,即告完成。

6. 流程

图5-14 流程图

7. 程序
□标号说明
·RESET:起始程序的进入点
·ZERO;显示"00"操作的进入点
·SCAN:首次扫描默认的进入点
·RE-SCAN:重复扫描操作的进入点
·WAIT-KEY:等待按钮被按下的程序进入点
·CANCAN:读值循环,有键按下才能跳出
·DISP:显示程序的进入点
·OSCAN:等待按钮被放开的程序进入点
·OAK:读值循环,按钮全放才能跳出
·JSCAN:细致确认按钮被放开的进入点
·JAK:列判断未结束前的重复进入点
·DELAY-15MS:延时子程序,请参照实习先例
·DELAY1:延时子程序,请参照实习先例
·DELAY1:延时子程序,请参照实习先例
·TABLE:查表子程序的进入点

□寄存器使用配置情形
·F2:程序计数器,查表子程序中使用
·F3:提供运算后的标志位以供程序判断
·F5:输出显示用的BCD码给7447
·F7:扫描并输入按钮值用
·F28:延时用,请参照实习先例
·F29:延时用,请参照实习先例
·F30:按钮值保存处
·F31:扫描输出值保存处


阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐