《单片微型计算机原理及接口技术》按键接口实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片微型计算机原理及接口技术》按键接口实验报告课程名称:单片微型计算机原理及接口技术实验类型:验证型实验项目名称:按键接口实验
一、实验目的:
1、熟悉单片机简单按键的接口方法。
2、掌握按键扫描及处理程序的编辑方法和调试方法。
二、Proteus仿真实验硬件电路
按键接口实验的Proteus仿真实验硬件电路如图8.1所示。
三、实验任务
用单片机P2.0~P2.2端口的3个按键分别对应控制P1.0~P1.3端口的3个LED小灯的亮与灭。
四、实验预习要求
1、根据硬件电路原理图,画出实际接线图。
2、根据试验任务设计相应的调试程序。
独立列式按键查询实验的仿真硬件电路如图5.2所示。
3、阅读掌握Wave、Madwin、Keil-51等编译软件的使用方法。
4、完成预习报告。
五、实验设备
计算机(已安装单片机汇编编译软件及Proteus软件)。
六、实验报告要求
整理好实验任务1~2中经Proteus运行正确的程序。
实验八独立按键参考汇编程序
;********************************************************;
;实验程序8.1 ;
;用单片机P2.0~P2.2端口的3个按键分别控制P1.0~P1.3 ;
;端口的3个LED小灯的亮与灭;
; 12MHz晶振;
;*********************************************************;
;
KEYSW0 EQU P2.0 ;按键0
KEYSW1 EQU P2.1 ;按键1
KEYSW2 EQU P2.2 ;按键2
LED0 EQU P1.2 ;LED小灯0
LED1 EQU P1.1 ;LED小灯1
LED2 EQU P1.2 ;LED小灯2
;*************;
;主程序入口;
;*************;
;
ORG 0000H ;程序执行开始地址
LJMP START ;跳至START执行
;*********;
;主程序;
;*********;
START: MOV P2,#0FFH ;置P2口为输入状态KLOOP: JNB KEYSW0,KEY0 ;读KEYSW0口,若为0转KEY0 JNB KEYSW1,KEY1 ;读KEYSW1口,若为0转KEY1 JNB KEYSW2,KEY2 ;读KEYSW2口,若为0转KEY2 AJMP KLOOP ;子程序返回
;0键处理程序
KEY0:LCALL DL10ms ;延时10ms消抖
JB KEYSW0,KLOOP ;KEYSW0为1,程序返回(干扰)
CPL LED0 ;开LED0灯
WAIT0:JNB KEYSW0,WAIT0 ;等待键释放
LCALL DL10ms ;延时消抖
JNB KEYSW0,WAIT0 ;
AJMP KLOOP ;返回主程序
;1键处理程序
KEY1:LCALL DL10ms ;延时10ms消抖
JB KEYSW1,KLOOP ;KEYSW1为1,程序返回(干扰)
CPL LED1 ;开LED1灯
WAIT1:JNB KEYSW1,WAIT1 ;等待键释放
LCALL DL10ms ;延时消抖
JNB KEYSW1,WAIT1 ;
AJMP KLOOP ;返回主程序
;2键处理程序
KEY2:LCALL DL10ms ;延时10ms消抖
JB KEYSW2,KLOOP ;KEYSW2为1,程序返回(干扰)
CPL LED2 ;开LED2灯
WAIT2:JNB KEYSW2,WAIT2 ;等待键释放
LCALL DL10ms ;延时消抖
JNB KEYSW2,WAIT2 ;
AJMP KLOOP ;返回主程序
:***********;
;延时程序;
:***********;
;约0.5ms延时子程序,执行一次时间为513s
DL512:MOV R2,#0FFH
LOOP1:DJNZ R2,LOOP1
RET
;约10MS延时子程序(调用20次0.5ms延时子程序)
DL10ms:MOV R3,#14H
LOOP2: LCALL DL512
DJNZ R3,LOOP2
RET
END ;程序结束
七、思考与提高
1修改按键功能,使得第一个键按下8个灯全亮,第二个键按下偶数灯全亮,第三个键按下流水灯点亮8个灯,第四个键按下全灭
答:
(汇编代码如所示)
(仿真结果如图所示)
2在第一个程序基础上加一位显示,按键按下后能显示按键的键码
答:
(汇编代码如图所示)
(仿真结果如图所示)
3在第一个程序基础上加四位显示,按键按下后能显示按键的键码如0003 答:
(汇编代码如图所示)
(仿真结果如图所示)
八、讨论和心得。