单片机 可控硅导通角

2020-01-27 11:31发布

请教:我用单片机控制可控硅调压,控制可控硅的导通角:
    当外部中断接到同步信号(50hz)中断后,中断方式:边沿触发,那么是不是1S内应该中断100次,但可控硅是整流器件,在正向电压时才导通,那么1S内应该导通的波头有50个。
    如果控制导通角的话,是不是应该在每个周期的高电平(即10MS)处开始延时控制导通角,我想问的是:当外部中断0中断的时候,如果中断的是下降沿,单片机收到的是低电平,这个时候肯定不能延时导通,这个时候应该如何处理?是延时吗等下一个中断吗?可我用的是外部中断0,是不是也要做判断高电平或低电平?还是如何处理。请高手指教 。谢谢!!!!!!!!能否给一个编程思路

可控硅控制电路 (原文件名:22222222222222222.JPG)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
33条回答
laomu
2020-01-31 15:56
汇编的:
int_ser:
        bts0        ac_in
        jmp        @f
        bset        f_l
        bts1        f_h
        jmp        int_ser20
        bclr        f_h
        jmp        int_ser10
@@:
        bset        f_h
        bts1        f_l
        jmp        int_ser20
        bclr        f_l
int_ser10:
        bclr        f_open
        clr        time_delay
        clr        time_open
int_ser20:
        bts0        f_open                ;开可控硅标志
        jmp        int_ser60
        incms        time_delay
        mov        a,time_delay
        sub        a,delay_ref        ;等多久才开
        bts1        fc
        jmp        int_ser90
        clr        time_delay
int_ser70:       
        bclr        out
        bset        f_open       
        jmp        int_ser90
int_ser60:
        incms        time_open
        mov        a,time_open        ;开多长时间
        sub        a,#10
        bts1        fc
        jmp        int_ser90       
        clr        time_open
int_ser80:
        bset        out       
int_ser90:
        pop
        reti

一周热门 更多>