本程序设定S9键为增加键。当按住S9键不松开时,输出VOUT以0.1V连续步进,直至S9键松开;当以一定的时间间隔点动S9键时,输出VOUT也为点动步进。递减键S11的功能与S9基本相同。输出电压的值显示在3个LED上,通过这种人机交互设置,可以方便地对电压源输出进行控制。
1.设计流程
源程序的工作过程为:系统上电复位以后,默认输出0V电压,此时3个LED显示00.0V;然后扫描S9和S11键,当S9或S11按下时,程序跳转至相应的按键处理子程序,经过按键处理子程序处理后,置相应的标志位,并处理相应的寄存器的值;再回到主程序中,依据不同的标志送出相应的数字量D给MAX5l8,并把相应的数据送入显示缓冲区,显示电源输出的电压值;程序继续扫描S9和S11,再循环执行前面的步骤。
在程序编制过程中,R3、R2、R1寄存器分别存放3个LED上显示的数字,TXDATA寄存器内存储待转换的数字量Dn,B1F为增减标志(为1时步进增,为0时步进减)。
主函数完成系统的初始化、键盘处理程序的调用及步进电机控制子程序的调用,主函数流程如图1所示,键盘处理子程序流程如图2所示,显示子程序流程如图3所示。
图1 主函数流程图
图2 键盘处理子程序流程
图3 显示子程序流程
2.代码分析
(1)包含必要的头文件及定义程序用到的全局变量。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。