微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机流水灯实验

51单片机流水灯实验

时间:11-26 来源:互联网 点击:
上次我们完成了51单片机最小开发板的制作,这次我将在这块最小开发板上来进行一个简单的入门实验——流水灯实验。当你能让LED灯按照你的想法随意闪烁时,那不只是视觉上的享受,你还会发现单片机是一个多么神奇的东西啊,它居然能按照人的意思来控制LED灯。这个实验完成后,你将会初步体会到单片机的魔力,你将因它不可自拔。赶快来开始我们的实验吧!

51单片机流水灯实验硬件电路设计

系统电路图主要包括电源部分 晶振电路 复位电路 发光二极管(LED灯)

电路原理图如下:

流水灯实验硬件电路制作

这个流水灯实验硬件电路的制作很简单,只需在51单片机上任选一组I/O口(这里选的是P2口)外接8个发光二级管即可。

流水灯实验板

51单片机流水灯实验实物图

LED测试程序

delay.h

#include

void delay_ms(unsigned int factor)//延时n*1ms

{

unsigned int i,j;

for(i=factor;i>0;i--)

for(j=111;j>0;j--);//";"相当于空语句,此处循环执行空语句

}

main.c

#include//包含自己定义的头文件

unsigned char table[30]={0xfe,0xfb,0xef,0xbf,0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xf8,0x1f,0xf8,

0x1f,0xaa,0x55,0xaa,0x55,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0xff

};//将欲显示的数据存入数组,用查表的方式实现流水灯

void main()

{

unsigned char i;//声明变量i

for(;;)//反复执行下面的语句

{

for(i=0;i<30;i++)

{

P2=table[i];//将欲显示的数据送入端口寄存器P2

delay_ms(500);//延时500ms

}

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top