|
这是我以前做的一个课程设计,通过蓝牙APP发送指令,能够调节灯带亮度。灯带通过晶闸管控制的。控制部分:
硬件整体图:
单片机源程序如下:
- #include <STC15.h>
- #include "OLED_Init.h"
- #include "UART.h"
- #include "pwm.h"
- void main()
- {
- Init_OLED();
- UartInit();
- Init_T0_PWM();
-
- EA = 1;
-
- while(1)
- {
- writeTime();
- RH(); //读取温度
- OLED_ShowString(48,2,timeData,16); //显示当前时间
- OLED_ShowNum(48,4,Temperature,2,16); //显示温湿度
- OLED_ShowNum(48,6,Humidity,2,16);
- }
- }
复制代码-
- /*------------------------------------------------------------------*/
- /* If you want to use the program or the program referenced in the */
- /* article, please specify in which data and procedures from STC */
- /*------------------------------------------------------------------*/
- #include <stc15.h>
- #include "PWM.h"
- /************* 功能说明 **************
- 本程序演示使用定时器做软件PWM。
- 定时器0做16位自动重装,中断,从T0CLKO高速输出PWM。
- 本例程是使用STC15F/L系列MCU的定时器T0做模拟PWM的例程。
- PWM可以是任意的量程。但是由于软件重装需要一点时间,所以PWM占空比最小为32T/周期,最大为(周期-32T)/周期, T为时钟周期。
- PWM频率为周期的倒数。假如周期为6000, 使用24MHZ的主频,则PWM频率为4000HZ。
- ******************************************/
- #define ZQ 10 //ZD:周期=ZD*100US
- #define ZB
- #define PWM_HIGH_MIN 0 //限制PWM输出的最小占空比。用户请勿修改。
- #define PWM_HIGH_MAX 10 //20级光强度调节
- sbit PWM_OUT = P0^0; //定义PWM输出引脚。
- typedef unsigned char u8;
- typedef unsigned int u16;
- typedef unsigned long u32;
- unsigned int PWM_Temp=0,PWM_ZB=1;
- /****************定时器1初始化****************/
- void Init_T0_PWM(void) //100微秒@22.1184MHz
- {
- AUXR |= 0x80; //定时器时钟1T模式
- TMOD &= 0xF0; //设置定时器模式
- TMOD |= 0x01; //设置定时器模式
- TL0 = 0x5C; //设置定时初值
- TH0 = 0xF7; //设置定时初值
- TF0 = 0; //清除TF0标志
- TR0 = 1; //定时器0开始计时
- ET0 = 1;
- }
- /********************* Timer0中断函数************************/
- void timer0_int (void) interrupt 1 using 1
- {
- TL0 = 0x5C; //设置定时初值
- TH0 = 0xF7; //设置定时初值
-
- if(PWM_Temp==ZQ) PWM_Temp=1;
-
- if(PWM_ZB >= PWM_HIGH_MAX) PWM_ZB = PWM_HIGH_MAX; //如果写入大于最大占空比数据,则强制为最大占空比。
- if(PWM_ZB <= PWM_HIGH_MIN) PWM_ZB = PWM_HIGH_MIN; //如果写入小于最小占空比数据,则强制为最小占空比。
-
- if(PWM_ZB>=PWM_Temp) {PWM_OUT=1;}else{PWM_OUT=0;}
- PWM_Temp++;
- }
复制代码
所有资料51hei提供下载:
蓝牙调光程序.rar
(85.94 KB, 下载次数: 29)
|
评分
-
查看全部评分
|