单片机实验3 指导

更新时间:2023-10-04 12:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验3 按键 K1-K4 分组控制LED

目标功能: K1按下时递增点亮一只LED,全亮后再次按下则再次循环开始, K2按下后点亮上面4只LED,

K3按下后点亮下面4只LED, K4按下后关闭所有LED。

每位同学单独要求提交实验报告,内容包含:

1 实验步骤 2 Debug步骤

3 附电路图运行结果截图 4 程序详细注释

5 实验报告命名规则 : “学号后四位” + “K1-K4 分组控制LED”.doc

参考电路图

参考程序:

#include

#define uchar unsigned char #define uint unsigned int //延时

void DelayMS(uint x) { uchar i; while(x--) for(i=0;i<120;i++); } //主程序 void main() { uchar k,t,Key_State; P0=0xff; P1=0xff; while(1) { t=P1; if(t!=0xff) { DelayMS(10); if(t!=P1) continue;

//取得4位按键值,由模式XXXX1111(X中有一位为0,其他均为1) //变为模式0000XXXX(X中有一位为1,其他均为0) Key_State=~t>>4; k=0;

//检查1所在位置,累加获取按键号k while(Key_State!=0) { k++; Key_State>>=1; }

//根据按键号k进行4种处理 switch(k) { case 1: if(P0==0x00) P0=0xff; P0<<=1; DelayMS(200); break; case 2: P0=0xf0;break; case 3: P0=0x0f;break; case 4: P0=0xff;

}

}

}

}

课后作业:

自行复习汇编语言, 用汇编实验相同功能(可参考教材第二章程序)。 下周一将保存好的项目文件带到实验室,检查。

本文来源:https://www.bwwdw.com/article/6jad.html

Top