毕业设计论文格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PID调节器主控部分包括以下几个部分:单片机部分、A/D转换部分、D/A转换部分、稳压部分、数字输入输出部分以及串口通信部分。
D1:部设定点信号灯
S1:部设定点和外部设定点转换开关
D2:手动信号灯
S2:手动自动转换开关
D3:实际值X显示信号灯
D4:设定值W显示信号灯
S3:参数修改以及实际值和设定值显示转换开关
D5:超过限定值信号灯
D6:低于限定值信号灯
S4:设定值增加按钮
S5:设定值减少按钮
S6:修改手动变量按钮
S7:修改手动变量按钮
附录[1] 主程序—MAIN.C
#include"adconver.h"
#include"delay.h"
#include"dis7281.h"
#include"STC12C5410AD.H"
#include"main.H"
#include"subkey0.h"
#include"subkey1.h"
#include"subkey2.h"
#include"subkey3.h"
#include"subkey4.h"
#include"subkey5.h"
#include"subkey6.h"
bit insertsetframe=1;//部设定标志位
bit handframe=1;//手动设定标志位
bit improvedisframe=0;//实际值标志位
bit shineframe=0;//判断是不是第一次开机停止4LED的闪烁bit canshuframe=0x00;//参数标志位
unsigned char circleframe=0x00;//参数循环变量unsigned char channelframe=0x00;//通道标志位unsigned char ledframe=0xfc;//LED灯管状态unsigned char times=0x00;//记数位
unsigned char readkey;
unsigned int setvalue=0x00;//设定值
unsigned char outputvalue=0x00;//输出值
unsigned int limup=0x270f;//实际值上限
unsigned int limdown=0x00;//实际值下限
unsigned int a1=0x270f;//上限报警值
unsigned int a2=0x00;//下限报警值
unsigned int cp=0x00;//P参数unsigned int ci=0x00;//I参数unsigned int cd=0x00;//D参数unsigned char led[6];//LED值公共main()
{
unsigned int tmr;
unsigned char keynumber;
for (tmr=0;tmr<0xffff;tmr++);
write7281(0x12,0x80);
write7281(0x10,0xf0);
write7281(0x00,0xc8);
write7281(0x14,0x1b);
write7281(0x14,0x2e);
write7281(0x15,0x30);
write7281(0x15,0x40);
write7281(0x15,0x50);
write7281(0x06,0xfc);
while(1)
{
while(!key)
keynumber=read7281(0x13); switch(keynumber)
{
case 0x00:
subkey0();break;
case 0x01:
subkey1();break;
case 0x02:
subkey2();break;
case 0x03:
subkey3();break;
case 0x04:
subkey4();break;
case 0x05:
subkey5();break;
case 0x06:
subkey6();break;
default:
break;
}
}
}
附录[2] S1模块的程序—SUBKEY0.C #include"delay.h"
#include"dis7281.h"
#include"STC12C5410AD.H"
#include"main.H"
#include"subkey0.h"
void subkey0()
{
if(insertsetframe==1)
{
insertsetframe=0;
ledframe|=0x01;
write7281(0x06,ledframe);
}
else
{
insertsetframe=1;
ledframe&=0xfe;
write7281(0x06,ledframe);
}
}//更改部设定和外部设定的状态,并将相应的状态位进行更改,并更改状态灯附录[3] S2模块的程序—SUBKEY1.C
#include"delay.h"
#include"dis7281.h"
#include"STC12C5410AD.H"
#include"main.H"
#include"subkey1.h"
void subkey1()
{
if(handframe==1)
{
handframe=0;
ledframe|=0x02;
write7281(0x06,ledframe);
}
else
{
handframe=1;
ledframe&=0xfd;
write7281(0x06,ledframe);
}
} //更改手动自动状态,改变相应的状态位,更改相应的状态灯