文档介绍:单片机原理及应用
学院 计算机与电子信息学院
专业 电子信息工程 班级 电信11 -班
姓名 学号 110340301
指导教师 左 敬 龙
实验报告评分:_______
实验1 流水灯实验
实验原理及电路
单片机通过P0、P1口来分别控制8个LED灯,为了使它产生流水灯的效果,必须要对每个LED灯进行有规律的控制。所以就要通过对P0、P1口进行赋值,来实现流水灯效果。P0口的8个LED灯就相当于8位二进制,也可以用两位十六进制来代替,这样就会显得简洁、明亮。根据不同的实验板,要使得LED灯亮起来,可能有些高电平有效,有些是低电平有效。所以对P0、P1口进行编码是就需要注意。而我的实验板是低电平有效的,换句话说也就是0代表亮、1代表灭。接下来就要分别对P0、P1口进行编码,由于闪烁的方式比较多,为了使别人看起来简单、易懂,我就使用数组的方式来进行编码。所需的代码编好之后,接下来还需要一个延时函数,其作用是控制每个LED灯亮的时间长短。最后还要一个While语句使得P0P1口的编码不停地循环执行,这样就可以使得LED灯无间断地有规律地闪烁起来。
电路原理图
功能说明
该流水灯一共有种闪烁方式:第一种:两个两个轮流闪亮(从P0^0、P0^1开始);第二种:一个一个轮流闪亮直到最后一个然后接着又倒流回来(从P0^0开始);
第三种:P0、P1口各三个轮流闪亮直到最后然后全亮全灭2次接着倒流回来(从P0^0-2、P1^0-2开始);第四种:一个接一个亮起来直到全亮然后一个接一个熄灭直到全灭,之后全亮全灭3次。
实验框图
四、 实验代码
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code pattern_P0[]=
{ 0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0xff,0x00,0xff,0x00,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00