avr單片機proteus仿真第四課:控制繼電器
繼電器(Relay),作用是用弱電控制強電。比如,我們用avr單片控制一個220V電壓的燈泡,這就必須用到繼電器。
本課用avr單片機來控制繼電器的吸合與斷開。
Proteus仿真實驗器件:
1 atmega128一塊
2 button,按鍵一個
3 relay,通用繼電器一個,并把繼電器的Component Value設(shè)置為5V
4 pnp三極管一個
5 LAMP,燈泡一個改為220V
6 resistor 1k
7 DIODE 二極管一個
這個程序?qū)嶋H上很簡單,主要要學(xué)習(xí)繼電器的用法,注意的是,繼電器必須接一個二極管。
仿真程序如下:
#include
#include
#define int8u unsigned char
#define int16u unsigned int
#define k1_down() (PINB & _BV(PB7))
#define relay_switch() PORTD^=_BV(PD4)
int main()
{
DDRD=0xff;
PORTD=0xff;
DDRB=0x00;
PORTB=0xff;
while(1)
{
if(k1_down() )
{
while(k1_down() );
relay_switch( );
_delay_ms(20);
}
}
}