电阻炉温度控制系统设计(15)
电阻炉温度控制系统设计
2. 温度采集转换源程序
#include
Sbit MAX6675_CS=P1.2;
Sbit MAX6675_SCK=P1.1; Sbit MAX6675_SO=P1.3;
#define SCK_DELAY=10; /*温度值读取程序*/
Unsigned int ReadMAX6675(void) {
unsigned int Value=0; unsigned char count;
MAX6675_CS=0; /*CS置低电平,启动NAX6675*/ MAX6675_SCK=0;
for(count=0;count<3*SCK_DELAY;count++);
for(count=0;count<16;count++) /*得到16位高字节*/ { Value<=1;
MAX6675_SCK=1; /* SCK置高电平*/ for(i=0;i MAX6675_SCK=0; /*SCK置低电平*/ } MAX6675_CS=1; /*停用MAX6675*/ return Value; } #define ERROR10xffff; #define ERROR20xfffe; /*数据转换程序 */ Unsigned int GetCunrrent Temperaure(unsigned int CurrentValue) { Unsigned int TempValue; /* 定义转换温度值(取D14到D3转换温度值)*/ TempValue= CurrentValue; /*定义从MAX6675读到的数据 */ if(TempValue&0x8000) /*D15=1;标识位错*/ return ERROR1; if(TempValue&0x0004) /*D2=1;热电偶开路*/ return ERROR2; TempValue&=0x7ffb; /*取D14位到D3的值*/ TempValue>=3; /*转换温度值*/ return TempValue; } 3. PID控制算法源程序 #define FiltA 0.1 /*PID控制输出的滤波系数*/ #define FiltB 0.9 /*PID控制输出的滤波系数*/ #define Kp 1.75 /*PID控制器的比例系数*/ - 40 - 四川理工学院本科毕业(设计)论文 #define Ki 0.012 /*PID控制器的积分系数*/ #define Kd 3.5 /*PID控制器的微分系数*/ int Err[4][2]; int InteE[]4[2]; int OnMs[4][2]; /* funetion: unsigned char pid(unsigned char i,unsigned char j,unsigned char k,unsigned char l) deseription: this funetion for pid control parameter: i:->channel j:->time k:->set temprature l:->actual temprature retturn: adjust_time一>adjust time */ viod pid(undigned char ch.,int refval) { int DiscE,Tmpr; Err[ch][1]=refval-GetTmp(GetData6675(ch+1)); /*e(k)*/ if(Err[ch][1]>=Emax) InteE[ch][1]= InteE[ch][0]+ Err[ch][1]; else InteE[ch][1]= InteE[ch][0]; DiscE= Err[ch][1]- Err[ch][0]; Tmpr=Kp* Err[ch][1]+Ki* InteE[ch][1]+Kd* DiscE. OnMs[ch][1]=GetOnMs(FiltA*OnMs[ch][0]+ FiltB*Tmpr); Err[ch][0]= Err[ch][1]; InteE[ch][0]= InteE[ch][1]; OnMs[ch][0]= OnMs[ch][1]; } /* funetion: int GetonMs(int OnTime) deseription: output control time parameter: none return: ftmp */ int GetOnMs(int OnTime) { int ftmp; if(OnMs<=0) ftmp=0; else if(OnMs<=100) ftmp=100; - 41 - 电阻炉温度控制系统设计 else ftmp= OnTime; return; } 4. 看门狗程序 #include #include sfr AUXR = 0x8E; /*定义寄存器*/ sfr WDTRST = 0xA6; void clr_wdt(); main() { AUXR = 0xff; /*初始化看门狗相关寄存器*/ while(1) /*主循环*/ { clr_wdt(); /*8191个机器周期内必须至少调用此程序一次,否则看门狗会溢出*/ } } void clr_wdt() { WDTRST = 0x1E; /*清除看门狗指令*/ WDTRST = 0xE1; } - 42 -
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




