标题:
单片机串口通信pwm波舵机舵机并1602显示仿真实例+代码
[打印本页]
作者:
1228468
时间:
2018-12-9 15:19
标题:
单片机串口通信pwm波舵机舵机并1602显示仿真实例+代码
利用串口通信控制pwm波并实现l1602显示提供prtues仿真
运用prtues仿真实现以下功能:
①通过按钮与pwm波控制舵机的角度 如:按一下增加相应度数角度
②通过lm1602实时显示pwm波占空比
拓展:通过pwm与L298n控制电机速度从大到小再反向从大到小 如:速度从0 到 100 到 0 到 -100 到0重复
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(48.01 KB, 下载次数: 24)
下载附件
2018-12-9 23:06 上传
0.png
(45.08 KB, 下载次数: 16)
下载附件
2018-12-9 23:05 上传
单片机源程序如下:
/*********************************************
项目名称:pwm波与1602的练习
不足与补充:1,仿真下程序运行速度较慢
2,lcd的判忙函数仿真时无法运行
3,模块化方便以后移植
4,仿真时需要改变舵机的属性成0.5ms~2.5ms
5,某些函数没有用到形成警告L16
6,L298n也可写成.c,.h文件形式并且可以添加更多功能
7,按键扫描程序不太完善
*********************************************/
#include <reg52.h>
#include <stdio.h>
#include <math.h>
#include "lm1602.h"
#include "delay.h"
#include "L298N.h"
#include "pwm.h"
#include "key.h"
int pwm0 = 1500;
int pwm1 = -50;
int Period0 = 20000;
int Period1 = 100;
uint s=1;
uchar key;
uchar str[16] = {""};
void main()
{
LCD_Init(); //LCD初始化
LCD_Clear(); //LCD清屏
// Init_PwmTimer0(Period0); //定时器0初始化
// Init_PwmTimer1(Period1); //定时器1初始化
// DataPro_0(pwm0-13);
// speed(pwm1);
while(1)
{
// key = Get_KEY(); //扫描按键
// switch(key)
// {
// case 1:pwm0+=250;break;
// case 2:pwm0-=250;break;
//// case 3:break; //没用到的按钮
//// case 4:break;
// default:break; //防止出错
// }
//
// if(pwm0>=2400) //防止过界
// pwm0=2400;
// if(pwm0<=600)
// pwm0=600;
//
// if(pwm1>=90) //循环改变
// s=-1;
// if(pwm1<=10)
// s=1;
// pwm1+=s;
//
// sprintf(str,"ZKB1:%0.1f%% ",(double)pwm0/(double)Period0*100); //sprintf方法可以很好的合成字符串%0.1f(只显示一位小数)
// LCD_Write_String(0,0,str);
// sprintf(str,"ZKB2:%0.1f%% ",(double)abs(pwm1)/(double)Period1*100);//占空比显示 占空比只有正的所以需要abs()函数(在math.h头文件中)
// LCD_Write_String(0,1,str);
// if(!key) //只在有按钮按下时改变
// DataPro_0(pwm0-13); //-13为修正 PWM高电平时间有13us左右误差
// speed(pwm1);
// DelayMs(0); //改变程序运行速度
LCD_Write_String(0,0,"aaaa");
DelayMs(10);
}
}
复制代码
代码有问题,求指导:
2018-7-16任务.rar
(123.97 KB, 下载次数: 136)
2018-12-9 15:19 上传
点击文件名下载附件
作者:
wuyuwangluo
时间:
2019-11-15 21:49
附件数据损坏
作者:
18206192598
时间:
2020-3-5 20:19
压缩包损坏,下载不了,哭唧唧
作者:
whwteng
时间:
2020-4-19 22:28
你这个仿真打不开,可以重新发一份吗?
作者:
切了
时间:
2023-4-21 11:00
LCD1602没有显示啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1