人人范文网 范文大全

调光台灯程序

发布时间:2020-03-02 06:53:37 来源:范文大全 收藏本文 下载本文 手机版

#include

sbit LED = P1 ^ 0; sbit ONOFF = P2 ^ 0; sbit ADD = P2 ^ 1; sbit DEC = P2 ^ 2;

unsigned int Brightne; bit MARK;

//库文件定义(定义单片机为8952系列) //台灯控制端口(LED) //开关键 //变亮键

//变暗键

//亮度值,值域0~255(全局变量)

//状态标志位(目前是开灯还是关灯状态)

/***************************************************************************** 延时程序:时间为1mS /*****************************************************************************/ void Delay1mS(unsigned int a){ //延时程序(ms)

unsigned char i; while( --a != 0){

for(i = 0; i

} } /**************************************************************************** 延时程序:驱动程序专用

/****************************************************************************/ void delay (unsigned char d){

// 延时功能函数--由d决定延时长度

unsigned char i; while( --d != 0){

for(i = 0; i

/**************************************************************************** 灯泡驱动程序:根据亮度值驱动灯泡

/****************************************************************************/ void drive (void){

unsigned char a;

} /**************************************************************************** 开灯判断:

/****************************************************************************/ void open (void){

// a = Brightne; LED = 0; delay (a); a = ~a; LED = 1; delay (a); a = ~a;

// a值取反 使a回到原值继续循环

//

// a控制延时长度

//取得亮度值数据 //点亮灯泡

// 延时长度随a而改变

// a值取反 决定灯灭时的占空比

if(ONOFF == 0){

}

//如果ONOFF为0则证明开关键按下 //等待20毫秒躲过按键不稳定的状态 //再看开关键是否被按下 //将标志位变成开灯状态 //等待按键放开 Delay1mS(20);

if(ONOFF == 0){

MARK = 1;

while(ONOFF == 0); }

} /**************************************************************************** 关灯判断:

/****************************************************************************/ void close (void){

//

} /**************************************************************************** 变亮判断:

/****************************************************************************/ void add (void){

// if(ADD == 0){

//如果ADD为0则证明变亮键按下

} Brightne++; if(Brightne > 254){ }

//亮度值加1

//如果亮度值大于最大值时 //则保持最大值状态 if(ONOFF == 0){ Delay1mS(20);

} if(ONOFF == 0){ MARK = 0;

}

//将标志位变成关灯状态

while(ONOFF == 0);

Brightne = 254;

} /**************************************************************************** 变暗判断:

/****************************************************************************/ void dec (void){

if(DEC == 0){

} Brightne--; if(Brightne

//

} /**************************************************************************** 初始化: /****************************************************************************/ void init (void){ LED

} ONOFF ADD DEC Brightne MARK =

1;

//

//灯泡和按键初始状态设置

= 1; = 1; = 1; = 130; = 0;

//初始化亮度值

//状态切换标志位

/**************************************************************************** 主循环体:

/****************************************************************************/ void main (void){

// 主函数 实现程序流程

init();

//调用初始化程序

while (1){

if(MARK == 0){

}

} open();

} if(MARK == 1){

} drive(); close(); add(); dec();

//状态标志为关灯状态时 //等待开关键按下(开灯) //状态标志为开灯状态时

//驱动灯泡

//判断开关键按下(关灯)

//判断变亮键按下 //判断变暗键按下

调光台灯

调光台灯控制电路

调光台灯电路

调光台灯的电路

防近视调光台灯

调光台灯电路设计(材料)

调光台灯电路原理图

可调光触摸苹果台灯

亮度稳定的调光台灯

220V自动调光台灯电路图

调光台灯程序
《调光台灯程序.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 调光台灯电路 调光
点击下载本文文档