AVR > 74HC595로 포트 확장하기

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > AVR

포트 | 74HC595로 포트 확장하기

페이지 정보

작성자 키트 작성일17-08-25 17:11 조회2,548회 댓글0건

본문

// HC595_CLK과 HC595_LATCH는 rising edge에서 입력됩니다.
// 첫번째 QH(HC595_9 pin)을 두번째 SI(HC595_14 pin)에 연결 해주면 16비트 출력이 됩니다.
// 이네이블 /G(HC595_13 pin)은 GND에 연결 
// 시프트레지스터 크리어 /SCLR(HC595_10 pin)은 5V에 연결 
//
// 코드비젼 
#include <mega128.h>
#include <delay.h>

#define HC595_SHIFT  PORTA.0 // CLK(HC595_11 pin)
#define HC595_LATCH  PORTA.1 // RCK(HC595_12 pin)
#define HC595_DATA   PORTA.2 // SI(HC595_14 pin)

void HC595write(unsigned int udat){
    char i;
    for(i=0; i<16;i++){ HC595_DATA=(udat>>i)&1; HC595_SHIFT=1; HC595_SHIFT=0; } // HC595 시프트
    HC595_LATCH=1; HC595_LATCH=0; // 이 시점에서 HC595 출력에 반영됨
}


void main(void){

    int i=0;
    PORTA=0; // HC595_SHIFT=0; HC595_LATCH=0; HC595_DATA=0;
    DDRA=0x07;
    while(1){
        HC595write(i++);
        delay_ms(500); //0.5초 딜레이
    }
}

댓글 : 0

조회수 : 2,548

등록된 댓글이 없습니다.

게시물 검색

AVR 목록

게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전