- #include <reg52.h>
- #include <intrins.h>
- #define uchar unsigned char // 以后unsigned char就可以用uchar代替
- #define uint unsigned int //以后unsigned int 就可以用uint 代替
- sbit LED = P1^0; // 模式指示灯,亮是自动模式,灭是手动模式
- sbit Lamp = P1^4; // 台灯控制引脚
- sbit Key1 = P1^1; // 按键1,模式切换按键
- sbit Key2 = P1^2; // 按键2,亮度减少按键
- sbit Key3 = P1^3; // 按键3,亮度增加按键
- sbit ADC_CS = P2^3; //ADC0832的CS引脚
- sbit ADC_CLK = P2^0; // ADC0832的CLK引脚
- sbit ADC_DAT = P2^1; // ADC0832的DI/DO引脚
- sbit Module = P2^2; // 人体红外检测模块
- uchar gCount=0; // 全局计数变量
- uchar gIndex; // 亮度变量,0是最暗,9是最亮,一共10档
- uint gTime=0; //计时变量,用于计时多久没检测到有人
- /*********************************************************/
- // 毫秒级的延时函数,time是要延时的毫秒数
- /*********************************************************/
- void DelayMs(uint time)
- {
- uinti,j;
- for(i=0;i<time;i++)
- for(j=0;j<112;j++);
- }
- /*********************************************************/
- // ADC0832的时钟脉冲
- /*********************************************************/
- void WavePlus()
- {
- _nop_();
- ADC_CLK= 1;
- _nop_();
- ADC_CLK= 0;
- }
复制代码
|