3.3.4报警电路设计
蜂鸣音报警的发音器件常采用压电式蜂鸣器。压电式蜂鸣器约需10mA的驱动电流,因此,可以使用TTL系列集成电路7406或7407低电平驱动,如图3-7,图中驱动器的输入端接C8051的P3.1。当P3.1输出高电平“1”时,7406的输出为低电平“0”,使压电蜂鸣器引线获得将近5V的直流电压,而产生蜂鸣音。当P3.1端输出低电平“0”时,7406的输出端升高约+5V,压电蜂鸣器的两引线间的直流电压降至接近于0V,发音停止。
图3-7蜂鸣音报警电路
3.4软件设计 3.4.1 主程序设计
主程序完成实时性不高的功能,完成系统初始化后,实现键盘处理、刷新显示、与上位计算机和其他外设通信等功能。主程序框图如图3-8所示。
主程序系统初始化no有键按下吗?yes键处理刷新显示数据通信
图3-8主程序框图
3.4.2 键盘、显示子程序设计
键盘和显示的流程图如图3-9和3-10所示。
第 16 页
开始初始化输出扫描码yes防抖取出键值BCD调整显示第一行按键nonoyes第一行按键yesno第一行按键yesno第一行按键no下一行no超过四行?
图3-9键盘程序流程图
键盘子程序 ORG 0 START: MOV R0,#0
MOV R1,#4 MOV R2,#EFH
SCAN: MOV A,R2 MOV P2,A
JNB P2.0,KEYIN INC R0
JNB P2.1,KEYIN INC R0
JNB P2.2,KEYIN
INC R0
JNB P2.3,KEYIN
INC R0 MOV A,R2 RL A MOV R2,A
DJNZ R1,SCAN JMP START
KEYIN:CALL DEBOUNCE MOV A,R0 DA A MOV P1,A JMP START DEBOUNCE:MOV R7,#40 D1: MOV R6,#200
第 17 页
DJNZ R6,$ DJNZ R7,D1
RET
END
开始最右边显示左边第四个字显示调用延迟子程序调用延迟子程序右边第二个字显示左边第三个字显示调用延迟子程序调用延迟子程序右边第三个字显示左边第二个字显示调用延迟子程序调用延迟子程序右边第四个字显示最左边显示调用延迟子程序调用延迟子程序
图3-10显示程序流程图
显示子程序:ORG 0
START:MOV P1,#10H CALL DELAY MOV P1,#11H CALL DELAY MOV P1,#12H CALL DELAY
MOV P1,#13H
CALL DELAY
MOV P1,#14H
CALL DELAY
MOV P1,#15H
CALL DELAY
MOV P1,#16H
CALL DELAY
MOV P1,#17H
第 18 页
CALL DELAY
JMP START
DELAY:MOV R7,#10 D1: MOV R6,#200 DJNZ R6,$ DJNZ R7,D1 RET
END
3.4.3 转速调节数字PI子程序设计
进入转速调节器中断服务子程序后,首先应保护现场,再计算实际转速,完成转速PI调节,最后启动转速检测,为下一步调节器做准备。在中断返回前应恢复现场,使被中断的上级程序正确可靠地恢复运行。
具体的程序如下:
ORG 0 PUSH PSW PUSH A SETB RS0 MOV A,20H MOV 22H,32H MOV 23H,33H CPL RS0 POP A POP PSW CALL PISF MOV R0,32H MOV R1,33H RET END
3.4.4 电流调节器数字PI子程序设计
电流调节器中断服务子程序主要完成电流PI调节器和PWM生成功能,然后启动A/D转换,为下一步调节左准备。
具体的程序如下:
ORG 0 PUSH PSW PUSH A SETB RS0 MOV A,22H
第 19 页
MOV 22H,52H MOV 23H,53H CPL RS0 POP A POP PSW CALL PISF MOV R0,52H MOV R1,53H RET END
3.4.5 数字滤波子程序设计
在检测得到的转速信号中,不可避免地要混入一些干扰信号。采用模拟测速时,常用由硬件组成的滤波器来滤除干扰信号;在数字测速中,硬件电路只能对编码器输出脉冲起到整型、倍频的作用,往往用软件来实现数字滤波。数字滤波具有使用灵活、修改方便等优点,不但能代替硬件滤波器,还能实现硬件滤波器无法实现的功能。数字滤波可以用于测速滤波,也可以用于电压、电流检测信号的滤波。常用的数字滤波方法:算术平均值滤波、中值滤波和中值平均滤波。
本次设计用的数字滤波程序的流程图如图3-11所示。
将已有输出视在为上次输出进行一次新的采样得Xn计算α×Xn暂存入Yn中计算(1-a)Yn-1累加到Yn中返回图3-11数字滤波的程序流程图
数字滤波的具体程序如下:
ORG 0 MOV A,30H MOV 31H,A
第 20 页