1273基于单片机PID电机调速控制设计-毕设课设资料

/*****************************************************************************************
*文件名:pid.c
*文件描述:PID控制电机转速*****************************************************************************************/#include <reg51.h>
#include <intrins.h>sbit plus_10=P1^3;              //对各个按钮进行位定义
sbit minus_10=P1^4;
sbit plus=P1^5;
sbit minus=P1^6;
sbit enter=P1^7;
sbit PWM_OUT1=P1^1;
sbit PWM_OUT2=P1^0;
sbit dir=P1^2;struct PID                       //定义PID结构体
{int SetValue;              //设定值
//  long SumError;              //误差double Proportion;          //比例系数double Integral;          //积分系数double Derivative;            //微分系数int LastError;int PrevError;
}sPID,*sptr= &sPID;int PWM,PWM_temp=1,count0=0,Speed_Set,Seep_Measure,counter_100ms,counter_10ms;
bit flag_100ms,flag_10ms,start,plus_10_lock=1,minus_10_lock=1,plus_lock=1,minus_lock=1,enter_lock=1;
char num[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//0~9 对应数码/*****************************************************************************************
*函数名:void delayms(unsigned char x)
*函数功能:简单延时 支持0~255ms

1272基于单片机LED条屏显示温度和时间设计-毕设课设资料

#include "..\INCLUDE\config.h"
#include "..\FONT\FONT.H"
uint8 Temp_Value;
void TEMP_Delay(uint16 i)
{while(i--);
}
void TEMP_INITIALIZE()
{DQ=1;TEMP_Delay(8);DQ=0;TEMP_Delay(80);DQ=1;TEMP_Delay(14);TEMP_Delay(20);
}uint8 TEMP_Read_Char()
{uint8 i;uint8 dat;for(i=0;i<8;i++){DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;TEMP_Delay(4);}return dat;
}void TEMP_Write_Char(uint8 dat)
{uint8 i;for(i=0;i<8;i++){DQ=0;DQ=dat&0x01;TEMP_Delay(5);DQ=1;dat>>=1;}
}void TEMP_Read()
{uint8 a,b;TEMP_INITIALIZE();TEMP_Write_Char(0xcc);TEMP_Write_Char(0x44);TEMP_Delay(100);

1279基于单片机PM2.5雾霾检测处理控制设计-毕设课设资料

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD P0                               //
sbit PM2_5 = P2^1;  //PM2.5模块PWM输入口
sbit busy=P0^7;     // "忙"标志位
sbit add=P1^0;
sbit jian=P1^1;
sbit ledred=P1^2;
sbit ledgreen=P1^3;
sbit sanji=P2^2;
sbit erji=P2^3;
sbit yiji=P2^4;
sbit guolvwang=P2^0;
sbit warning=P1^7;
uint ji=120;
uint LowPulseTime_30s = 0; //30秒内低电平的时间,单位为ms
uint LowPulseTime_3s = 0; //3秒内低电平的时间,单位为ms
uint TotalTime_3s = 0;//总时间,3秒计数器
uint TotalTime_30s = 0;//总时间,30秒计数器*
uint LowperTotal = 0; //30秒内的低脉冲率,就是30秒内的低脉冲时间除以30秒的总时间,范围为5%~25%
uint Concen = 0;//浓度值,整数
uint pulseTime[10] = {0};  //每隔3秒的低电平时间数组,10项刚好就是30秒
uchar Index = 0; //上述数组的索引
bit bFreshDis = 0; //显示值刷新标志位,每隔3秒刷新一次显示
bit bStartDis = 0; //开始显示浓度值标志位,因为上电后要等30秒的预热时间才能计算浓度值
#define INT_CLOCK 1 //INT_CLOCK为定时值,单位为ms ,此处定义为1ms
#define CRY_FREQUENCY 11059200 //CRY_FREQUENCY为晶振频率,单位为,Hz
uchar TL0_temp;  //暂存TL0的初值 中断值
uchar TH0_temp;  //暂存TH0的初值
unsigned char fuhao;
//代码表

1258基于单片机8155秒表计时器系统设计-毕设课设资料

/***********************基于8155的8LED显示电子表设计************************************************/
#include<reg52.h>
#include<absacc.h>/*******************************************宏定义***************************************************/
#define uint unsigned int
#define uchar unsigned char/*******************************************定义8155地址***********************************************/
#define COM8155  XBYTE[0X7FF8]        //8155的命令口
#define PA8155   XBYTE[0X7FF9]        //8155的PA
#define PB8155   XBYTE[0X7FFA]        //8155的PB
#define PC8155   XBYTE[0X7FFB]        //8155的PC/*******************************************定义数码管显示的码值**************************************/
uchar code du_code[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};  //8段共阴极数码管显示码值
uchar  dis_buf[]={0x3f,0x3f,0x40,0x3f,0x3f,0x40,0x3f,0x3f};               //数码管显示缓存,格式为MM-NN-SS
uchar code bit_code[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};          //数码管显示的位值/*******************************************定义系统变量***************************************************/
bit flag=0;                                                     //计时状态标志位
bit flag1=0,flag2=0,flag3=0,flag4=0;                         //按键状态标志位
uchar num,second,minute,hour;                                   //秒表变量
uchar count=0,count1=0;                                       //计数器变量

1285基于单片机SHT11温湿度采集报警系统设计-全套资料

#include<reg51.h>
#include <intrins.h>
#include <math.h>
#include <stdio.h>
#define LCD_DB        P0
sbit         LCD_RS=P2^0;
sbit         LCD_RW=P2^1;
sbit         LCD_E=P2^2;
sbit         beep = P1^7;
sbit         key1 = P3^0;
sbit         key2 = P3^1;
sbit             key3 = P3^2;
sbit             key4 = P3^3;unsigned char Time;         //用来存放定时时间
unsigned char Second;
unsigned char w;  //标志位
unsigned char wendumode = 0;
unsigned char shidumode = 0;
unsigned char  wenduCB = 40;
unsigned char  shiduCB = 100;
unsigned int wendu,shidu;     /******定义函数****************/
#define uchar unsigned char
#define uint unsigned int
void LCD_init(void);                          //初始化函数
void LCD_write_command(uchar command);        //写指令函数
void LCD_write_data(uchar dat);               //写数据函数
void LCD_disp_char(uchar x,uchar y,uchar dat);//在某个屏幕位置上显示一个字符,X(0-15),y(1-2)
void LCD_disp_str(uchar x,uchar y,uchar *str); //LCD1602显示字符串函数
void delay_n10us(uint n);                     //延时函数


文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html

目录

1273基于单片机PID电机调速控制设计-毕设课设资料

1272基于单片机LED条屏显示温度和时间设计-毕设课设资料

1279基于单片机PM2.5雾霾检测处理控制设计-毕设课设资料

1258基于单片机8155秒表计时器系统设计-毕设课设资料

1285基于单片机SHT11温湿度采集报警系统设计-全套资料


基于单片机PID电机调速控制设计-基于单片机LED条屏显示温度和时间设计-基于单片机PM2.5雾霾检测处理控制设计-基于单片机SHT11温湿度采集报警系统设计-基于单片机8155秒表计时器系统设计相关推荐

  1. android秒表课程设计,1258【毕设课设】基于单片机8155秒表计时器系统设计

    /***********************基于8155的8LED显示电子表设计************************************************/ #include ...

  2. 51单片机 PWM 直流电机调速+Proteus仿真

    51单片机 PWM 电机调速+Proteus仿真 Proteus仿真 实例代码 /*用PWM控制电机脉冲频率应控制在25HZ-35HZ之间*//*定时1ms,1个周期30ms,脉冲频率为33HZ */ ...

  3. 电机调速设计并用matlab仿真,终稿毕业论文设计_基于PWM控制的直流电动机调速系统设计及MATLAB仿真.doc最终版(备份存档)...

    <毕业论文_基于PWM控制的直流电动机调速系统设计及MATLAB仿真.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)毕业论文设计_基于PWM控制的直流电动机调速系统设计及M ...

  4. 电机调速设计并用matlab仿真,基于MATLAB的双闭环调速系统设计与仿真

    名称 基于MATLAB的双闭环调速系统设计与仿真 设计内容和意义 摘要 转速.电流双闭环控制直流调速系统是性能很好.应用最广的直流调速系统.根据晶闸管的特性,通过调节控制角α大小来调节电压.基于设计题 ...

  5. 基于51单片机的PWM控制马达电机调速正反转(仿真+源码+全套资料)

    资料编号:117 仿真图proteus 7.8 程序编译器:keil 5 编程语言:C语言 采用51单片机,用PWM控制电机脉冲频率应控制在25HZ-35HZ之间 定时1ms,1个周期30ms,脉冲频 ...

  6. 基于51单片机的PWM控制马达电机调速正反转

    资料编号:117  下面是相关功能视频演示: 117-基于51单片机的PWM控制马达电机调速正反转(仿真+源码+全套资料) 仿真图proteus 7.8(理论上高于7.8均可以打开) 程序编译器:ke ...

  7. matlab数字量转电气量,基于MATLAB的数字PID直流电机调速系统.doc

    电力拖动课程设计 作 者 段发鑫 系 (院) 信息工程学院 专 业 电气工程及其自动化 年 级 2010级 学 号 K031041513 指导教师 耿东山 日 期 2013.5.5 基于MATLAB的 ...

  8. 计算机控制直流电机闭环调速实验报告,电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf...

    电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf 华南理工大学广州汽车学院华南理工大学广州汽车学院 电力系统实训电力系统实训报告报告 设计题目设计题目基于基于 PLCPLC 的 ...

  9. matlab仿真限幅发散,基于模糊控制的直流电机调速系统MATLAB仿真_贾东耀

    基于模糊控制的直流电机调速系统MATLAB 仿真 贾东耀,曾智刚 (广东工业大学,广州市 510090) 摘 要:采用Fuzzy-PI 控制策略进行直流电机的调速系统设计,它克服了简单模糊控制和传统P ...

  10. 基于PLC的变频调速

    基于PLC的变频调速系统设计 一.项目目的 1.掌握PLC的应用设计过程: 2.掌握常用变频器的应用过程: 3.初步掌握电气原理图的设计过程: 4.*初步了解人机界面的开发过程: 5.对基本电器元件的 ...

最新文章

  1. vs2008格式化代码
  2. Android移动开发之【通往安卓的神奇之旅】Senior VIew高级组件与onClickListener()再探索
  3. apk ionic 破损_cordova – ionic build android不生成任何.apk文件或错误
  4. 满分简便解法:1002 写出这个数 (20分)
  5. java 线程工厂_Java并发编程:Java的四种线程池的使用,以及自定义线程工厂
  6. 【python】collections.Counter()函数
  7. java net time_建了服可是老是提示java.net.SocketTimeoutException: Read time
  8. 中芯国际:与阿斯麦集团签订购买单 总价12亿美元
  9. OpenShift 4 - Fedora CoreOS (3) - 定制 CoreOS ISO
  10. 解决Zarp报错,成功运行
  11. 为什么区块链世界既需要计算机科学家也需要经济学家?
  12. B+树数据库加锁历史
  13. 关于Python、R、VBA、SAS的生成批量变量名与动态变量引用的问题
  14. 每天多抽出一分钟看书,让你的什么更加精彩。1111节当当购书码
  15. RTP Payload Format for High Efficiency Video Coding (HEVC)
  16. 将视频背景扣掉换成白色相关知识
  17. 华为 1+X《网络系统建设与运维(中级)》认 证实验模拟上机试题
  18. Marvell交换机芯片SMI接口读写协议
  19. intel NVME SSD 性能 P5600 P5510 P5520
  20. MongoDB初认识

热门文章

  1. 【keil5】安装及注册
  2. SSH三大框架的工作原理及流程
  3. linux 卸载opera,Ubuntu中安装Opera 55 浏览器
  4. 线性代数(同济) 第六版 复习
  5. 通用条形码生成 API 接口
  6. REFPROP导出温熵数据绘图
  7. readelf ELF 文件格式分析
  8. 获取Adobe Flash 及Reader安装包
  9. Python3网络爬虫:requests+mongodb+wordcloud 爬取豆瓣影评并生成词云
  10. shp地图如何导入奥维地图手机_奥维地图如何导入路线数据?