参考文献
[1]张友德等,单片机原理应用与实验[M],复旦大学出版社1992. [2]张毅刚,彭喜源,谭晓钧,曲春波.MCS-51单片机应用设计[M].哈尔滨工业大学出版社2001.1.
[3]宋庆环,才卫国,高志,89C51单片机在直流电动机调速系统中的应用[M]。唐山学院,2008.4
[4]陈 锟 危立辉,基于单片机的直流电机调速器控制电路[J],中南民族大学学报(自然科学版),2003.9.
[5]李维军 韩小刚 李 晋,基于单片机用软件实现直流电机PWM调速系统[J],维普资讯,2007.9
[6]曹巧媛.单片机原理及应用[M].北京,电子工业出版社,1997. [7]刘大茂,严飞.单片机应用系统监控主程序的设计方法[J].福州大学学报(自然科学福建农林大学硕士论文版),1998.2.
[8]http://hi.http://www.china-audit.com//wolfwhite/blog/item/1e23bf09e83e16256b60fbf8.html
[9]朱定华,戴汝平编著.单片机原理与应用[M].清华大学出版社北方交通大学出版社,2003.8.
[10]http://www.dianzi9.cn/danpianji/200808/10-846.html
[11]薛钧义 张彦斌编著. MCS—51/96系列单片微型计算[M].西安交通大学出版社,1997.8
[12]陈国呈 编著.PWM逆变技术及应用[M].中国电力出版社.2007年7月 [13]马忠梅 等编著.单片机的C语言应用程序设计(第4版)[M],北京航天航空大学出版社.2007. 4
[14]刘昌华,易逵编著.8051单片机的C语言应用程序设计与实践[M].国防工业出版社2007.9
[15]模拟电子技术 高等教育出版社 [16]数字电子技术 高等教育出版社
[17]单片机C语言程序设计 北京航空航天大学出版社 [18]单片机原理及应用 中南大学出版社 [19]通信原理及应用 电子工业出版社
22
附录
1.详细电路设计图
23
2.程序
(1)延时程序 void dealy() { uchar i;
for(i=0;i<100;i++); }
void t0(void) interrupt 1 using 0 //定时T0中断服务函数 { tcnt++;
//每过250ust tcnt 加一
if(tcnt==40) //计满40 次(1/100 秒)时
{
tcnt=0; //重新再计 sec++;
if(sec==10) //定时0.1 秒,在从零开始计时 {
sec=0;
TH0=0x06; //对TH0 TL0 赋值 TL0=0x06; miaoshu=count;
count=0; }
}
}
(2)PID运算子程序
void PID_work() {
negsum=0;possum=0; if(BJ==0) {
possum+=k1;
temp[2]=temp[2]+temp[0];}
else
{
24
negsum+=k1;
}
k3=temp[2]/10; if(possum>negsum) {
k2=possum-negsum; //存储结果
else
UK=1; P3=UK;
} (3)主程序
void main()
{
P1=0x00; P3=0x00; CY=0;
temp[1]=k3+k1; //误差积累, {
if(CY==1) }
UK=0xfe; else UK=k1+k3;
//16位判断。
temp[2]=temp[2]-temp[0];
TMOD=0x01; /*定时器0方式1*/ TH0=0xfc; /*定时器装载初值*/ TL0=0x18;
ET0=1; /*开定时器0中断*/ TR0=1; /*启动定时器0*/
while(1)
if(P1_0==1) if(P1_1==1)
{
P1=0xff;
25