系统主程序首先对端口进行设置,先假设端口A为模拟电压的输入端口,将RA0端口进行设置后再开中断,进入程序的循环,每采样3次就调用排序程序处理一次,然后将中值存储到OUT中。主程序的流程如图1所示。
图1 主程序流程
中断处理函数执行顺序如下:
· 首先进行现场保护。
· 然后判断是第几次采样。
· 判断后将采样值存储到相应的存储单元。
中断函数的流程如图2所示。
排序函数首先对AD1和AD2进行排序,将大的值存储到AD1中,将小的值存储到AD2中;再对AD2和AD3进行排序,将大的值存储到AD2,将小的值存储到AD3;最后,又一次对AD1和AD2进