1. 프로그램 개요
P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다.
P44, P45를 OCD 기능이 아닌 GPIO 기능으로 사용하는 것을 테스트 한다.
P47은 RESET 기능이 아닌 GPIO 기능으로 사용하는 것을 테스트 한다.
P44, P45, P47이 동시에 GPIO로 사용되게 되면, OCD-ICE는 프로그램 다운로더나 시뮬레이터로 사용될 수 없다.
OCD-ICE 기능이 필요하면 U1 다운로더로 다른 프로그램을 라이팅 해야한다. 또는 리셋을 시킨 상태에서 OCD-ICE 다운로더로 프로그램을 라이팅 한다.
2. 회로도
3. Code
⑴ main routine
void main()
{
InitSystem(); // 시스템 초기화
LED_G_0=0;LED_G_1=0;LED_R=0; // LED ON
DelayXms(2000); // 2초 딜레이
LED_G_0=1;LED_G_1=1;LED_R=1; // LED OFF
EnP44P45GPIO(); // P44, P45를 GPIO로 설정
EnP47GPIO(); // P47을 GPIO로 설정
while(1)
{
LED_G_0=0;P44=0; // LED_G_0 ON, P44 Clear(Low, 0)
DelayXms(200); // 200ms 딜레이
LED_G_0=1;P44=1; // LED_G_0 OFF, P44 Set(High, 1)
LED_G_1=0;P45=0; // LED_G_1 ON, P45 Clear(Low, 0)
DelayXms(200); // 200ms 딜레이
LED_G_1=1;P45=1; // LED_G_1 OFF, P45 Set(High, 1)
LED_R=0;P47=0; // LED_R ON, P47 Cler(Low, 0)
DelayXms(200); // 200ms 딜레이
LED_R=1;P47=1; // LED_R OFF, P47 Set(High, 1)
}
}
⑵ 시스템 초기화 루틴
/***********************************************************************************
*Function: void InitSystem(void)
*Description: Initialize MCU
*Input:
*Output:
*************************************************************************************/
void InitSystem(void)
{
InitPort(); // 포트 설정
}
- 포트 설정만 수행한다.
⑶ Port 초기화
/***********************************************************************************
*Function: void InitPort(void)
*Description: Initialize IO Port
*Input:
*Output:
*************************************************************************************/
void InitPort(void)
{
PORT_SetP2PushPull(BIT2|BIT4|BIT6); // Set P22,P24,P26 as Push-Pull,For LED.
è P22, P24, P26은 LED 구동을 위하여 Push-Pull type로 설정한다.
PORT_SetP4OpenDrainPu(BIT4|BIT5|BIT7); // Set P44,P45,P47 as open-drain with pull-high
è P4, P5, P7은 Pull-Up을 설정한 Open-Drain type으로 설정한다.
}
*** 사용된 매크로함수는 “API_Macro_MG82FG6D16.H”에서 찾아볼 수 있다.
\Megawin 8051\(EN)MG82F6D16_SampleCode_v1.20\MG82F6D16_GPIO_P44P45P47\code\include
4. 프로그램 실행
*** Keil compiler가 인스톨되어 있어야함 ***
해당 Example 폴더를 찾아가 KeilPrj폴더를 Open 한다.
\Megawin 8051\(EN)MG82F6D16_SampleCode_v1.20\ MG82F6D16_GPIO_P44P45P47\KeilPrj
해당 폴더의 Keil project 파일을 더블 클릭하여 실행시킨다.(MG82F6D16_DEMO.uvproj)
Rebuild 아이콘을 클릭하여 프로젝트를 컴파일 한다.
Demo Board에 USB Connector를 연결하여 전원을 인가하고, 전원 스위치를 ON시키고, OCD ICE를 연결한 상태에서 위 이미지의 Start/Stop Debug Session(Ctrl+F5) 버튼을 눌러 컴파일된 프로젝트의 디버그 데이터를 다운로드 시킨다.(컴파일 시 에러가 발생하지 않아야함)
다운로드 후 Run(F5) 버튼을 클릭하면 프로그램이 동작한다.
5. 동작 영상
'MEGAWIN' 카테고리의 다른 글
MG82F6D Series WDT Reset (0) | 2022.11.17 |
---|---|
MG82F6D Series WDT Int. (0) | 2022.11.17 |
MG82F6D Series CLK ILRCO P60OC (0) | 2022.11.11 |
MG82F6D Series CLK xtal (0) | 2022.11.10 |
MG82F6D Series GPIO P6 (0) | 2022.11.09 |