在本例中采用了模块化的编程方法,程序的规划、编写、拼装、调试、修改、
程序流程如图1~图7所示。
图1 主程序流程
图2 中断服务子程序流程
图3 低发音子程序流程
图4 高发音子程序流程
图5 高声1s子程序流程
图6 3声发音子程序流程
图7 延时1s子程序流程
程序的模块化设计是较常用的编程方式,这可以给阅读和交流带来便利。
(1)定义端口及寄存器地址。
(2)定义复位向量和中断向量。
(3)主程序。
(4)INT中断处理函数。
(5)R13中断处理函数。
(6)低音调发声子程序。
(7)高音调发声子程序。
(8)发声1s子程序。
(9)关TRM0延时子程序。
(10)断续发声3次报警子程序。
(11)关软件延时子程序。