标题:
单片机舵机控制OLED屏幕显示角度源程序
[打印本页]
作者:
xhh呵
时间:
2019-8-1 23:52
标题:
单片机舵机控制OLED屏幕显示角度源程序
辉盛的舵机可以转动,银燕的转不了。分享出来希望有人能解决
//////////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------
// GND 电源地
// VCC 接5V或3.3v电源
// SCK P1^0(SCL)D1
// SDA P1^1(SDA)D2
// RES 接P12
// DC 接P13
// CS 接P14
// ----------------------------------------------------------------
//******************************************************************************/
#include "reg52.h"
#include <oled.h>
#define u8 unsigned char
#define u32 unsigned int
sbit pwm1=P2^0;
sbit pwm2=P2^1;
sbit duoji=P2^2;
u8 count=0;
u8 biaoshi=0;
u8 jiaodu=12;
void delay()
{
u8 i,j,k;
for(k=0;k<50;k++)
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;
}
void xianshi()
{
OLED_ShowCHinese(32,0,0);
OLED_ShowCHinese(48,0,1);
OLED_ShowCHinese(64,0,2);
OLED_ShowCHinese(80,0,3);
OLED_ShowCHinese(0,2,1);
OLED_ShowString(16,2,":");
OLED_ShowNum(32,2,jiaodu,6,16);
OLED_ShowNum(32,4,count,6,16);
}
void main()
{
TMOD=0X10; //T1工作方式1
TH1=(65536-456)/256;//
TL1=(65536-456)%256;//一毫秒的初值
EA=1;//总中断
ET1=1;//T1中断允许
TR1=1;//启动T1开始计数
OLED_Init(); //初始化OLED
while(1)
{
if(jiaodu<17)
{jiaodu ++; delay();}
else
{jiaodu =12; delay();}
xianshi();
}
}
void zhongduan() interrupt 3 //T1中断类型为3
{
TH1=(65536-92)/256;//
TL1=(65536-92)%256;//一毫秒的初值
if(count < jiaodu)
duoji = 1;
else
duoji = 0;
count++;
count = count%200;
}
复制代码
舵机控制OLED 屏幕显示.zip
2019-8-1 23:47 上传
点击文件名下载附件
下载积分: 黑币 -5
65.7 KB, 下载次数: 29, 下载积分: 黑币 -5
作者:
xhh呵
时间:
2019-8-4 14:07
已解决,不是程序问题,I/O口输出电压过高导致,加一个LED完美解决
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1