预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程名称:单片微型计算机原理及接口技术实验类型:验证型 实验项目名称:按键接口实验 一、实验目的和要求 1、熟悉单片机简单按键的接口方法。 2、掌握按键扫描及处理程序的编辑方法和调试方法。 二、实验内容和原理 ******************************************************** 实验程序8.1 用单片机P2.0~P2.2端口的3个按键分别控制P1.0~P1.3 端口的3个LED小灯的亮与灭 12MHz晶振 ******************************************************** KEYSW0EQUP2.0;按键0 KEYSW1EQUP2.1;按键1 KEYSW2EQUP2.2;按键2 LED0EQUP1.2;LED小灯0 LED1EQUP1.1;LED小灯1 LED2EQUP1.2;LED小灯2 ;*************; ;主程序入口; ;*************; ; ORG0000H;程序执行开始地址 LJMPSTART;跳至START执行 ;*********; ;主程序; ;*********; START:MOVP2,#0FFH;置P2口为输入状态 KLOOP:JNBKEYSW0,KEY0;读KEYSW0口,若 为0转KEY0 JNBKEYSW1,KEY1KEYSW1口,若 为0转KEY1 JNBKEYSW2,KEY2;读KEYSW2口,若 为0转KEY2 AJMPKLOOP;子程序返回 ;0键处理程序 KEY0:LCALLDL10ms;延时10ms消抖 JBKEYSW0,KLOOP;KEYSW0为1,程 序返回(干扰) CPLLED0;开LED0灯 WAIT0:JNBKEYSW0,WAIT0;等待键释放 LCALLDL10ms;延时消抖 JNBKEYSW0,WAIT0; AJMPKLOOP;返回主程序 ;1键处理程序 KEY1:LCALLDL10ms;延时10ms消抖 JBKEYSW1,KLOOP;KEYSW1为1,程 序返回(干扰) CPLLED1;开LED1灯 WAIT1:JNBKEYSW1,WAIT1;等待键释放 LCALLDL10ms;延时消抖 JNBKEYSW1,WAIT1; AJMPKLOOP;返回主程序 ;2键处理程序 KEY2:LCALLDL10ms;延时10ms消抖 JBKEYSW2,KLOOP;KEYSW2为1,程 序返回(干扰) CPLLED2;开LED2灯 WAIT2:JNBKEYSW2,WAIT2;等待键释放 LCALLDL10ms;延时消抖 JNBKEYSW2,WAIT2; AJMPKLOOP;返回主程序 :***********; 延时程序; :***********; ;约0.5ms延时子程序,执行一次时间为513 DL512:MOVR2,#0FFH LOOP1:DJNZR2,LOOP1 RET ;约10MS延时子程序(调用20次0.5ms延时子程序) DL10ms:MOVR3,#14H LOOP2:LCALLDL512 DJNZR3,LOOP2 RET END;程序结束 三、主要仪器设备 计算机(已安装单片机汇编编译软件及Proteus软件)。 四、操作方法和实验步骤 用单片机P2.0~P2.2端口的3个按键分别对应控制P1.0~P1.3端口的3个 LED小灯的亮与灭。 1、根据硬件电路原理图,画出实际接线图。 2、根据试验任务设计相应的调试程序。独立列式按键查询实验的仿真硬件 电路如图5.2所示。 3、阅读掌握Wave、Madwin、Keil-51等编译软件的使用方法。 仿真实验硬件电路 按键接口实验的Proteus仿真实验硬件电路如图8.1所示。 思考与提高 修改按键功能,使得第一个键按下8个灯全亮,第二个键按下偶数灯全亮,第 三个键按下流水灯点亮8个灯,第四个键按下全灭 0003