AVR2560-LCD 실험-------
>LCD 결선후 앞면부 !!
>Data Sheet 분석!!
>Data Sheet 해석하기 !!
>지역변수,전역변수 설명----------------------------------------
>지역 변수: 어떤 한정되 지역 에서만 사용할수 있는 변수를 말합니다.
1 함수 또는 어떠한 블록 안에 정의된 변수
2 사용 범위가 함수 내부로 제한 (블록 안에서만 참조 가능)
• 함수가 호출되면 생성되었다가 리턴 하면 소멸된다.
(자동변수, automatic variable)
• 서로 다른 함수에 같은 변수명 사용 가능
3 지역 변수의 초기화
• “함수가 호출될 때마다 초기화되고 리턴 될 때 메모리를 반납한다.”
• 초기값을 갖지 않는 지역 변수는 임의의 값을 가짐
2.모든 함수가 함께 사용하는 공유 변수의 특징
• 같은 이름의 전역 변수는 하나 이상 사용할 수 없다.
• 초기값을 지정하지 않은 경우 0 으로 초기화된다.
#include"lcd.h"
void lcd_Init(void)
{
DDRC=(1<<RS)|(1<<RW)|(1<<EN);
DDRA=0xff
CTL=(0<<RS)|(0<<RW)|(0<<EN);
BUS=0x00;
}
void lcd_Inst(unsigned char ucInst)
{
volatile unsigned uiCnt;
CTL=CTL&~(1<<RS);//L
CTL=CTL&~(1<<RW);//L
CTL=CTL&~(1<<EN);//L
BUS=ucInst;
for(uiCnt=0;30000>uiCnt;++uiCnt);//Sheet 에 A구간 을 말한다.
#ifndef __MAIN_H__
#define __MAIN_H__
#define DDRA (*((volatile unsigned char*)0x21))
#define PORTA (*((volatile unsigned char*)0x22))
#define PINA (*((volatile unsigned char*)0x20))
#define EICRA (*((volatile unsigned char*)0x69))
#define EICRB (*((volatile unsigned char*)0x6A))
#define EIMSK (*((volatile unsigned char*)0x3D))
#define SREG (*((volatile unsigned char*)0x5F))
#define sei() __asm__ __volatile__ ("sei" ::)//(7번비트만 1로 만들어줌.어셈블리코드)
#define sleep() __asm__ __volatile__ ( "sleep" "\n\t" :: )
#define INT7 7
#define INT6 6
#define INT5 5
#define INT4 4
#define INT3 3
#define INT2 2
#define INT1 1
#define INT0 0
#define ISC7 6
#define ISC6 4
#define ISC5 2
#define ISC4 0
#define ISC3 6
#define ISC2 4
#define ISC1 2
#define ISC0 0
void __vector_1 (void) __attribute__((signal, used, externally_visible));//외부에서 호출이가능하다 (인터럽트 신호를 받는다,사용된다,외부에서 이걸 볼 수 있어야한다.(호출가능하다))
void __vector_2 (void) __attribute__((signal, used, externally_visible));//외부에서 호출이가능하다 (인터럽트 신호를 받는다,사용된다,외부에서 이걸 볼 수 있어야한다.(호출가능하다))
void Init(void);
void pont_Init(void);
void INT_Init(void);
#endif// __MAIN_H__
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
Alpha Yong (1) | 2016.03.16 |
---|---|
20160310_업무일지_정우민_펌웨어실습 (0) | 2016.03.16 |
20160314_김도관_업무일지_펌웨어실습_인터럽트_버튼으로 LED점멸 (0) | 2016.03.16 |
20160311_업무일지_정우민_펌웨어실습 (0) | 2016.03.16 |
20160314_박진한_업무일지_펌웨어 분석 (1) | 2016.03.16 |
20160310_노유찬_CPU모듈 (0) | 2016.03.16 |
20160315_업무일지_정우민_인터럽트(FND실습) (0) | 2016.03.16 |
20160315_장진웅_업무일지_펌웨어 분석&실습 (1) | 2016.03.16 |