1、 电子信息工程专业 单片机课程设计报告 题 目 键盘显示模块 姓 名 学 号 班 级 指导教师 2010 年 6 月 30 日 课程设计任务书课程设计任务书 课程设计题目 键盘显示模块 课程设计起止日期 6 月 13 日 至 6 月 30 日 实习地点 实验楼 106 课程设计内容与要求(包括:设计任务及要求、设计原理、所需仪器设备、验收标准) (一)设计任务及要求 及格:键盘能识别并能显示键号,即按不同的键后能在对应的位置显示按键的值。 中:能实现按键后能从左到右移动显示。 良:应用单片机定时器完成时钟设计,并能动态循环显示时、分、秒。 优:在良的基础之上,能够对时间进行校准。 (二)设计原
2、理 利用单片机扫描键盘来确定行列式 2*2 键盘是否有键按下,若有键按下则判断是 哪个键按下然后在数码管相应位置输出。 (三)所需仪器设备 单片机最小系统 pc 机、伟福仿真器、电源、导线若干 指导教师 田悦新 2010 年 6 月 30 日 课程设计报告课程设计报告 一、设计原理与技术方法: 包括:电路工作分析原理与原理图、元器件选择、电路调试方法与结果说明; 软件设计说明书与流程图、软件源程序代码、软件调试方法与运行结果说明。 1 1 电路原理图见附录电路原理图见附录 2 2 电路工作分析电路工作分析 1) 键盘工作电路:键盘为 2*2 的键盘,与单片机的 p1.3-p1.6 口连接。工作
3、时先判断有无键按 下,检查行输出是否由高电平变成低电平。然后再判断是哪个键按下。最后在相应的位置输 出对应的信息。 2) 数码管显示电路:数码管有四个,前面和一个 373 锁存器相连,用来锁存显示信息。373 通 过一个 138 三八译码器连接在单片机的 p2 口, 其地址可以算出为 6000H, 数码管 COM1, COM2, COM3,COM4,也通过 138 译码器和单片机的 p2 口相连,地址分别为 8000H,0A000H,0C000H, 0E000H。数码管显示相应键按下的信息,单片机读入键盘的状态,锁存于 373 中,然后输出 在数码管中。数码管显示时钟,单片机内部的定时器来完成
4、时钟设计在数码管中显示出来。 3.3.元器件选择、电路调试方法与结果说明元器件选择、电路调试方法与结果说明 1)元器选择:74ls138、74ls373、74ls138、74ls04、74ls02、74ls08、数码管、2*2 键盘、晶 振、电阻、电容、二极管等。 2)电路调试与结果说明:首先焊接电路,然后再接好电源,如果电源指示灯亮,其他灯不亮且 芯片没有太烫的说明电路板焊接良好,且芯片连接正确。 4.4.软件设计说明书与流程图软件设计说明书与流程图 1)软件设计说明书: 及格和中的软件设计:第一步判断有无键按下,判断有键按下的依据时键盘行线电平是否由 高变底了, 判断出有键按下时要调用延时
5、程序来排除键盘抖动的干扰。 第二步判断是哪个键按下, 判断哪个键按下时是先置高其中一条列线再拉底另一条列线,这样当行列线电平都是底电平是则 选中对应的键。第三步,在数码管上相应的位置显示,将键盘按下键的键号放到锁存器中存放, 再送如数码管中显示。 良和优的的软件设计:先利用单片机内部的定时器来完成时钟设计,具体软件设计见流程图, 然后在数码管上滚动显示时钟。最后利用键盘来校准时钟。 2)流程图及软件源程序代码 及格的程序流程图为图 1 图 1 及格的程序流程图 及格的程序: ORG 0000H LJMP KEY1 ORG 0100H KEY1:ACALL KS1 ;判断是否有键按下子程 CJN
6、E A,#18H,LK1 ;A 与 18H 不相等时有键按下,跳判键子程序 ACALL LKP ;调用显示程序,延时 AJMP KEY1 ;再判断 LK1:ACALL DELAY ;可能有键按下,延迟 10ms 软件去抖 ACALL KS1 ;调用判有无键闭合子程序 CJNE A,#18H,LK2 ;经去抖动,判断确实有键闭合,跳 LK2 去处理 AJMP KEY1 ;抖动引起,跳 KEY1 LK2:CLR P1.5 ;先判断第一列有无键按下 SETB P1.6 MOV A,P1 JB ACC.3,LINE1 ;P1.3 为高电平,转 LONE1 去处理 MOV R0,#01H ;一号键被按下,R0 置 1 AJMP LK3 调用延时子程序去抖 N