智能电源板调试与编程日记(9)
已有 3269 次阅读
2009-7-5 21:30
|个人分类:地球物理及仪器|系统分类:科研笔记|
日记, 仪器开发, 电源板, 调试, AT89C51AC2
2009-07-02 星期四 晴:通过查阅资料,觉得单片机的定时器0可以用上。将TIMER 0 设置成16位定时器模式,经计算大概33ms产生一次中断。在中断服务程序中再设计一个软件计数器,每计数到30对一个位变量置位,再重新计数。在主程序中检测该位变量的状态,如发现该位变量被中断服务程序置位时采集电池电压,向串口输出电源板状态信息,并将该位变量复位。其它时候则不输出电源板信息。主程序每循环一次就进入待机状态,只有中断发生后才继续运行。这样就保证了单片机系统以比较低的平均功耗运行。刚开始用状态寄存器PSW的FO作为状态变量,但不知为什么在主程序中检测不到F0的变化。估计是PSW的值在退出中断服务程序后被恢复了。定义一个全局位变量后,问题得到解决。实现了每秒钟输出一次电源板电池电压等状态信息。
https://blog.sciencenet.cn/blog-39626-242018.html
上一篇:
智能电源板调试与编程日记(8)下一篇:
智能电源板调试与编程日记(10)