实验目的: 理解并掌握 led 灯的点亮原理; 模块连接图:
电路原理图:
电路原理:将8位流水灯LED1——LED8的阴极与单片机的I/O口P1端口相连,当单片机P1端口相应的位赋低电平时,LED灯被点亮
实验源码:使用单片机的P1口做输出口,依次全部点亮8位发光二极管。
#include "reg51.h" //包含头文件
sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char
#define uint unsigned int //延时函数
//************************************************************************************************** delay(uint time) //int型数据为16位,所以最大值为65535
{ uint i,j; //定义变量i,j,用于循环语句 for(i=0;i<time;i++) //for循环,循环50*time次 for(j=0;j<50;j++); //for循环,循环50次 } //**************************************************************************************************
//主函数 //************************************************************************************************** void main() //主函数 { uchar i,j; //定义变量i,j; while(1) //进入while死循环 { j=0xfe; //0xfe即为二进制1111 1110,即最低位为0,其他位为1 for(i=0;i<8;i++) //进入for循环,循环8次 { P1=j; //依次点亮8位LED delay(5000); //延时,修改延时即可修改时间间隔 j<<=1; //j左移1位,j<<=1等效于j=j<<1 } } }
|
|