|
慢慢學(xué),加油!
單片機(jī)I/O口實(shí)驗(yàn)
利用單片機(jī)及8個(gè)LED發(fā)光二極管,制作一個(gè)單片機(jī)控制的流水燈。單片機(jī)的P2.0~P2.7腳接有8個(gè)LED發(fā)光二極管。運(yùn)行程序,單片機(jī)控制8個(gè)發(fā)光二極管依次流水逐個(gè)點(diǎn)亮,反復(fù)循環(huán)。可對(duì)本實(shí)驗(yàn)進(jìn)行改進(jìn),增加一個(gè)按鍵接到某一個(gè)I/O口線,按一下實(shí)現(xiàn)流水燈的停止。再按一下,實(shí)現(xiàn)流水燈的重新顯示。
單片機(jī)源程序如下:
- #include "reg52.h"
- #include "intrins.h" //調(diào)用移位函數(shù)
- #define uint unsigned int
- #define uchar unsigned char
- sbit k1=P3^2;//k1連接P3^2口
- void delay()//定義一個(gè)延時(shí)函數(shù)
- {
- uint x,y;
- for(x=0;x<255;x++)
- for(y=0;y<255;y++);
- }
- void main()
- {
- if(k1==0)//按鍵一端接地,按下開關(guān)k1=0
- {
- delay();//延時(shí)
- if(k1==0)//兩個(gè)if語句,用來消除按鍵抖動(dòng)
- {
- P2=0xfe;//流水燈主要程序
- while(1)
- {
- delay();
- P2=_crol_(P2,1);
- if(k1==0)
- {
- delay();
- if(k1==0)//再按一次就把led燈全滅
- {
- P2=0xff;
- if(k1==0) break;//再按一次,跳出循環(huán)
- }
- }
- }
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
獨(dú)立按鍵控制LED.zip
(4.8 MB, 下載次數(shù): 153)
2019-11-28 09:17 上傳
點(diǎn)擊文件名下載附件
入門操作
|
評(píng)分
-
查看全部評(píng)分
|