欢迎来到天天文库
浏览记录
ID:15673416
大小:50.50 KB
页数:18页
时间:2018-08-04
《单片机课程设计-直流风扇电机转速测量与pwm控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机课程设计_直流风扇电机转速测量与PWM控制一.设计思路程序应用模块化进行设计,主要有初始化模块、显示模块、读键模块、数制转换模块、双字节除法模块、中断模块和控制调节模块。编程次序可按此先后进行。初始化模块:8155工作方式、T0和T1工作方式、标志位状态、所用单元初值、中断设置以及初始显示等。显示模块:设定值和实测值的数值与字符动态显示。读键模块:从I/O口依据某位数码管亮时读入小按键是否有效,然后根据四个小键盘的不同功能进行相应的处理,只要设定值一改变立刻显示。加1键和减1键要有连加连减功能。数制转换模块:将二进制转换为十进制
2、。外部中断模块:将转1圈的时间通过双字节除法程序求出即时转速。定时中断模块:PWM输出波形形成。控制调节模块:通过设定值和实测值的比较来改变脉冲波的占空比,该数据的调节分为简单比例调节PP和比例积分调节PI。调节公式分别为:YK=YK1+KP*EKYK=YK1+KP*EK+KI*EK2YK:要输出的数据YK1:上次输出的数据EK:设定值和实测值的差值EK1:上次的EK值EK2:EK-EK1的差值KP:比例系数(设KP=1~2)KI:积分系数(设KI=1~2)一. 带注释软件清单;==========使用单元设定==========
3、//..................................使用单元设定 DIS0EQU30H DIS1EQU31H DIS2EQU32H DIS3EQU33H LEDEQU34H TM1EQU35H; TM2EQU36H; INTVBIT37H;中断标志 THXEQU38H;定时脉宽高电平 CISHUEQU39H FIRSTBIT41H;检测加减是否第一次按下 SET1BIT42H SETZ0EQU43H;设定当前设定值SETZ0~SETZ3
4、 SETZ1EQU44H SETZ2EQU45H SETZ3EQU46H TM3EQU47H;循环次数单元 JIA1BIT48H; 单步加标志 LIANJIABIT49H;连加标志 JIAN1BIT50H;单步减标志 LIANJIANBIT51H;连减标志 SETDATAEQU52H;设定速度暂存单元 REALDATAEQU53H;实测速度暂存单元 YK1EQU54H;上次输出数据暂存单元 KPEQU56H;比例系数 KIEQU57H;积分系数 EKEQ
5、U58H;设定值和实测值的差值 EK1EQU59H;上次的EK值 OUTPUTEQU60H; EK2EQU61H;EK-EK1的值 ONPRESSBIT62H;判定ENTER键是否弹起标志 TMSEQU63H;闪烁时长 SHANBIT64H;闪烁标志;==========主程序========== ORG0000H SJMPMAIN ORG0013H;外部中断1入口地址 AJMPINX1 ORG001BH;定时器T1中断入口地址 AJMPI
6、TX1 ORG0070HMAIN: MOVSP,#70H;设定堆栈指针入口地址 ACALLINIT;调用初始化程序 M1: JBSET1,FLASH;当前为设置状态则跳到闪烁显示模块 ACALLDISP;否则为一般显示 SJMPNEXTTFLASH:ACALLDISP1NEXTT:ACALLDELAY;调用按键延时程序 ACALLM2;调用按键程序 DJNZCISHU,M1;第隔100MS刷新一下实测值 MOVCISHU,#20ACALLCONTROL;
7、调用控制调速模块 SJMPM1//==========初始化模块========== INIT:MOVDPTR,#0FD00H ;设置PA、PB为输出口,PC为输入口 MOVA,#03H MOVX@DPTR,A MOVTMOD,#21H ;定时器/计数器T1为方式2,定时器/计数器T0为方式1 MOVTL0,#00H ;定时器/计数器T0赋初值#00H MOVTH0,#00H MOVTHX,#0BBH ;输出单元赋初值#0BBH,即脉冲高电平宽度 MO
8、VTH1,THX MOVTL1,THX SETBTR1 ;启动定时器/计数器T1 SETBTR0 ;启动定时器/计数器T0 SETBET1 ;允许定时器/计数器T1溢出中断
此文档下载收益归作者所有