找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1982|回复: 1
收起左侧

智能台灯源程序

[复制链接]
ID:373073 发表于 2018-7-17 10:14 | 显示全部楼层 |阅读模式
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char             // 以后unsigned char就可以用uchar代替
  4. #define uint  unsigned int                //以后unsigned int 就可以用uint 代替
  5. sbit LED    = P1^0;                         // 模式指示灯,亮是自动模式,灭是手动模式
  6. sbit Lamp   = P1^4;                       // 台灯控制引脚
  7. sbit Key1   = P1^1;                         // 按键1,模式切换按键
  8. sbit Key2   = P1^2;                        // 按键2,亮度减少按键      
  9. sbit Key3   = P1^3;                         // 按键3,亮度增加按键
  10. sbit ADC_CS = P2^3;                       //ADC0832的CS引脚
  11. sbit ADC_CLK = P2^0;                        // ADC0832的CLK引脚
  12. sbit ADC_DAT = P2^1;                       // ADC0832的DI/DO引脚
  13. sbit Module = P2^2;                         // 人体红外检测模块
  14. uchar gCount=0;                                  // 全局计数变量
  15. uchar gIndex;                                        // 亮度变量,0是最暗,9是最亮,一共10档
  16. uint gTime=0;                                    //计时变量,用于计时多久没检测到有人
  17. /*********************************************************/
  18. // 毫秒级的延时函数,time是要延时的毫秒数
  19. /*********************************************************/
  20. void DelayMs(uint time)
  21. {
  22.          uinti,j;
  23.          for(i=0;i<time;i++)
  24.                    for(j=0;j<112;j++);
  25. }
  26. /*********************************************************/
  27. // ADC0832的时钟脉冲
  28. /*********************************************************/
  29. void WavePlus()
  30. {
  31.          _nop_();
  32.          ADC_CLK= 1;
  33.          _nop_();
  34.          ADC_CLK= 0;
  35. }


复制代码


回复

使用道具 举报

ID:479932 发表于 2019-3-27 12:32 | 显示全部楼层
有完整的程序吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表