资源简介
自己做的课程设计,打包上传,电机pid调速带仿真,
代码片段和文件信息
/***********************************************************
51系列单片机直流电机闭环调速实验
***********************************************************/
#include“reg51.h“
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
/*****************引脚定义*********************************/
sbit output=P2^5;
/********************************/
sbit CLOCK=P3^1;
sbit D_IN=P2^7;
sbit D_OUT=P2^6;
sbit _CS=P3^0;
/********************************/
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcden=P2^2;
/********************************/
sbit led=P3^2;
sbit speak=P3^3;
/*****************引脚定义*********************************/
/*****************变量定义(申明)*********************************/
int freq=500pwm=0;
uchar setflag=0pageflag=0ok=0;
uint adnum=0;
float pwm_temp=0;
float KP=0.00000001KI=1KD=0; //(默认PID的值)(可更改和在线调试)
//float KP=5KI=3KD=0; //(默认PID的值)(可更改和在线调试)
uint pul_count=0;
float Uk=0ek=0ek1=0ek2=0;
uchar code str2[16]=“set-V now-V “ ;
uchar code str3[16]=“P: I: D:“ ;
uchar code str4[16]=“set-P: “ ;
uchar code str5[16]=“set-I: “ ;
uchar code str6[16]=“set-D: “ ;
void Init(void);
uint adcread(uchar port);
void delay(uint n);
void writecom(uchar com);
void writedata(uchar date);
void initlcd();
float keyscan(void);
uchar keyscans(void);
void lcdnumdisplay(uchar posdouble f);
void lcdnumdisplays(uchar posdouble f);
uint read_pul();
void mypid(float Kpfloat Kifloat Kduint countuint point);
/*****************变量定义(申明)*********************************/
void main()
{
uchar i;float scantemp;
bit init0init1init2init3init4;
Init();
initlcd();
while(1)
{
pwm_temp=500*(float)(adnum)/4095;
//pwm=pwm_temp;(测试用)
mypid(KPKIKDpul_countpwm_temp);
scantemp=keyscan();
if(pul_count>=pwm_temp-1&&pul_count<=pwm_temp+1)
{
led=0;speak=1;
}
else {led=1;speak=0;}
if(setflag==0)
{
adnum=adcread(0);
if(init0==0)
{
initlcd();
writecom(0x80);
for(i=0;i<16;i++)writedata(str2[i]);
init0=1;init1=0;init2=0;init3=0;init4=0;
}
lcdnumdisplays(0x80+0x40(float)pwm_temp);
lcdnumdisplays(0x80+0x4a(float)pul_count);
}
if(setflag!=0&&pageflag==0)
{
if(init1==0)
{
initlcd();
writecom(0x80);
for(i=0;i<16;i++)writedata(str3[i]);
init0=0;init1=1;init2=0;init3=0;init4=0;
}
lcdnumdisplays(0x80+0x40KP);
lcdnumdisplays(0x80+0x46KI);
lcdnumdisplays(0x80+0x4CKD);
}
if(setflag!=0&&pageflag==1)
{
if(init2==0)
{
initlcd();
writecom(0x80);
for(i=0;i<16;i++)writedata(str4[i]);
init0=0;init1=0;init2=1;init3=0;init4=0;
}
lcdnumdisplays(0x80+0x40scantemp);
if(ok==1)KP=scantemp;
}
if(setflag!=0&&pageflag==2)
{
if(init3==0)
{
initlcd();
writecom(0x80);
for(i=0;i<16;i++)writedata(str5[i]);
init0=0;init1=0;init2=0;init3=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 33356 2014-12-27 15:07 51单片机电机PID调速\51电机pid调速
文件 21962 2014-12-27 15:07 51单片机电机PID调速\51电机pid调速.hex
文件 78 2014-12-27 15:07 51单片机电机PID调速\51电机pid调速.lnp
文件 33730 2014-12-27 15:07 51单片机电机PID调速\51电机pid调速.M51
文件 1899 2014-12-27 15:07 51单片机电机PID调速\51电机pid调速.plg
文件 55718 2014-12-27 15:10 51单片机电机PID调速\51电机pid调速.uvopt
文件 13451 2014-12-25 20:06 51单片机电机PID调速\51电机pid调速.uvproj
文件 55714 2014-12-27 14:45 51单片机电机PID调速\51电机pid调速_uvopt.bak
文件 0 2014-12-25 12:14 51单片机电机PID调速\51电机pid调速_uvproj.bak
文件 155287 2014-12-27 14:45 51单片机电机PID调速\Last Loaded 课程设计-直流调速系统.DBK
文件 6376 2009-05-07 14:37 51单片机电机PID调速\STARTUP.A51
文件 14077 2014-12-27 15:07 51单片机电机PID调速\STARTUP.LST
文件 749 2014-12-27 15:07 51单片机电机PID调速\STARTUP.OBJ
文件 15192 2014-12-27 15:07 51单片机电机PID调速\综合设计-直流调速.c
文件 36980 2014-12-27 15:07 51单片机电机PID调速\综合设计-直流调速.LST
文件 44909 2014-12-27 15:07 51单片机电机PID调速\综合设计-直流调速.OBJ
文件 155287 2014-12-27 15:10 51单片机电机PID调速\课程设计-直流调速系统.DSN
文件 792 2017-02-21 06:33 51单片机电机PID调速\课程设计-直流调速系统.PWI
目录 0 2017-02-21 06:33 51单片机电机PID调速
----------- --------- ---------- ----- ----
645557 19
相关资源
- 51单片机+Nokia5110 实现点菜收银系统
- 交通灯数字电路课程设计报告
- 用51单片机产生PWM控制直流小电机
- mc1496设计基本调幅电路 课程设计
- 基于51单片机DHT11温湿度检测和串口通
- 基于51单片机的16*16点阵显示汉字
- 51单片机舵机角度控制程序
- 基于51单片机的测量放大电路,简单实
- 以B树作为索引的图书管理系统
- 操作系统 内存管理课程设计报告
- 用fpga实现步进电机的控制
- 迷宫求解数据结构课程设计报告.doc
- VHDL 专题--------电子密码锁
- 智能车电机驱动模块
- 基于FPGA 的步进电机正弦波细分驱动器
- 计算机硬件课程设计 算法逻辑单元
- 5V量程电压表汇编程序
- 51单片机步进电机正反转调速1602显示
- 多加热炉炉温检测课程设计报告
- 同步发电机励磁系统建模导则
- 《软件测试》 课程设计
- 微机原理课程设计之利用D/A芯片实现
- 数据库原理与应用学生成绩管理系统
- 电机参数计算软件
- 数字钟数字电子课程设计设计过程+原
- WEB浏览器设计 .
- 51单片机做的温度计和AD采样,用的
- 数据结构课程设计之哈夫曼树的建立
- 订票信息管理系统
- 基于MRAS的永磁同步电机无速度传感器
评论
共有 条评论