我只会汇编,不会C。
很简单的。
过零检测,自然是有下降沿、上升沿了。必须使用P3.2(或P3.3) 外部中断INT0脚。设置INT0下降沿中断,中断响应后启动定时器T0(或T1)计时,定时器溢出中断时,对应脚输出高电平(根据你的电路决定是高电平还是低电平),触发可控硅导通。
定时器的初始值可以用软件随时改变。初始值越小,灯越亮,越大,灯越暗。但初始值不能大于10ms。否则进入另一个半波了,输出不正常了。
最要用中断口检测过零信号,这样只要设置定时器的时间,即可调压。
用外部中断 光耦从导通状态到截止时 会中断