项目描述:
由三个按键分别控制LED的开关、变亮、变暗。灯的亮度调节采用单片机产生的PWM实现。
C语言代码如下:
/*-----------------------------
FileName:PWMDimming.h
Function: 头文件
Author: Zhang Kaizhou
Date: 2019-6-11 16:49:42
------------------------------*/
#include <reg52.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
#define PERIOD 100 // PWM信号周期为 100ms
/*主模块端口定义*/
sbit led = P1^7;
sbit onOff = P3^4;
sbit addLight = P3^5;
sbit decLight = P3^6;
/*LCD1602显示模块端口定义*/
sbit lcdrs = P1^0;
sbit lcdrw = P1^1;
sbit lcden = P2^5;
/*主模块函数声明*/
void delay(uint xms);
void keyScan();
void dimming();
void generatePWM();
/*LCD1602显示模块函数声明*/
void LCDInit();
void display(uchar dat);
void writeCommand(uchar command);
void writeData(uchar dat);
/*-------------------------------------------------
Function: 单片机PWM调光
Description: 按键控制LED灯开关,四个亮度等级的调光;
LCD1602实时显示LED灯的亮度等级。
Aut