智能电源板调试与编程日记(5)
已有 3699 次阅读
2009-7-1 18:05
|个人分类:地球物理及仪器|系统分类:科研笔记|
日记, 仪器开发, 电源板, 调试, AT89C51AC2
2009-06-28 星期天晴:编写程序对3组电源进行控制,程序无法实现P0.0~P0.3的输出发生变化。电源也就无法控制。通过查阅AT89C51AC2的说明书,发现P0的上拉电阻只有在存储器写周期才发挥作用。需要用锁存器才能锁定P0的输出。于是将P0.0~P0.3到电源控制插座的走线全部割断,更改成P1.4~P1.7的输出作为电源控制信号。通过走4根飞线将P1.4~P1.7的输出连接到电源控制插座上。修改程序后进行测试,发现P1.4~P1.7的输出正常,可以正常控制三组电源工作。
之后编程序通过中断INT0和INT1触发电源的开和关。测试发现INT0可以实现电源导通,但INT1导致整个程序死机,并且按下电源开按钮不放时串口停止输出。再一次查阅AT89C51AC2的说明书,将中断改成下降沿触发模式。串口输出停止的问题得到解决。但INT1导致死机的问题还是存在。对说明书进一步查阅,发现问题出在中断号上。INT0和INT1的中断号分别是0和2。而我弄成了1和3。中断号修改后电源可以正常控制了。很奇怪的是刚开始中断号根本就不对,为什么程序可以响应INT0和INT1中断?
https://blog.sciencenet.cn/blog-39626-241374.html
上一篇:
智能电源板调试与编程日记(4)下一篇:
智能电源板照片与功能说明