cczero

【资源下载】下载地址如下1558:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

#include <REGX52.H>	  			//头文件
#define uchar unsigned char
#define uint unsigned int

#define CS	P3_0		//ADC0804 CS端口
#define RD	P3_1		//ADC0804 RD端口
#define WR	P3_2		//ADC0804 WR端口
#define g_kz	P2_5 	//数码管个位控制
#define s_kz	P2_4	//数码管十位控制
#define b_kz	P2_3	//数码管百位控制
#define q_kz	P2_2	//码管千位控制
#define SMG_XS	P0		//数码管显示端口
#define AD_data	P1		//ADC0804输出端口
#define Up		P2_1	//上限限位开关端口
#define Down 	P2_0	//下限限位开关端口
#define Key1	P3_3	//手动/自动切换 按键
#define Key2	P3_4	//定时/光控功能切换 按键
#define Key3	P3_5	//设置 按键
#define Key4	P3_6	//加 按键 (手动模式:打开窗帘 定时模式:定时打开窗帘)
#define Key5	P3_7	//减 按键 (手动模式:关闭窗帘 定时模式:定时关闭窗帘)

#define IA		P2_7	//直流电机控制端口
#define IB		P2_6	//直流电机控制端口

int adval; 		//ADC 输出变量
int j;			//定义循环变量 i j
uchar flag=0;	//显示标志位(0:正常显示 1:上限光照度设置(调时) 2:下限光照度设置(调分)				 
bit flag_gd=0;	//光控/定时标志位(0:当前光照度 1:定时时间 )	
bit ms=0;		//模式(0:手动模式 1:自动模式)
bit move=0;		//定时时间到标志位(0:时间未到 1:时间到)
bit OFF_ON=0;	//电机正反转标志位,表示窗帘打开或关闭(0:窗帘关闭 1:窗帘打开)
bit Time_OFF_ON=0;//定时时间到执行窗帘打开或关闭(0:定时关闭窗帘 1:定时打开窗帘)

char hour=12,min=0;sec=0; //定义时间 “时 分 秒”变量 上电默认12.00.00
char num=0;	//时间基数
uint H_GM=240;	//定义上限光敏度设置变量,上电默认200
uint L_GM=100;	//定义下限光敏度设置变量,上电默认100
uchar t=1; 		//数码管动态扫描延时参数
                
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};	
//数码管显示数组      0    1    2    3    4    5    6    7    8    9

void delay(uint time)	   	//延时函数
{
	uint x,y; 			//定义临时变量 x y
	for(x=time;x>0;x--)
	for(y=110;y>0;y--);	//空操作
}

void  Time_init()		//定时器初始化
{
	EA=1;
	TMOD=0x11;

分类:

技术点:

相关文章: