일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Kentmere 400
- fujifilm velvia 50
- G28/2.8
- Rollei35s
- Leica M7
- FujiFilm GFX50s
- Kodak Ektar 100
- Hasselblad 500cm
- cf50/4 fle
- 2018 미국출장
- Contax G2
- Minolta TC-1
- SONY A7
- 4870
- Kodak 5222
- Kodak T-Max 100
- GRD2
- Germany
- cs50/2.5
- N80/4
- Mamiya 7
- Kodak 400TX
- Minolta CLE
- FujiFilm C200
- 2019 유럽여행
- kodak t-max 400
- cf80/2.8
- Nikon 28Ti
- ZeissIkon ZI
- M-Rokkor 40/2
- Today
- Total
목록컴퓨터/Firmware (47)
J 창고
기본 IO 프로그래밍 기법 http://cafe.naver.com/circuitsmanual/354 http://cafe.naver.com/circuitsmanual/4618 키패드 스캔 http://cafe.naver.com/circuitsmanual/1747 http://cafe.naver.com/circuitsmanual/25440
Fast PWM을 활용하여 LED 점등을 구현해봄 위의 영상 같이 LED가 점점 밝아짐을 확인해 볼 수 있다 Fast PWM은 기본적으로 톱니바퀴(?) 방식으로 카운트를 하는데 카운트를 하면서 OCRn 레지스터와의 비교를 통해 Compare Match가 되면 인터럽트가 발생하고 OCn Output을 Toggle 한다. TCNTn의 카운트가 0xFF가 되거나 Interrupt가 발생했을 때 OCn Output을 초기상태로 리셋해준다. Fast PWM과는 다르게 Phase Correct PWM은 TCNTn 카운트를 처음엔 Up카운트를 하고 그 이후에 Down카운트를 한다. 인터럽트는 최고 카운트 0xFF가 되었을 때 나오고 최하 카운트 0x00에서는 TOVn Interrupt Flag가 셋 된다. 이와중에 ..
8Bit Timer/Counter InterruptExternel Interrupt74HC595 8Bit Shift Register 를 사용하여 분단위 Stop Watch를 제작 뭐 제대로 만든건지는 확실하게 모르겠지만 ㅎㅎㅎㅎㅎ;;; 4 Digit FND와 74HC595 회로는 http://wjs890204.tistory.com/755에 포스팅 되어 있으니 참고 이건 외부 인터럽트를 위한 스위치 회로인데 C1은 채터링 현상 방지를 위해서 하나 낑굼 검색해보니 소자 끼는 것 보단 소프트웨어로 처리하는게 좋다고 하는데나는 외부 인터럽트를 사용하려고 했기 때문에그건 아무래도 힘들 것 같아서 하드웨어적으로 처리했다.소프트웨어적으로 처리하는 방법으로는 약간의 미세한 딜레이를 주는 방법과아니면 채터링이 생기는 것..
상위 2digit은 sec, 하위 2digit 은 microsec로 FND 카운트가 60.00 sec 가 넘어가면 리셋되는 방식으로(분 카운트도 하고 싶지만 74HC595가 부족해서... ㅠㅠ) 시계 구현.. 이제 Externel Interrupt 를 이용해서 스탑워치를 셋팅 예정. Prescaler = 64OCR0 = 249 16Mhz / 64 / (1+249) = 1000Hz 1000Hz => 1ms 1ms 단위로 인터럽트 발생하고 발생할 때마다 count++ 하고 count = 10 이 초시계 msec++ 하여 초시계 작동 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354..
회로도는 http://wjs890204.tistory.com/755 에 있으며 저기에 더 추가해서 총 4 Digit으로 구성했다 다만 상위 2 Digit은 Common Cathode 이고 하위 2 Digit은 Common Anode 이다 그래서 하위 2 Digit을 HC595write 함수에 전달할 때 반전 시켜준다. 배선은 PORTA.0 DS (DATA)PORTA.1 STCP (LATCH)PORTA.2 SHCP (CLOCK) 로 구성했다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778/*..
내가 갖고 있는 2-Digit FND는 Comon-Cathode 방식으로 어렵사리 찾은 데이터 시트... 위의 방식으로 연결되어 있다. 모델명 : LTD-5x23A (Common Cathode) 또 집에 있는 1-Digit FND는 모델명 : FND507 (Common Anode) 이걸 Atmega 128에 74HC595 8Bit Shift Register 에 연결해서 사용하고자 한다면 아래와 같은 회로도로 구성하면 된다. 아쉽게도 2-Digit FND 라이브러리가 없어서... (만들긴 귀찮고) 그냥 하나짜리로 대체해서 만들었음. 이렇게 구성하고 타이머/카운터 인터럽트와 외부 인터럽트를 사용해서 한번 뭔가 만들고자 만들어 봄. 74HC595 핀배치도 Datasheet