发布时间 : 星期日 文章方波信号发生器设计论文更新完毕开始阅读
图23. 定时器初值计算程序流程图
具体程序如下所示:
ORG AJMP ORG
0000H NDIV 0030H
NDIV: MOV MOV MOV MOV MOV MOV
MOV
NDIV1: CLR MOV SUBB MOV SUBB MOV SUBB JC CLR MOV SUBB MOV MOV SUBB MOV MOV
SUBB
R4,#0FH R5,#42H R6,#40H R2,#0FFH R3,#0FFH R0,#0 R1,#0 C A,R6 A,R3 A,R5 A,R2 A,R4 A,#0 NDIV2 C A,R6 A,R3 R6,A A,R5 A,R2 R5,A A,R4 A,#0
MOV CLR INC JC
R4,A C R1 NDIV3 NDIV1 C R3,#0FFH R2,#0FFH A,R3 A,R1 R1,A A,R2 A,R0 R0,A
NDIV4: LJMP NDIV2: CLR
MOV MOV MOV SUBB MOV MOV SUBB MOV RET
NDIV3: INC
LJMP RET END
R0 NDIV4
第三步,是要通过定时器和中断的控制,实现方波的产生。89C51的内部定
时器在使用前应考虑7个特殊功能寄存器的应运:TMOD和TCON的初始化,T0 的初值,以及使用中断时还要用到的SP,IE和IP。
根据前面的介绍,可以很轻松的设置这7个寄存器的初值。定时器0为16位计数器,所以TMOD初值应为11H;TR0,TR1,ET0,ET1和EA都应该置1。程序流程图如下:
图24. 产生方波程序流程图
具体程序如下所示:
ORG AJMP ORG AJMP ORG
0000H START 000BH T0INT 0030H SP,#60H
START: MOV