欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
直流電機+編碼器+oled顯示stm32程序
[打印本頁]
作者:
gyc2492
時間:
2017-8-9 21:34
標題:
直流電機+編碼器+oled顯示stm32程序
這幾天比賽準備的,結果沒用上,哎
所有資料51hei提供下載:
電機綜合.rar
(311.98 KB, 下載次數(shù): 172)
2017-8-10 18:39 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機源程序如下:
//////////////////////////////////////////////////////////////////////////////////
//本程序只供學習使用,未經(jīng)作者許可,不得用于其它任何用途
//中景園電子
//
// 文 件 名 : main.c
// 版 本 號 : v2.0
// 作 者 : HuangKai
// 生成日期 : 0101
// 最近修改 :
// 功能描述 : OLED 4接口演示例程(51系列)
// 說明:
// ----------------------------------------------------------------
// GND 電源地
// VCC 接5V或3.3v電源
// D0 接PD6(SCL)
// D1 接PD7(SDA)
// RES 接PD4
// DC 接PD5
// CS 接PD3
// ----------------------------------------------------------------
// 修改歷史 :
// 日 期 :
// 作 者 : HuangKai
// 修改內(nèi)容 : 創(chuàng)建文件
//版權所有,盜版必究。
//Copyright(C) 中景園電子2014/3/16
//All rights reserved
//******************************************************************************/
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
#include "timer.h"
#include "encoder.h"
#include "PID.h"
#include "usart.h"
u16 speed;
u16 pwm1=0,pwm2=4999,pwm3=4999,pwm4=0;
int main(void)
{
u16 len,t;
char shujv[]="page jisuanji";
delay_init(); //延時函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級
TIM4_PWM_Init(4999,719);
// TIM3_Int_Init(4999,7199);
uart2_init(9600); //串口初始化為115200
uart1_init(9600); //串口初始化為115200
Encoder_Init_TIM2();
OLED_Init(); //初始化OLED
OLED_Clear();
// OLED_ShowCHinese(0,0,0);
// OLED_ShowCHinese(18,0,1);
// OLED_ShowCHinese(36,0,2);
// OLED_ShowCHinese(54,0,3);
// OLED_ShowCHinese(72,0,4);
// OLED_ShowCHinese(90,0,5);
// OLED_ShowCHinese(108,0,6);
TIM3_Int_Init(99,7199);
OLED_ShowString(0,2,"IN1:");
OLED_ShowString(63,2,"IN2:");
OLED_ShowString(0,4,"IN3:");
OLED_ShowString(63,4,"IN4:");
OLED_ShowCHinese(0,6,7);//轉
OLED_ShowCHinese(18,6,8);//速
OLED_ShowString(32,6,":");
// while(1)
{
// printf("t0.txt=\"%d\"%c%c%c",99,0XFF,0XFF,0XFF); //發(fā)送數(shù)據(jù)
//
for(t=0;t<13;t++)
{
USART_SendData(USART2, shujv[t]);//向串口1發(fā)送數(shù)據(jù)
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發(fā)送結束
}
for(t=0;t<2;t++)
{
USART_SendData(USART2, 0x0d);//向串口1發(fā)送數(shù)據(jù)
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發(fā)送結束
USART_SendData(USART2, 0x0a);//向串口1發(fā)送數(shù)據(jù)
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發(fā)送結束
}
// printf("page main:\r\n\r\n");
PWM1_OUT(pwm1);
PWM2_OUT(pwm2);
PWM3_OUT(pwm3);
PWM4_OUT(pwm4);
if(USART1_RX_STA&0x8000)
{
// OLED_ShowChar(120,0,'a');
len=USART1_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度
// printf("\r\n您發(fā)送的消息為:\r\n\r\n");
for(t=0;t<len;t++)
{
OLED_ShowChar(t*9,0,USART1_RX_BUF[t]);
// USART_SendData(USART2, USART1_RX_BUF[t]);//向串口1發(fā)送數(shù)據(jù)
// while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發(fā)送結束
}
// printf("\r\n\r\n");//插入換行
USART1_RX_STA=0;
}
//
OLED_ShowNum(28,2,pwm1,4,16);
OLED_ShowNum(90,2,pwm2,4,16);
OLED_ShowNum(28,4,pwm3,4,16);
OLED_ShowNum(90,4,pwm4,4,16);
if(speed>32768)
{
OLED_ShowString(36,6,"-");
OLED_ShowNum(45,6,(65535-speed)/3,4,16);
}
else
{
OLED_ShowString(36,6," ");
OLED_ShowNum(45,6,speed/3,4,16);
}
}
}
復制代碼
作者:
gyc2492
時間:
2017-8-9 21:35
大家僅供參考啊
作者:
gm388
時間:
2017-8-25 15:27
這個是用來干什么的?
作者:
popo321
時間:
2020-4-30 10:46
謝謝分享,學習中。
作者:
yayalyao
時間:
2020-5-1 12:25
多謝分享
作者:
淺試即止
時間:
2020-5-1 18:40
用的什么單片機,還有什么用途啊
作者:
frode
時間:
2020-5-2 09:09
先看看,謝謝了
作者:
welssss
時間:
2020-5-2 11:57
謝謝分享
作者:
mick32
時間:
2022-4-6 00:22
Schematic is missing from project ?
Very difficult to follow...
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1