单片机的控制系统课程设计 第2章 设计的基本原理及硬件连接方案
2.1 4X4键盘扫描原理图
键盘按其接线方法有:直接式键盘、行列式键盘(又称矩阵键盘)、串转并键盘等;在本设计中,采用4X4的行列式键盘,即键盘排列为4行、4列,共16个按键。4×4键盘的电路图如图 1-3所示,分别定义这16个按键盘为KEY1~16。
图 2-1 4×4键盘电路图
图中C1~C4为4×4键盘的列扫描线,L1~L4为4×4键盘的行扫描线。先使行扫描线输出高电平,然后读取列扫描线的状态,得到与按键横向位置对应的4位列码;如果是有键被按下时,则对应的列扫描线必然会被读回高电平,如果是无键盘按下时,则读取的列码必定全是0(低电平)。这也就可以判断有无按键的按下了。 2.2 SPCE061A获取4×4键盘键值原理
单片机与该电路连接时,使用4个端口作为输出口,接4条行扫描线;使用4个端口作为输入口,接4条列扫描线。使用SPCE061A的IOA8~15八个端口作4×4键盘的扫描,IOA0~3接行扫描线,IOA4~7接列扫描线。
2
单片机的控制系统课程设计
IOA15 IOA14 IOA13 IOA12 SPCE061A IOA 11 IOA10 IOA9 IOA8 C1 C2 C3 C4
图 2-2 SPCE061A和4×4键盘电路连接图
L1 L2 L3 L4 4X4键盘 如上图中,IOA12~IOA15设置为输出口,接行扫描线;IOA8~IOA11设置为带下拉电阻的输入口,接列扫描线。按照4×4键盘的工作原理,先只把IOA12输出高电平,其他都输出低电平,扫描IOA8到IOA11四个输入口的值,如果每个输入口的值还是0;再把IOA13输出高电平,其他都输出低电平,扫描IOA8到IOA11四个输入口的值,如果每个输入口还没有检测到高电平;从IOA14输出高电平扫描,从IOA15输出高电平扫描,直到检测到高电平,保存扫描行值和列码。 2.3 硬件连接
硬件连接图如图 2-3,IOA0~IOA7连接和6位数码管的a~g、dp,IOA口的高八位IOA15~IOA8连接4×4键盘的L1~L4、C1~C4,IOB15~IOB12连接数码管的位信号1~4,IOB2~IOB1连接数码管的位信号5~6,IOB0连接数码管的分隔符信号DD。即把JP4、JP5的引脚全部用跳线短接起来,用一根排线连接J28和JP7,注意J27和JP7的连接顺序(连接顺序为:J27的第0号引脚连接JP7的C4引脚,J27的第7号引脚连接JP7的L1引脚)。
3
单片机的控制系统课程设计 a b c d e f g DP 6位数码管 1 2 3 4 5 6 DD IOA0 IOA1 IOA2 IOA3 IOA4 IOA15 IOA5 IOA14 IOA6 IOA13 IOA7 IOA12 SPCE061A IOB15 IOA11 IOB14 IOA10 IOB13 IOA9 IOB12 IOA8 IOB2 IOB1 IOB0 图 2-3 硬件连接图
L1 L2 L3 L4 4X4键盘 C1 C2 C3 C4 4
单片机的控制系统课程设计 第3章 软件设计方案
3.1 设计步骤
1.建立一个新工程cyd,在工程里新建C语言文件main.c。 2.拷贝并添加头文件SPCE061A.c和SPCE061A.inc到新建工程cyd。 3.按照程序流程图编写程序,如图3-1所示。
开始初始化系统 取键值 确认键按下 数字键按下且确认键没有按下 删除键按下且确认键没有按下 其他 当前显示的数确认键按下标志1 按键代表的数字显示在最右边的数码管上 字左移一位 当前显示的数字右移一位 最左边的数码管显示0 清看门狗 图 3-1 主程序流程图
4. Rebuild All。
5.根据硬件连接图连接实验箱电路。 6.下载程序到实验箱,运行。
5
相关推荐: