1、 1 单片机课程设计单片机课程设计 单片机单片机 4*44*4 矩阵式键盘矩阵式键盘 系别:系别:信息工程系信息工程系 班级:班级:1010 电信本电信本 姓名:姓名: 学号:学号: 2 1.1.课程设计的目的和要求课程设计的目的和要求 1.11.1 设计目的设计目的 熟练掌握 51 小系统开发应用;加强单片机的综合运用能力、提高单片机的件编程和调 试能力, 为以后的学习和开发工作打下强劲基础; 掌握 AT89C51 芯片模块的工作原理及应用 设计;掌握 4*4 矩阵键盘的工作原理及应用设计;掌握小系统开发设计的流程及设计思路; 提高分析问题,解决问题能力,提高实践动手能力。 1.21.2 课
2、程设计题目描述和要求课程设计题目描述和要求 题目:单片机题目:单片机 4*4 矩阵式键。矩阵式键。 1.3、电路硬件说明、电路硬件说明 (1)在“单片机系统”区域中,把单片机的 P3.0P3.7 端口通过 8 联拨动拨码开关 JP3 连 接到“44 行列式键盘”区域中的 M1M4,N1N4 端口上。 (2)在“单片机系统”区域中,把单片机的 P0.0P0.7 端口连接到“静态数码显示模块”区 域中的任何一个 ah 端口上;要求:P0.0 对应着 a,P0.1 对应着 b,P0.7 对应着 h。 2.2.总体方案的设计总体方案的设计 2.1 矩阵式键盘识别程序流程图矩阵式键盘识别程序流程图 4*
3、4 阵列式键盘识别程序流程图如图所示,控制器采用单片机 AT89C51 图 2-1 4*4 矩阵式键盘识别程序流程图 740)this.width=740“ border=undefined 2-1-2 4*4 矩阵式键盘 O-F 显示 2.2 单片机 A T89C51 硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式,以适应不同产品的 需求 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器, 器件采用 ATMEL 公
4、司的高密 3 度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 89C51 引脚结构,芯片内集成了 通用 8 位中央处理器和 ISP Flash 存储单元, 功能强大的微型计算机的 AT89S51 可为许多嵌 入式控制应用系统提供高性价比的解决方案。 AT89C51 具有如下特点: 40 个引脚如图 2-2, 4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中 断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片 内时钟振荡
5、器。 此外,AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空闲模 式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结 振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或。 图 2-2 AT89C51 管脚图 3.3.系统硬件电路设计系统硬件电路设计 3.13.1 主板电路主板电路 系统整体单片机 4*4 矩阵式键盘主板电路,如图 3-1 所示 4 图 3-1 4*4 矩阵式键盘主板电路 3-2.实物作品: (如图 3-2) 图 .3-2 3-3.程序设计内容程序设计内容 (1)4 4 矩阵键盘识别处理 。 (2)
6、 每个按键都有它的行值和列值, 行值和列值的组合就是识别这个按键的编码。 矩阵的 行 线和列线分别通过两并行接口和 CPU 通信。键盘的一端(列线)通过电阻接 VCC,而接地 是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键 按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫 描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成 键编码而识别按键,通过软件查表,查出该键的功能。 5 4.4.源程序源程序 /*主程序*/ 4-1 .汇编源程序: KEYBUF EQU 30H ORG 00H START: MOV KEYBUF,#2 WAIT: MOV P3,#0FFH CLR P3.4 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DE