实验六 按键与指示灯
实验目的
1.掌握按键的控制原理与编程方法。
2.进一步学习MCS-51单片机的输入输出方法。
3.掌握延时程序的编写和应用,提高汇编语言调试能力。
实验电路图:
键盘布局:
排阻1接口2345678 实验设备
1. PC机
2. 伟福仿真器(V5/S)
3. 单片机实验板一套
实验预备知识
简单的按键控制灯例子:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV P1,#0FFH ;P3口做输出,先置1
LOOP: JNB P1.0,LO0 ;1键按下?转lO0
JNB P1.1,LO1 ;2键按下?转lO1
MOV P2,#0FFH ;无键按下
AJMP LOOP
LO0: MOV P2,#55H
AJMP LOOP
LO1: MOV P2,#0AAH
AJMP LOOP
END
实验内容
1.8个控制按键,8个指示灯。按下一个按键,对应的指示灯点亮。(书上P61页2.3)
2.简单模拟洗衣机按键和指示灯的功能:按下功能选择键(1号键)一次,DS1闪烁,表示快洗;按下1号键二次,DS2闪烁,表示慢洗;按下1号键三次,DS3闪烁,表示浸
泡洗;再按下1号键,恢复初始状态;再按下1号键,又使DS1闪烁了,如此循环。
思考与讨论
1、 用RET指令可以返回到主程序中,如果用短跳转指令SJMP 或长跳转指令LJMP跳回到主程序不可以吗?它们有什么区别呢?
2、 如何实现按键去抖动?