上次我們完成了51單片機(jī)最小開發(fā)板的制作,這次我將在這塊最小開發(fā)板上來進(jìn)行一個(gè)簡(jiǎn)單的入門實(shí)驗(yàn)——流水燈實(shí)驗(yàn)。當(dāng)你能讓LED燈按照你的想法隨意閃爍時(shí),那不只是視覺上的享受,你還會(huì)發(fā)現(xiàn)單片機(jī)是一個(gè)多么神奇的東西啊,它居然能按照人的意思來控制LED燈。這個(gè)實(shí)驗(yàn)完成后,你將會(huì)初步體會(huì)到單片機(jī)的魔力,你將因它不可自拔。趕快來開始我們的實(shí)驗(yàn)吧!
本文引用地址:http://www.ex-cimer.com/article/201611/321946.htm51單片機(jī)流水燈實(shí)驗(yàn)硬件電路設(shè)計(jì)
系統(tǒng)電路圖主要包括電源部分 晶振電路 復(fù)位電路 發(fā)光二極管(LED燈)
電路原理圖如下:
流水燈實(shí)驗(yàn)硬件電路制作
這個(gè)流水燈實(shí)驗(yàn)硬件電路的制作很簡(jiǎn)單,只需在51單片機(jī)上任選一組I/O口(這里選的是P2口)外接8個(gè)發(fā)光二級(jí)管即可。
流水燈實(shí)驗(yàn)板
51單片機(jī)流水燈實(shí)驗(yàn)實(shí)物圖
LED測(cè)試程序
delay.h
#include
void delay_ms(unsigned int factor)//延時(shí)n*1ms
{
unsigned int i,j;
for(i=factor;i>0;i--)
for(j=111;j>0;j--);//";"相當(dāng)于空語(yǔ)句,此處循環(huán)執(zhí)行空語(yǔ)句
}
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
};//將欲顯示的數(shù)據(jù)存入數(shù)組,用查表的方式實(shí)現(xiàn)流水燈
void main()
{
unsigned char i;//聲明變量i
for(;;)//反復(fù)執(zhí)行下面的語(yǔ)句
{
for(i=0;i<30;i++)
{
P2=table[i];//將欲顯示的數(shù)據(jù)送入端口寄存器P2
delay_ms(500);//延時(shí)500ms
}
}
}
評(píng)論