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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2490|回復: 1
打印 上一主題 下一主題
收起左側

51單片機學習:寫了個led宏,并嘗試控制led燈的亮度

[復制鏈接]
跳轉到指定樓層
樓主
ID:161768 發表于 2017-1-14 23:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
經常用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. }
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:66287 發表于 2018-7-31 08:43 | 只看該作者
不錯,學習單片機就要有這個勁頭
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人精品久久日伦片大全免费 | 免费午夜视频在线观看 | 亚洲视频二区 | 亚洲久久在线 | 成人毛片视频免费 | 毛片视频网址 | 91在线精品秘密一区二区 | 国产精品久久久久久久久久久久冷 | 国产乱码精品一区二区三区av | caoporn国产精品免费公开 | 涩涩视频在线观看免费 | 亚洲最大福利网 | 狠狠干在线 | 成人天堂噜噜噜 | 国产区精品 | 日本免费在线观看视频 | 九九看片 | 日韩在线欧美 | 365夜爽爽欧美性午夜免费视频 | 操到爽| 日韩中文字幕视频在线观看 | 亚洲美女一区二区三区 | 日本在线看片 | 欧美一级在线视频 | 欧美一二三区 | 精品九九久久 | 久久久99国产精品免费 | 国产精品综合色区在线观看 | 亚洲一区在线日韩在线深爱 | 野狼在线社区2017入口 | 自拍偷拍精品 | 欧美激情国产精品 | 一级a性色生活片久久毛片 一级特黄a大片 | 波多野结衣一二三区 | 免费中文字幕日韩欧美 | 亚洲精彩视频在线观看 | 亚洲午夜精品久久久久久app | 91精品国产一区二区三区 | 黑人巨大精品欧美一区二区一视频 | 国产精品亚洲综合 | 91视视频在线观看入口直接观看 |