티스토리 뷰

 

연습문제 1

 

✓ PD0의 상태를 확인하여 SW3의 눌림을 확인

✓ 스위치가 눌리는 숫자를 count하여 이진수로 LED 표시

✓ 255번 이상일 시 에는 초기값 0 으로 변경

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <io.h>
#include <mega128.h>
#include <delay.h>
 
 
void main(void)
 
{
 
    unsigned char count = 0x00;
    
    DDRB = 0xff;
    DDRD = 0x00;
 
 
    while(1){  
        if(PIND.0 == 0){
            count++;
            delay_ms(100);
        }
        
        PORTB = ~count;
    }
cs

 

추가 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <io.h>
#include <mega128.h>
#include <delay.h>
 
 
void main(void)
 
{
 
    unsigned char count = 0x00;
    
    DDRB = 0xff;
    DDRD = 0x00;
 
 
    while(1){  
        if(PIND.0 == 0){
            count++;
            delay_ms(100);
        }
        
        PORTB = ~count;
    }
cs

 

 

연습문제 2

 

✓ PD7 상태 확인을 통해 SW10이 눌렸을 경우 switch 문을 사용하여 0~3번 LED를 shift 하기

✓ PD6 상태 확인을 통해 SW9가 눌렸을 경우 if 문을 사용하여 4~7번 LED 를 shift 하기

 

 

 

 

추가 연습

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <io.h>
#include <mega128.h>
#include <delay.h>
 
 
void main(void)
 
{
 
    unsigned char count = 0x00;
    
    DDRB = 0xff;
    DDRD = 0x00;
 
 
    while(1){  
        if(PIND.0 == 0){
            count++;
            delay_ms(100);
        }
        
        PORTB = ~count;
    }
cs
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
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
글 보관함