#define uchar unsigned char /* uchar 데이터 유형을 unsigned char */
#define unit unsigned int /* 데이터 유형 uint 를 부호 없는 정수 */
Void delay 1ms(uint t) /* 함수를 선언하고 구현합니다. d delay 1ms 1ms 매개 변수는 uint 이고 반환 값을 반환합니다
{
Uint I, j; /* 두 가지 I 및 t 유형의 변수 선언 */
For(I = 0;; 나 & ltt;; I++) /* 입력 매개변수 t 를 기준으로 반복 실행 횟수 결정 */
For(j = 0;; J< 120; J++); /* 실행 120 빈 코드 구현 지연 기능 */
}
Void main() /*main 함수는 프로그램 실행 시 */
{
Uchar 키, 로고; /* uchar 유형을 정의하는 두 개의 매개변수 키 및 flag*/
P2 = 0x0f;; /*? P2 여기와 거기에서 인용 된 헤더 파일이 추정됩니다. 인용된 헤더 파일을 잘 모르십니까? */
Flag = 0;; /* 할당 플래그 값 0*/
동시에 (1) /* 무선으로 이 루프를 실행합니다 */
{
키 = p2; /* P2 에/* 키를 지정한 값 *//* 은 추측 */
키 = 키 & amp0x0f/* 키 값과 0x0f 비트를 합산하고 그 결과를 키에 할당합니다. 실제로 높이 4 비트를 0 으로 지우고 낮은 4 비트를 유지합니다 */
만약! =0x0f) /* 키가 0x0f 가 아닌 경우 */
{
Delay1ms (10); /* 지연 10MS 이지만 문제가 있습니다. 괄호 중 하나가 일치하지 않는 것 같습니다. */
키 = p2; /* 키가 P2 에 지정된 값 */
키 = 키 & amp0x0f/* 키 값과 0x0f 비트를 합산하고 그 결과를 키에 할당합니다. 실제로 높이 4 비트를 0 으로 지우고 낮은 4 비트를 유지합니다 */
If (키 = = 0x0f)/* 키 값이 0X0f*/
Flag = 0;; /* 플래그가 0*/
Else /* 키 값이 0x0f*/
{
스위치 (키)/* 키 값 결정 */
{
Case0x0e: flag =1; 깨뜨리다 /* 0x0e 인 경우 1*/
사례 0x0d:flag = 2;; 깨뜨리다 /* 0x0d 인 경우 2*/
사례 0x0b:flag = 3;; 깨뜨리다 /* 0x0b 인 경우 3*/
시나리오 0x07: 플래그 = 4; 깨뜨리다 /* 0x07 인 경우 플래그는 4*/
/* 이렇게 쓰는 것은 문법 문제가 없지만, 일반적으로 기본 절차가 있는 것이 가장 좋다 */
}
}
}
If (flag = =1) {p1= 0xff; Delay1ms (500) : P1= 0x00; Delay1ms (500) : }/* 플래그가 1 이면 P 1 에 0xff 를 할당하고 500ms 지연 후 p 1 에 0x00 을 할당한 다음 500 ms */
If (flag = = 2) {p1= 0xaa; Delay1ms (300) : P1= 0x55; Delay1ms (300) : }/* 플래그가 2 인 경우 P 1 값을 0xaa 로 지정한 다음 300 ms 를 지연시킨 후 p 1 값을 0x55 로 지정한 다음 300ms 를 지연합니다
If (flag = = 3) {p1= 0x0f; Delay1ms (200) : P1= 0xf0; Delay1ms (200) : }/* 플래그가 3 인 경우 P 1 을 0x0f 에 할당한 다음 200ms 지연 후 p 1 을 0xf0 에 할당하고 500 ms */
If (flag = = 4) {p1= 0xff; }/* 플래그가 4 이면 P 1 값을 0xff*/
If (flag = = 0) {p1= 0xff; }/* 플래그가 0 이면 P 1 값을 0xff*/
}
/* 코드는 보통 형식으로 하는 것이 좋습니다. 그렇지 않으면 피곤해 보일 것입니다. */
/* 이 프로그램은 P2 에서 얻은 값에 따라 P 1 의 값을 수정합니다. P2 의 값을 동적으로 수정하고 P 1 의 값을 수정하면 포함된 헤더 파일에 영향이 포함되어야 한다고 추측합니다. */
}