标题:
I2C控制xx+5档调速直流电机 单片机源程序
[打印本页]
作者:
msonah
时间:
2019-11-5 16:21
标题:
I2C控制xx+5档调速直流电机 单片机源程序
直流电机控制
单片机源程序如下:
/*
程序功能
6档调速直流电机,oled(IIC接口)显示占空比
*/
#include "reg52.h"
#include "i2c.h"
#include "SEEKFREE_OLED.h"
sbit PwmOut=P1^0;
sbit k1=P0^0;
sbit k2=P0^1;
unsigned int period=50000; //设置周期为50000us
unsigned int duty=0; //设置起始占空比值为0
void T0T1_Init(void) //定时器/计数器T0,T1初始化函数
{
EA=1;
ET0=1;
ET1=1;
TMOD|=0x11;
TR0=1;
TH0=(65536-period)>>8;
TL0=65536-period;
TH1=(65536-duty)>>8;
TL1=65536-duty;
}
void Delay10ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void keypros() //按键处理函数,按K1加档位,按K2减档位,共6档(0,1,2,3,4,5)
{
void numpro();
if(duty!=50000) //封边,达到最5档位不可再加
{
if(k1==0)
{
Delay10ms();
if(k1==0)
{
duty+=10000;
}
while(!k1);
numpro();
}
}
if(duty) //封边,为0档时不可再减
{
if(k2==0)
{
Delay10ms();
if(k2==0)
{
duty-=10000;
}
while(!k2);
numpro();
}
}
}
void numpro() //oled显示处理函数,显示占空比
{
switch(duty)
{
case 0:OLED_P8x16Str(90,3,"0% ");
OLED_P6x8Str(90,5,"min"); break;
case 10000:OLED_P8x16Str(90,3,"20% ");
OLED_P6x8Str(90,5," "); break;
case 20000:OLED_P8x16Str(90,3,"40% ");
OLED_P6x8Str(90,5," "); break;
case 30000:OLED_P8x16Str(90,3,"60% ");
OLED_P6x8Str(90,5," "); break;
case 40000:OLED_P8x16Str(90,3,"80% ");
OLED_P6x8Str(90,5," "); break;
case 50000:OLED_P8x16Str(90,3,"100%");
OLED_P6x8Str(90,5,"max"); break;
}
}
void main()
{
PwmOut=0;
T0T1_Init();
Delay10ms(); //等待oled上电完成
Initial_M096128x64_ssd1306();//oled初始化
OLED_P6x8Str(25,0,"hello world");//oled显示"hello world"
OLED_P6x8Str(25,7,"---made by msonah");//oled显示"made by msonah"
OLED_P8x16Str(0,3,"duty cycle:");
OLED_P8x16Str(90,3,"0% ");
OLED_P6x8Str(90,5,"min"); //刚通电时显示“duty cycle:0%”
while(1)
{
keypros();
}
}
void T0_ISR(void) interrupt 1
{
TH0=(65536-period)>>8;
TL0=65536-period;
if(duty<period&&(duty))
{
PwmOut=1;
TR1=1;
}
else
{
if(duty==0)
{
PwmOut=0;
}
else
{
PwmOut=1;
}
}
}
void T1_ISR(void) interrupt 3
{
TH1=(65536-duty)>>8;
TL1=65536-duty;
PwmOut=0;
TR1=0;
}
复制代码
所有资料51hei提供下载:
实验14:I2C控制xx+5档调速电机3.0.zip
(87.15 KB, 下载次数: 8)
2019-11-5 16:21 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1