; HSYNC_GEN 标准行同步信号发生器
; 作者:泉州广播电视台 庄智慧
;
; 时钟频率:27.000MHz,STC-Y3指令集
; 适用于STC12C系列单片机
HSYN EQU P1.0
VBNK EQU P1.1 ;场脉冲测试口
ORG 0000H
ACALL MAIN
ORG 0100H
MAIN: ; 主程序循环
FIELD_EVEN: ; 偶数场开始
MOV R0,#005 ;2 CLK ;行消隐前肩 1.3us 2 CLK
DJNZ R0,$ ;4 CLK x 5 ;后肩在子程序中
NOP ;1 CLK ;分立的前肩便于调整时序
NOP
NOP
MOV R1,#200 ; 为Loop M4设置初值
MOV R2,#87 ; 为Loop M5设置初值
MOV R3,#17 ; 为Loop M3设置初值
CLR VBNK
ACALL GEN_H_EQU ;场消隐期/开始,共25行
ACALL GEN_H_EQU
ACALL GEN_H_EQU
ACALL GEN_H_EQU
ACALL GEN_H_EQU
ACALL GEN_TOOTH ;场同步及齿脉冲
ACALL GEN_TOOTH
ACALL GEN_TOOTH
ACALL GEN_TOOTH
ACALL GEN_TOOTH
ACALL GEN_H_EQU ;场同步结束/后均衡
ACALL GEN_H_EQU
ACALL GEN_H_EQU
ACALL GEN_H_EQU
ACALL GEN_H_EQU
ACALL GEN_H_HALF_MUTE ;半个扫描行
LOOPM3: ACALL GEN_H_SYNC
ACALL GEN_H_FULL
MOV R0,#007 ;2 CLK ;前肩: 35 CLK 1.3us
DJNZ R0,$ ;4 CLK x 7
NOP ;1 CLK
NOP
SETB VBNK
DJNZ R3, LOOPM3 ;场消隐结束
LOOPM4: ACALL GEN_H_SYNC ;有效行开始
ACALL GEN_H_FULL ;行正程
NOP
MOV R0,#007 ;2 CLK ;行消隐前肩: 35 CLK 1.3us
DJNZ R0,$ ;4 CLK x 7
NOP ;1 CLK
NOP
NOP
NOP
NOP
DJNZ R1, LOOPM4
LOOPM5: ACALL GEN_H_SYNC
ACALL GEN_H_FULL
MOV R0,#007 ;2 CLK ;行消隐前肩: 35 CLK 1.3us
DJNZ R0,$ ;4 CLK x 7
NOP ;1 CLK
NOP
NOP
NOP
NOP
NOP
DJNZ R2, LOOPM5
ACALL GEN_H_SYNC
ACALL GEN_H_HVALID ;偶场结束于半个有效行
FIELD_ODD: ; 奇数场开始
MOV R0,#005 ;2 CLK ;前肩: 35 CLK 1.3us
DJNZ R0,$ ;4 CLK x 7
NOP ;1 CLK
NOP
NOP
MOV R1,#200 ; 为Loop M0设置初值
MOV R2,#87 ; 为Loop M1设置初值
MOV R3,#17 ; 为Loop M2设置初值
CLR VBNK
ACALL GEN_H_EQU ;场消隐期/开始
ACALL GEN_H_EQU
基于51系列单片机的PAL标准行同步信号发生器
最新推荐文章于 2024-06-26 17:15:11 发布
本文介绍了如何使用STC12C系列51单片机,基于27MHz时钟频率,通过汇编语言编写程序来生成PAL标准的行同步信号。程序详细阐述了偶数场和奇数场的扫描过程,包括行消隐、场同步、齿脉冲、有效行等关键信号的生成方法。

最低0.47元/天 解锁文章
1878

被折叠的 条评论
为什么被折叠?



