๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป Microprocessor4

[6์ฃผ์ฐจ] (Led Matrix) Capston Challenge ๋ฌธ์ œ 1 ๋งˆ์ง€๋ง‰ ํ–‰๋งŒ์„ On ๋ฌธ์ œ ์ดํ•ด ์• ๋…ธ๋“œ ํƒ€์ž…์„ ์ด์šฉ row : high, col : low ์ผ๋•Œ led on ๋˜๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•˜์ž ์ฝ”๋“œ int pin[17] = { -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 }; int col[8] = { pin[9], pin[10], pin[11], pin[12], pin[13], pin[14], pin[15], pin[16] }; int row[8] = { pin[1], pin[2], pin[3], pin[4], pin[5], pin[6], pin[7], pin[8] }; void setup() { // put your setup code here, to run once: for (in.. 2022. 10. 13.
[5์ฃผ์ฐจ] (Timer Counter Interrupt) Capston Challenge ๋ฌธ์ œ 2-1 LED, Buzzer ์‚ฌ์šฉ 2์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๊ต๋Œ€๋กœ ์ ๋ฉธ ์Šค์œ„์น˜๊ฐ€ ๋ˆŒ๋ฆด ๊ฒฝ์šฐ Buzzer ๋™์ž‘ delay() ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฌธ์ œ ์ดํ•ด ๋ฌธ์ œ ๊ทธ๋Œ€๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ์ฝ”๋“œ int switch_state; int int_sw = 2; int LED1 = 22; int LED2 = 24; int BUZZER = 8; int LED1_state = HIGH; int LED2_state = LOW; void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(BUZZER, OUTPUT); } void loop() { flush(); switch_state = digitalRead(2); if (switch_state == HIGH) { d.. 2022. 10. 9.
[2์ฃผ์ฐจ] (External Interrupt) Caston Challenge 4 โ€ป Caston Challenge 2๋ฒˆ, 3๋ฒˆ ๋ฌธ์ œ๋Š” ํ•˜๋“œ์›จ์–ด์  ๊ตฌ์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ - ์Šค์œ„์น˜ 1์€ Falling Edge๋กœ - ์Šค์œ„์น˜ 2๋Š” Rising Edge๋กœ ์„ค์ • - AVR ๋ช…๋ น์–ด(PORT ์ž…์ถœ๋ ฅ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Interrupt ์‹คํ—˜ - ์Šค์œ„์น˜ 1 Debounce ํšŒ๋กœ๋ฅผ ์„ค๊ณ„ - ์Šค์œ„์น˜ 2 ์ผ๋ฐ˜ ํšŒ๋กœ๋กœ ์„ค๊ณ„ - ์Šค์œ„์น˜ 1 LED 4๊ฐœ๊ฐ€ LSB ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๋ˆ„์ ํ•˜์—ฌ On, LCD์—๋Š” 1ํ–‰์—๋Š” “Falling Edge” Displayํ•˜๊ณ , 2ํ–‰์—๋Š” ํ˜„์žฌ LED๊ฐ€ ๋ช‡๊ฐœ On ๋˜์—ˆ๋Š”์ง€ ๊ฐœ์ˆ˜๋ฅผ Display - ์Šค์œ„์น˜ 2 LED 4๊ฐœ๊ฐ€ MSB ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ด๋™ํ•˜๋ฉด์„œ On, LCD์—๋Š” 1ํ–‰์—๋Š” “Rising Edge”๋ผ๊ณ  Display, 2ํ–‰์—๋Š” MSB ๊ธฐ์ค€์œผ๋กœ ์ฒซ๋ฒˆ์งธ LED๋ฅผ 1์ด๋ผ๊ณ  ํ–ˆ์„.. 2022. 10. 5.
[2์ฃผ์ฐจ] Capston challenge 1 External Interrupt Process์˜ ๋Œ€ํ•œ ์ดํ•ด์™€ External Interrupt Register๋ฅผ ์ด์šฉํ•œ ์„ค๋ช… ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์ด 4๊ฐ€์ง€์˜ mode๊ฐ€ ์žˆ๋‹ค. Low, Rising, Falling, Change Atmega2560์€ 8๊ฐœ์˜ External Interrupt๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์šฐ์„  ์ˆœ์œ„(Priority)์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜๋‹ค. External Interrupt์˜ ์‚ฌ์šฉ ์กฐ๊ฑด Status Register์˜ 7๋ฒˆ์งธ I๋น„ํŠธ๋ฅผ '1'๋กœ Enableํ•œ๋‹ค. ํ•ด๋‹น External Interrupt Mask Register๋ฅผ "1"๋กœ Enableํ•œ๋‹ค. External Interrupt๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ Interrupt Vector๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• External Interrupt Flag Registe.. 2022. 9. 12.
๋ฐ˜์‘ํ˜•