MoⅴSBUF,A INC DPTR JNB TI, CLR TI DJNZ RO, AGAIN LCALL DELAYTIME DJNZ Rl, RECYCLE SJMP XX DELAYTIME MOV TMOD #01H moV R3. #20 EMPTR: MOV THO. #4CH MOV TLO. #O CLR TFO SETB TRO JNB TFo, CLR TRO CLR TFO DJNZ R3, EMPTR RET
16 MOV SBUF,A INC DPTR JNB TI,$ CLR TI DJNZ R0,AGAIN LCALL DELAYTIME DJNZ R1,RECYCLE SJMP XX DELAYTIME: MOV TMOD,#01H MOV R3,#20 EMPTR:MOV TH0,#4CH MOV TL0,#0 CLR TF0 SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R3,EMPTR RET
TABLE DB OEOH. OBEH. OB6H 66H 0.0.0.0 DB OEOH. OBEH. OB6H. 66H. 0F2H ODAH 60H OFCH DB8EH,9EH,7AH,9CH,0,0,0,0 db eH. 9eH 7ah 9cH. 3EH oEEH. OE6H OFEH END 十一、分析总结: 该程序主要运用了74LS164芯片的串入串出的功能来实现显 示的功能。并使用了延时子程序,人眼的分辨时差能力是20ms, 所以我们用了延时以便人们能看得更清楚一些。而且用了延时去 抖以免在按键时别的键也有抖动
17 TABLE: DB 0E0H,0BEH,0B6H,66H,0,0,0,0 DB 0E0H,0BEH,0B6H,66H,0F2H,0DAH,60H,0FCH DB 8EH,9EH,7AH,9CH,0,0,0,0 DB 8EH,9EH,7AH,9CH,3EH,0EEH,0E6H,0FEH END 十一、分析总结: 该程序主要运用了 74LS164 芯片的串入串出的功能来实现显 示的功能。并使用了延时子程序,人眼的分辨时差能力是 20ms, 所以我们用了延时以便人们能看得更清楚一些。而且用了延时去 抖以免在按键时别的键也有抖动
4、基于反转法的键盘LED显示接口 设计任务:利用反转法设计一个键盘显示系统 设计要求 当按下键盘上的某一个键时在LED显示器上显示出所按下的键 反转法无论被按键是处于第一列或是最后一列均只须经过两步便能 获得此键所在的行列值 第一步将行线编程为输入线列线编程为输出线,并使输出线输出为 全零电平,则行线中电平有高到低所在行为按键所在行 第二步:同第一步完全相反,将行线编程为输入线,并使输出线输出为 全零电平则列线中电平由高到低所在列为按键所在列 综合一,二两步的结果,可确定按键所在行和列从而识别出所按的键 三、设计器材:单片机,万用表,仿真机等 四、元件清单:按键若干个,14495若干个、74LS573若干个、 74LS245若干个 五、完成时间:一周。 六、评分标准: 满分 完成任务的提出和论证 10 要}元成硬件的制作 15 求[完成软件的编程 成硬件和软件的调试 10 报完成原理图的设计 10 完成程序的编写 结 10
18 4、基于反转法的键盘 LED 显示接口 一、设计任务:利用反转法设计一个键盘显示系统 二、设计要求: 当按下键盘上的某一个键时,在 LED 显示器上显示出所按下的键. 反转法:无论被按键是处于第一列或是最后一列,均只须经过两步便能 获得此键所在的行列值. 第一步:将行线编程为输入线,列线编程为输出线,并使输出线输出为 全零电平,则行线中电平有高到低所在行为按键所在行. 第二步:同第一步完全相反,将行线编程为输入线,并使输出线输出为 全零电平,则列线中电平由高到低所在列为按键所在列. 综合一,二两步的结果,可确定按键所在行和列,从而识别出所按的键. 三、设计器材:单片机,万用表,仿真机等。 四、元件清单:按键若干个,14495 若干个、74LS573 若干个、 74LS245 若干个 五、完成时间:一周。 六、评分标准: 项目 满分 基 本 要 求 完成任务的提出和论证 10 完成硬件的制作 15 完成软件的编程 25 完成硬件和软件的调试 10 报 告 完成原理图的设计 10 完成程序的编写 20 总结 10
七、原理:第一步:将行线编程为输入线列线编程为输出线,并使输 出线输出为全零电平,则行线中电平有高到低所在行为按键所在行 第二步:同第一步完全相反,将行线编程为输入线,并使输出线输出为 全零电平,则列线中电平由高到低所在列为按键所在列 综合一,二两步的结果,可确定按键所在行和列从而识别出所按的键 八、原理图(见图纸 九、流程图 初始化堆栈 判断第几行有键按下 清显示缓冲区 判断第几列有键按下 调显示子程序 综合行和列判断具体的是哪键按 调键盘子程序 按下标志=1? 将键号串行送入显示缓冲区 十、参考程序:
19 七、原理:第一步:将行线编程为输入线,列线编程为输出线,并使输 出线输出为全零电平,则行线中电平有高到低所在行为按键所在行. 第二步:同第一步完全相反,将行线编程为输入线,并使输出线输出为 全零电平,则列线中电平由高到低所在列为按键所在列. 综合一,二两步的结果,可确定按键所在行和列,从而识别出所按的键. 八、 原理图(见图纸) 九、流程图 十、参考程序: 开 始 初 始 化 堆 栈 清显示缓冲区 调显示子程序 调键盘子程序 按下标志=1? 将键号串行送入显示缓冲区 开 始 判断第几行有键按下 判断第几列有键按下 综合行和列判断具体的是哪键按 下