基于51单片机智能窗帘红外控制系统设计(毕设课设)
本设计采用stc89c51控制,使用BH1750采集光照强度,红外控制,电机采用四相五线步进电机,通过ULN2003步进电机驱动器
1、红外遥控器切换手动模式和自动模式;
2、自动模式按照BH1750光照传感器控制电机自动正转或者反转;
3、手动模式由红外遥控控制电机正转和反转;
【资源下载】下载地址如下(892):https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
#include "motor.h"
#include <intrins.h>
#include "bh1750.h"
/* define constants */
#define FOSC 11059200L
#define T1MS (65536-FOSC/12/1000) //1ms timer calculation method in 12T mode
#define NOP() _nop_() /* 定义空指令 */
sbit LED = P2^5;
sbit SW = P1^4;
int dis_data; //变量
extern unsigned char IRCOM[7];
unsigned char count,flag_200ms;
bit hm_flag = 0;
bit auto_flag = 1;
unsigned int motor_count = 0,motor_count1 = 0,motor_flag = 0;
unsigned char motor_step = 0;
extern void IRInit(); //extern 是引用IR.C中的函数
//毫秒延时**************************
void delay_nms(unsigned int k)
{
unsigned int i,j;
for(i=0;i<k;i++)
{
for(j=0;j<121;j++)
{;}}
}
/*******************************/
void timer0_init(void)
{
TMOD |= 0x01; //set timer0 as mode1 (16-bit)
TL0 = T1MS; //initial timer0 low byte