色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)利用LED宏,控制LED等的亮度

          51單片機(jī)利用LED宏,控制LED等的亮度

          作者: 時(shí)間:2018-08-01 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://cafeforensic.com/article/201808/384871.htm

          經(jīng)常用led燈來觀察現(xiàn)象,甚至調(diào)試代碼,修改代碼時(shí)用0和1很不方便,而且閱讀性也不好,利用個(gè)宏,用起來方便些。

          今天嘗試控制燈的亮度. 先試試for循環(huán)控制,占空比調(diào)節(jié)...

          c代碼

          //#include my51.h

          #include

          typedef unsigned char u8;

          typedef unsigned short int u16;

          #ifndef _51_

          #define _51_

          #define led P1 //P1總線連8個(gè)led燈,燈連573鎖存器,P1置低電平點(diǎn)亮

          #define led

          #define ON(x) P1(~(1(x))) //打開某個(gè)燈,開多個(gè)燈用 ON(m) ON(n)

          #define OFF(x) P1|(1(x)) //關(guān)閉某個(gè)燈,關(guān)多個(gè)燈用 OFF(m)| OFF(n)

          #define on(x) ON(x) //包含大小寫

          #define off(x) OFF(x)

          #define ledon 0 //某個(gè)燈,打開

          #define ledoff 1 //某個(gè)燈,關(guān)閉

          sbit led0=P1^0;

          sbit led1=P1^1;

          sbit led2=P1^2;

          sbit led3=P1^3;

          sbit led4=P1^4;

          sbit led5=P1^5;

          sbit led6=P1^6;

          sbit led7=P1^7;

          sbit ledLock=P2^5; //鎖定當(dāng)前8個(gè)led的狀態(tài),0鎖定 ,1不鎖定

          #endif

          void ledCtr(u8 ledX,u8 per) //參數(shù)1是某個(gè)燈,參數(shù)2是亮度

          {

          u8 i=1;

          for(i=1;i=100;i++)

          {

          if(i

          {

          led=on(ledX) ; //打開燈

          }

          else

          {

          led=off(ledX); //關(guān)閉燈

          }

          }

          }

          void delayms(u16 ms) //毫秒級軟延時(shí)函數(shù)

          {

          u16 i,j;

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

          {

          for(j=113;j>0;j--)

          {}

          }

          }

          void main() //測試

          {

          led6=ledon; //打開6號燈,亮度100%

          led=on(0); //打開0號燈,亮度100%

          led=on(1) on(5); //打開1號和5號燈,亮度100%

          delayms(2000);

          led0=ledoff; //關(guān)閉0號燈

          led=off(6)|off(1)|off(5);//關(guān)閉1,5,6號燈

          while(1)

          {

          ledCtr(2,5); //僅打開2號燈,亮度5%, 省電...

          }

          }



          關(guān)鍵詞: 51單片機(jī) LED

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉