久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 51單片機學習:寫了個led宏,并嘗試控制led燈的亮度 [打印本頁]

作者: 51黑電子迷    時間: 2017-1-14 23:21
標題: 51單片機學習:寫了個led宏,并嘗試控制led燈的亮度
經常用led燈來觀察現象,甚至調試代碼,修改代碼時用0和1很不方便,而且閱讀性也不好,
故寫了個宏,用起來方便些.
今天嘗試控制燈的亮度. 先試試for循環控制,占空比調節...
源程序:
  1. //#include "my51.h"
  2. #include <reg52.h>
  3. typedef unsigned char  u8;
  4. typedef unsigned short int u16;

  5. #ifndef _51LED_
  6. #define _51LED_
  7. #define led           P1                               //P1總線連8個led燈,燈連573鎖存器,P1置低電平點亮
  8. #define LED                  led
  9. #define ON(x)     P1&(~(1<<(x)))         //打開某個燈,開多個燈用 ON(m) & ON(n)
  10. #define OFF(x)    P1|(1<<(x))                  //關閉某個燈,關多個燈用 OFF(m)| OFF(n)
  11. #define on(x)          ON(x)                                 //包含大小寫
  12. #define off(x)          OFF(x)

  13. #define ledon     0                                         //某個燈,打開
  14. #define ledoff    1                                         //某個燈,關閉

  15. sbit led0=P1^0;     
  16. sbit led1=P1^1;
  17. sbit led2=P1^2;
  18. sbit led3=P1^3;
  19. sbit led4=P1^4;
  20. sbit led5=P1^5;
  21. sbit led6=P1^6;
  22. sbit led7=P1^7;       
  23. sbit ledLock=P2^5;        //鎖定當前8個led的狀態,0鎖定 ,1不鎖定

  24. #endif

  25. void ledCtr(u8 ledX,u8 per)                //參數1是某個燈,參數2是亮度
  26. {
  27.         u8 i=1;
  28.         for(i=1;i<=100;i++)
  29.         {
  30.                 if(i<per)
  31.                 {
  32.                         led=on(ledX) ;                //打開燈
  33.                 }
  34.                 else
  35.                 {
  36.                         led=off(ledX);                //關閉燈
  37.                 }
  38.         }
  39. }

  40. void delayms(u16 ms)                     //毫秒級軟延時函數
  41. {       
  42.         u16 i,j;
  43.         for(i=ms;i>0;i--)
  44.         {
  45.         for(j=113;j>0;j--)
  46.         {}
  47.         }
  48. }

  49. void main()                                    //測試
  50. {
  51.         led6=ledon;                            //打開6號燈,亮度100%
  52.         led=on(0);                                //打開0號燈,亮度100%
  53.         led=on(1) & on(5);          //打開1號和5號燈,亮度100%


  54.         delayms(2000);

  55.         led0=ledoff;                         //關閉0號燈
  56.         led=off(6)|off(1)|off(5);//關閉1,5,6號燈
  57.         while(1)
  58.         {               
  59.                   ledCtr(2,5);             //僅打開2號燈,亮度5%, 省電...
  60.         }
  61. }
復制代碼





作者: bhjyqjs    時間: 2018-7-31 08:43
不錯,學習單片機就要有這個勁頭




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产一区二区 | 国产精品亚洲精品 | 欧美男人天堂 | 久久视频精品在线 | 在线观看电影av | 欧美成人猛片aaaaaaa | 中文字幕一区二区三区四区 | 欧美日韩高清免费 | 欧美一级淫片免费视频黄 | 日韩在线播放网址 | 黄色亚洲网站 | 亚洲精品丝袜日韩 | 中文一区 | 国产精品高潮呻吟久久av黑人 | 黄色av网站在线观看 | 国产一级特黄视频 | 在线观看日韩精品视频 | www.国产| 91精品国产91久久久久游泳池 | 午夜激情在线 | 三级免费 | 天天爽网站| 日韩欧美视频免费在线观看 | 在线日韩视频 | 在线一区 | 瑞克和莫蒂第五季在线观看 | 亚洲午夜精品久久久久久app | 综合久久综合久久 | 天天射色综合 | 日韩久久久久 | 久久精品国产一区二区三区不卡 | m豆传媒在线链接观看 | 四虎影视免费在线 | 国产一区二区三区在线看 | 亚洲国产成人精品女人久久久 | 国产成人精品一区二区三区四区 | 国产中文字幕在线观看 | 国产精品久久久久久中文字 | 日韩在线一区二区 | 国产高清久久 | 一区二区三区视频在线观看 |