FND4 [Harman 세미콘 아카데미] 52일차 - Verilog(Cook Timer - Button controller, Time setting, Down counter, Timeout, Alarm) Full Code는 맨 아래에~ [Button controller] 📌 Button controller module 자주 사용하는 기능이니까 모듈로 만들어 버리자. module button_cntr( input clk, reset_p, input btn, output btn_pe, btn_ne ); // DFF를 위한 분주기 reg [16:0] clk_div = 0; // 이렇게 = 0 해놓으면 시뮬레이션에서 자동으로 0으로 초기화된다. // 보드에서 쓸 때는 시스템적으로 0으로 초기화 always @(posedge clk) clk_div = clk_div + 1; // Debounce wire debounced_btn; D_flip_flop_n debnc(.d(btn), .clk(clk_div[16]).. 2023. 9. 7. [Harman 세미콘 아카데미] 41일차 - Verilog(Review, Memory, Clock Library, Stop watch) [Review] 이전 내용 참조 더보기 https://rangvest.tistory.com/entry/Harman-1%EC%9D%BC%EC%B0%A8-VIVADO-setting [Harman 세미콘 아카데미] 1일차 - VIVADO setting [개요] 시스템 반도체를 설계하는 언어는 대표적으로 2가지가 있다. 1. Velilog : 전자 회로 및 시스템에 쓰이는 하드웨어 기술 언어(HDL, Hardware Description Language) 회로를 설계할 때 사용하는 언어로, rangvest.tistory.com https://rangvest.tistory.com/entry/Harman-1%EC%9D%BC%EC%B0%A8-FPGA-board [Harman 세미콘 아카데미] 1일차 - FPGA bo.. 2023. 8. 23. [Harman 세미콘 아카데미] 23일차 - ATmega128(FND count, PWM, Buzzer, Motor driver) [FND Count] ※ 기능 추가 + FND overfolw 시, LED_Bar로 출력 + Up / Down Count #define F_CPU 16000000UL #include #include #include #defineFND_DATA_DDRDDRA // 데이터 포트 #defineFND_SELECT_DDRDDRF // 셀렉트 포트(자릿수 선택) #defineFND_DATA_PORTPORTA // 0 ~ 7 #defineFND_SELECT_PORTPORTF // 0 ~ 4 // 디스플레이 함수 선언 // void FND_Display(uint16_t data); // 8bit면 255까지밖에 없기 때문에, 4자리 다 쓰려고 16bit volatile uint32_t time_tick; uint16_.. 2023. 7. 19. [Harman 세미콘 아카데미] 22일차 - ATmega128(FND 활용) [FND 활용] 0~9까지 카운팅(No interrupt) #define F_CPU 16000000UL #include #include #include // Segment 배열 선언 // uint8_t seg_arr[] ={ 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x67 }; int main() { int count = 0; DDRA = 0xff; while(1) { PORTA = seg_arr[count]; count = (count+1)%10; // 10으로 나눴을 때 나머지는 0~9이므로 _delay_ms(500); } } 0~9999까지 Count(No interrupt) #define F_CPU 16000000UL #include #in.. 2023. 7. 18. 이전 1 다음