μ΄ νλ‘μ νΈλ PIC16F877A λ§μ΄ν¬λ‘컨νΈλ‘€λ¬λ₯Ό μ¬μ©νμ¬ λ²νΌ μ λ ₯κ³Ό LCD λμ€νλ μ΄λ₯Ό ν΅ν΄ LED μνλ₯Ό μ μ΄νλ κ°λ¨ν μλ² λλ μμ€ν μ λλ€. λ²νΌμ λλ₯Ό λλ§λ€ LEDμ μνκ° λ³κ²½λλ©°, LCDμλ "LED ON" λλ "LED OFF"κ° νμλ©λλ€. μ΄ μμ€ν μ μ΄μ λΈλ¦¬ μΈμ΄λ‘ μμ±λμμ΅λλ€.
- LED μ μ΄: λ²νΌ μ λ ₯μ λ°λΌ LED μνλ₯Ό ON/OFFλ‘ μ μ΄.
- LCD λμ€νλ μ΄: LED μνλ₯Ό μ€μκ°μΌλ‘ νμ ("LED ON" λλ "LED OFF").
- λ²νΌ μ λ ₯ μ²λ¦¬: λ²νΌμ λλ¦ μνλ₯Ό κ°μ§νκ³ λμ μν.
- μ§μ° ν¨μ μ¬μ©: μμ μ μΈ μΆλ ₯ λ° λμ€νλ μ΄λ₯Ό μν λλ μ΄ ν¨μ ꡬν.
| ν λ²νΈ | μ¬μ© λͺ©μ | μ€λͺ |
|---|---|---|
PORTA,3 |
LCD RS | LCD λ μ§μ€ν° μ ν ν |
PORTA,2 |
LCD RW | LCD μ½κΈ°/μ°κΈ° μ μ΄ ν |
PORTA,1 |
LCD EN | LCD Enable ν |
PORTC,0 |
λ²νΌ (BTN) | μ λ ₯ λ²νΌ |
PORTD,0 |
LED | LED μΆλ ₯ |
PORTB |
LCD λ°μ΄ν° ν | LCDμ λ°μ΄ν° μ μ‘ |
- INIT_LCD: LCD μ΄κΈ°ν μ€μ .
- CLR_LCD: LCD ν΄λ¦¬μ΄ ν¨μ.
- DSP_DATA1, DSP_DATA2: "LED ON" λλ "LED OFF"λ₯Ό LCDμ νμ.
- DELAY ν¨μ: λλ μ΄λ₯Ό μΆκ°νμ¬ μμ μ μΈ λμ 보μ₯.
- PUT_LCD: LCDμ λ°μ΄ν°λ₯Ό μ°λ ν¨μ.
- BUTTON μν μ²λ¦¬:
- λ²νΌμ΄ λ리면 LEDλ₯Ό μΌκ³ "LED ON" νμ.
- λ²νΌμ΄ λλ¦¬μ§ μμΌλ©΄ LEDλ₯Ό λκ³ "LED OFF" νμ.
- μμ€ν μ΄ μ΄κΈ°νλλ©΄ LCDκ° μ΄κΈ°νλκ³ κΈ°λ³Έ νλ©΄μ΄ νμλ©λλ€.
- λ²νΌ μ λ ₯μ΄ κ°μ§λλ©΄ LED μνλ₯Ό ν κΈνκ³ LCDμ νμ¬ μνλ₯Ό μΆλ ₯ν©λλ€.
- λ²νΌμ΄ λλ Έμ λμ λλ¦¬μ§ μμμ λ κ°κ° λ€λ₯Έ λ©μμ§κ° LCDμ νμλ©λλ€.
- PIC16F877A λ§μ΄ν¬λ‘컨νΈλ‘€λ¬
- LCD λμ€νλ μ΄
- λ²νΌ (μ€μμΉ)
- LED
- μ»΄νμΌλ¬: MPLAB X IDEμ XC8 μ»΄νμΌλ¬
- νλ‘ μ°κ²°: μμ ν μ°κ²°νλ₯Ό μ°Έκ³ νμ¬ νλ‘λ₯Ό ꡬμ±ν©λλ€.
- MPLAB X IDEλ₯Ό μ¬μ©νμ¬ νλ‘μ νΈλ₯Ό μμ±ν©λλ€.
- μ΄ μ½λλ₯Ό
.asmνμΌλ‘ μ μ₯νκ³ νλ‘μ νΈμ μΆκ°ν©λλ€. - μ½λλ₯Ό λΉλν ν HEX νμΌμ μμ±ν©λλ€.
- νλ‘κ·Έλλ¨Έ(μ: PICKIT 3)λ₯Ό μ¬μ©νμ¬ HEX νμΌμ PIC16F877Aμ μ λ‘λν©λλ€.
- μμ€ν μ μ μμ μ°κ²°ν©λλ€.
- λ²νΌμ λλ¬ LEDμ μνλ₯Ό μ μ΄νκ³ , LCDμ νμλλ λ΄μ©μ νμΈν©λλ€.
μλ λ§ν¬λ₯Ό ν΅ν΄ LED μ μ΄ μμ€ν
μ λμ μμ° μμμ νμΈν μ μμ΅λλ€:
- MAIN: μ΄κΈ°ν λ° λ©μΈ 루ν
- BTN_PRESSED: λ²νΌμ΄ λλ Έμ λ λμ
- BTN_NOT_PRESSED: λ²νΌμ΄ λλ¦¬μ§ μμμ λ λμ
- DSP_DATA1: "LED ON" λ°μ΄ν° μΆλ ₯
- DSP_DATA2: "LED OFF" λ°μ΄ν° μΆλ ₯
- DELAY: μ§μ° ν¨μ
| λ μ§μ€ν° | μ©λ |
|---|---|
COM_BUF |
LCD λͺ λ Ήμ΄ λ²νΌ |
DATA_PTR |
λ°μ΄ν° ν¬μΈν° |
COUNT1 |
λλ μ΄ μΉ΄μ΄ν° 1 |
COUNT2 |
λλ μ΄ μΉ΄μ΄ν° 2 |
COUNT3 |
λλ μ΄ μΉ΄μ΄ν° 3 |
- λ²νΌ λλ¦Ό μν:
LED ON - λ²νΌ λΉλλ¦Ό μν:
LED OFF
- λ€μ€ λ²νΌ μΆκ°: μΆκ° λ²νΌμ μ¬μ©νμ¬ λ λ§μ LEDλ₯Ό μ μ΄νκ±°λ μΆκ° κΈ°λ₯ ꡬν.
- PWM μ μ΄: LED λ°κΈ°λ₯Ό μ‘°μ ν μ μλλ‘ PWM(Pulse Width Modulation) κΈ°λ₯ μΆκ°.
- μ μ°ν λ©μμ§ νμ: LCDμ λ λ€μν μν λ©μμ§λ₯Ό νμνλλ‘ νμ₯.
