S
sharilshukor
Guest
살아야 내가 찾을 수 온라인을 가지고 소스 코드를 가져.내가 그것을 사용하지만, MPLAB 어떻게든 그들이 오류가 표시됩니다 디버깅을 했어요.내가 뭘 내가 잘못하고있다는 IM을 잘 모르겠어요 제가 지금 단계를 따라 믿습니다.하지만 난 다른 어떤 소스 코드 노력 했어 계속해서 동일한 오류 메시지가 표시됩니다.여기에 예제 소스 코드.2 다른 사람 :
마이크로 컨트롤러에 대한 / / 정의
/ / PIC는 함수
#에서 Pragma CLOCK_FREQ 3276800
P16F84A 정의 #
# 포함 <system.h>
MX_EE 정의 #
정의 # MX_EE_TYPE1
= 64 MX_EE_SIZE const 숯불;
무효 FCD_LCDDisplay1_Start ();
무효 FCD_LCDDisplay1_Clear ();
무효 FCD_LCDDisplay1_PrintASCII (숯불 문자);
에서 무효 FCD_LCDDisplay1_Command (숯불);
, 숯불 마스크)에서 무효 FCD_LCDDisplay1_RawSend (숯불;
무효 FCD_LCDDisplay1_Cursor (숯불 엑스, 숯불 y를);
무효 FCD_LCDDisplay1_PrintNumber (숯불 번호);
무효 FCD_LCDDisplay7_Start ();
무효 FCD_LCDDisplay7_Clear ();
무효 FCD_LCDDisplay7_PrintASCII (숯불 문자);
에서 무효 FCD_LCDDisplay7_Command (숯불);
, 숯불 마스크)에서 무효 FCD_LCDDisplay7_RawSend (숯불;
무효 FCD_LCDDisplay7_Cursor (숯불 엑스, 숯불 y를);
무효 FCD_LCDDisplay7_PrintNumber (숯불 번호);
무효 FCD_LCDDisplay1_Start ()
(
set_bit (상태, RP0);
TRISB = TRISB & 0xC0;
clear_bit (상태, RP0);
delay_ms (2);
FCD_LCDDisplay1_Command (0x33);
FCD_LCDDisplay1_Command (0x32);
FCD_LCDDisplay1_Command (0x2c);
FCD_LCDDisplay1_Command (0x06);
FCD_LCDDisplay1_Command (0x0c);
FCD_LCDDisplay1_Clear ();
)
무효 FCD_LCDDisplay1_Clear ()
(
FCD_LCDDisplay1_Command (0x01);
delay_ms (1);
FCD_LCDDisplay1_Command (0x02);
delay_ms (1);
)
무효 FCD_LCDDisplay1_PrintASCII (숯불 캐릭터)
(
FCD_LCDDisplay1_RawSend (캐릭터, 0x10);
)
에서 무효 FCD_LCDDisplay1_Command (숯불)
(
FCD_LCDDisplay1_RawSend 0 (,)로;
)
, 숯불 마스크)에서 무효 FCD_LCDDisplay1_RawSend (숯불
(
서명 숯불 태평양 표준시;
= ((태평양 표준시의 ""4) & 0x0F) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시; delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
& 0x0F = (년 포르투갈) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시;
delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
delay_ms (1);
)
무효 FCD_LCDDisplay1_Cursor (숯불 엑스, 숯불 y를)
(
(y를 == 0)
y를 = 0x80으로;
그 밖의
y를 = 0xC0;
FCD_LCDDisplay1_Command (y를 x)를;
)
무효 FCD_LCDDisplay1_PrintNumber (숯불 번호)
(
만약 (((Number/100) % 10)! = 0)
(
FCD_LCDDisplay1_RawSend (0x30 ((Number/100) % 10), 0x10);
FCD_LCDDisplay1_RawSend (0x30 ((Number/10) % 10), 0x10);
)
그 밖의
(
만약 (((Number/10) % 10)! = 0)
(
FCD_LCDDisplay1_RawSend (0x30 ((Number/10) % 10), 0x10);
)
)
FCD_LCDDisplay1_RawSend (0x30 (번호 % 10), 0x10);
)
무효 FCD_LCDDisplay7_Start ()
(
set_bit (상태, RP0);
TRISB = TRISB & 0xC0;
clear_bit (상태, RP0);
delay_ms (2);
FCD_LCDDisplay7_Command (0x33);
FCD_LCDDisplay7_Command (0x32);
FCD_LCDDisplay7_Command (0x2c);
FCD_LCDDisplay7_Command (0x06);
FCD_LCDDisplay7_Command (0x0c);
FCD_LCDDisplay7_Clear ();
)
무효 FCD_LCDDisplay7_Clear ()
(
FCD_LCDDisplay7_Command (0x01);
delay_ms (1);
FCD_LCDDisplay7_Command (0x02);
delay_ms (1);
)
무효 FCD_LCDDisplay7_PrintASCII (숯불 캐릭터)
(
FCD_LCDDisplay7_RawSend (캐릭터, 0x10);
)
에서 무효 FCD_LCDDisplay7_Command (숯불)
(
FCD_LCDDisplay7_RawSend 0 (,)로;
)
, 숯불 마스크)에서 무효 FCD_LCDDisplay7_RawSend (숯불
(
서명 숯불 태평양 표준시;
= ((태평양 표준시의 ""4) & 0x0F) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시; delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
& 0x0F = (년 포르투갈) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시;
delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
delay_ms (1);
)
무효 FCD_LCDDisplay7_Cursor (숯불 엑스, 숯불 y를)
(
(y를 == 0)
y를 = 0x80으로;
그 밖의
y를 = 0xC0;
FCD_LCDDisplay7_Command (y를 x)를;
)
무효 FCD_LCDDisplay7_PrintNumber (숯불 번호)
(
만약 (((Number/100) % 10)! = 0)
(
FCD_LCDDisplay7_RawSend (0x30 ((Number/100) % 10), 0x10);
FCD_LCDDisplay7_RawSend (0x30 ((Number/10) % 10), 0x10);
)
그 밖의
(
만약 (((Number/10) % 10)! = 0)
(
FCD_LCDDisplay7_RawSend (0x30 ((Number/10) % 10), 0x10);
)
)
FCD_LCDDisplay7_RawSend (0x30 (번호 % 10), 0x10);
)
/ / 매크로 함수 선언
무효 FCM_HELLO ();
무효 FCM_ANAK ();
무효 FCM_HUJAN ();
무효 FCM_API ();
무효 FCM_BELL ();
무효 FCM_RAIN ();
무효 FCM_CHILD ();
무효 FCM_TEMP ();
무효 FCM_SECURE ();
/ / 변수 선언
숯불 FCV_LC_W; 숯불 FCV_LC_F;
숯불 FCV_VIBRATOR;
숯불 FCV_LC_G;
숯불 FCV_LC_X;
숯불 FCV_LC_H;
숯불 FCV_LC_Y;
숯불 FCV_LC_I;
숯불 FCV_LC_Z;
숯불 FCV_LC_J;
숯불 FCV_LC_K;
숯불 FCV_LC_L;
숯불 FCV_LC_M;
숯불 FCV_LC_N;
숯불 FCV_LC_O;
숯불 FCV_LC_P;
숯불 FCV_LC_Q;
숯불 FCV_LC_R;
숯불 FCV_LC_A;
숯불 FCV_LC_B;
숯불 FCV_LC_S;
숯불 FCV_LC_C;
숯불 FCV_LC_T;
숯불 FCV_A;
숯불 FCV_INDEX;
숯불 FCV_LC_D;
숯불 FCV_LC_U;
숯불 FCV_LC_E;
숯불 FCV_LC_V;
/ / 매크로 구현
무효 FCM_HELLO ()
(
FCV_INDEX = 0;
FCC_HELLO_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay0_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay1_PrintASCII ( 'B 조');
FCD_LCDDisplay1_PrintASCII ( '이메일');
FCD_LCDDisplay1_PrintASCII ( '패');
FCD_LCDDisplay1_PrintASCII ( '패');
delay_ms (200);
FCD_LCDDisplay0_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_ANAK ()
(
FCD_LCDDisplay1_PrintASCII ( '');
FCD_LCDDisplay1_PrintASCII ( 'N'을);
FCD_LCDDisplay1_PrintASCII ( '');
FCD_LCDDisplay1_PrintASCII ( '케이');
)
무효 FCM_HUJAN ()
(
FCV_INDEX = 0;
FCC_HUJAN_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII (의 'G');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_API ()
(
FCV_INDEX = 0;
FCC_API_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'H 조');
FCD_LCDDisplay7_PrintASCII ( '오');
FCD_LCDDisplay7_PrintASCII ( 'U'가);
FCD_LCDDisplay7_PrintASCII (가 당신을 ');
FCD_LCDDisplay7_PrintASCII ( '이메일');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '오');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'F');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '이메일');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_BELL ()
(
FCV_INDEX = 0;
FCC_BELL_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( '이메일');
FCD_LCDDisplay7_PrintASCII ( '패');
FCD_LCDDisplay7_PrintASCII ( '패');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII (의 'G');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII (의 'G');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_RAIN ()
(
FCD_LCDDisplay1_PrintASCII ( '연구');
FCD_LCDDisplay1_PrintASCII ( '');
FCD_LCDDisplay1_PrintASCII ( '난');
FCD_LCDDisplay1_PrintASCII ( 'N'을);
)
무효 FCM_CHILD ()
(
FCV_INDEX = 0;
FCC_CHILD_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( 'Y'로);
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'C'로);
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( 'Y'로);
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_TEMP ()
(
FCD_LCDDisplay1_PrintASCII ( 'H 조');
FCD_LCDDisplay1_PrintASCII ( '오');
FCD_LCDDisplay1_PrintASCII ( 'T는');
)
무효 FCM_SECURE ()
(
FCV_INDEX = 0;
FCC_SECURE_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( 'U'가);
FCD_LCDDisplay7_PrintASCII (의 'G');
FCD_LCDDisplay7_PrintASCII ( '패');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'C'로);
FCD_LCDDisplay7_PrintASCII ( 'T는');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( '브이');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'T는');
FCD_LCDDisplay7_PrintASCII ( '이메일');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
메인 무효 ()
(
/ / PIC를 초기화
/ / 인터럽트 초기화 코드
= 0xC0 option_reg;
(1) 동안
(
TRISA = TRISA | 0xff;
FCV_A = PORTA;
만약 (FCV_A == 1)
(
FCV_VIBRATOR = 64;
TRISB = 0x00;
PORTB = FCV_VIBRATOR;
FCM_API ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 2)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_CHILD ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 3)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_SECURE ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 4)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_BELL ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 5)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_HUJAN ();
TRISB = 0x00;
PORTB = 0;
)
)
)
)
)
mainendloop : 고토 mainendloop;
)
(무효) 인터럽트 무효
(
)
/ 정의 마이크로 컨트롤러에 대한
숯불 PORTC (시) 0x07;
숯불 TRISC (시) 0x87;
숯불 PORTD (시) 0x08;
숯불 TRISD (를) 0x88;
숯불 PORTE (시) 0x09;
숯불 TRISE (시) 0x89;
/ / PIC는 함수
#에서 Pragma CLOCK_FREQ 4000000
P16F874A 정의 #
# 포함 <system.h>
MX_EE 정의 #
MX_EE_TYPE2 정의 #
= 128 MX_EE_SIZE 숯불 const;
MX_SPI 정의 #
MX_SPI_C 정의 #
MX_SPI_SDI 4 정의 #
MX_SPI_SDO 5 정의 #
MX_SPI_SCK 3 정의 #
MX_UART 정의 #
MX_UART_C 정의 #
MX_UART_TX 6 정의 #
MX_UART_RX 7 정의 #
/ / 매크로 함수 선언
/ / 변수 선언
숯불 FCV_BAHAYA;
숯불 FCV_BELL;
숯불 FCV_DATA2;
숯불 FCV_RAIN;
숯불 FCV_DATA3;
숯불 FCV_DATA4;
숯불 FCV_DATA5;
숯불 FCV_DATA6;
숯불 FCV_SECURE;
숯불 FCV_CHILD;
숯불 FCV_HOT;
숯불 FCV_DATA7;
숯불 FCV_DATA8;
숯불 FCV_DATA10;
숯불 FCV_DATA9;
숯불 FCV_SENSOR;
숯불 FCV_DATA11;
숯불 FCV_DATA;
숯불 FCV_DATA12;
숯불 FCV_HEAT;
/ / 매크로 구현
메인 무효 ()
(
/ / PIC를 초기화
adcon1 = 0x07;
/ / 인터럽트 초기화 코드
= 0xC0 option_reg;
(1) 동안
(
TRISA = TRISA & 0xFE;
PORTA = PORTA & 0xFE | 0;
TRISA = TRISA | 0xff;
FCV_SENSOR = PORTA;
FCV_DATA = 1;
FCV_DATA2 = FCV_SENSOR & FCV_DATA;
(FCV_DATA2 == 1)
(
FCV_HEAT = 9;
TRISB = 0x00;
PORTB = FCV_HEAT;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA3 = 2;
FCV_DATA4 = FCV_SENSOR & FCV_DATA3;
만약 (FCV_DATA4 == 2)
(
FCV_CHILD = 10;
TRISB = 0x00;
PORTB = FCV_CHILD;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA5 = 4;
FCV_DATA6 = FCV_SENSOR & FCV_DATA5;
)
(FCV_DATA6 == 4)
(
FCV_SECURE = 11;
TRISB = 0x00;
PORTB = FCV_SECURE;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA7 = 8;
FCV_DATA9 = FCV_SENSOR & FCV_DATA7;
만약 (FCV_DATA9 == 8)
(
FCV_BELL = 12;
TRISB = 0x00;
PORTB = FCV_BELL;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA10 = 16;
FCV_DATA11 = FCV_SENSOR & FCV_DATA10;
)
만약 (FCV_DATA11 == 16)
(
= 13 FCV_RAIN;
TRISB = 0x00;
PORTB = FCV_RAIN;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
)
)
)
mainendloop : 고토 mainendloop;
)
당신을 도울 수있는 바랍니다.
마이크로 컨트롤러에 대한 / / 정의
/ / PIC는 함수
#에서 Pragma CLOCK_FREQ 3276800
P16F84A 정의 #
# 포함 <system.h>
MX_EE 정의 #
정의 # MX_EE_TYPE1
= 64 MX_EE_SIZE const 숯불;
무효 FCD_LCDDisplay1_Start ();
무효 FCD_LCDDisplay1_Clear ();
무효 FCD_LCDDisplay1_PrintASCII (숯불 문자);
에서 무효 FCD_LCDDisplay1_Command (숯불);
, 숯불 마스크)에서 무효 FCD_LCDDisplay1_RawSend (숯불;
무효 FCD_LCDDisplay1_Cursor (숯불 엑스, 숯불 y를);
무효 FCD_LCDDisplay1_PrintNumber (숯불 번호);
무효 FCD_LCDDisplay7_Start ();
무효 FCD_LCDDisplay7_Clear ();
무효 FCD_LCDDisplay7_PrintASCII (숯불 문자);
에서 무효 FCD_LCDDisplay7_Command (숯불);
, 숯불 마스크)에서 무효 FCD_LCDDisplay7_RawSend (숯불;
무효 FCD_LCDDisplay7_Cursor (숯불 엑스, 숯불 y를);
무효 FCD_LCDDisplay7_PrintNumber (숯불 번호);
무효 FCD_LCDDisplay1_Start ()
(
set_bit (상태, RP0);
TRISB = TRISB & 0xC0;
clear_bit (상태, RP0);
delay_ms (2);
FCD_LCDDisplay1_Command (0x33);
FCD_LCDDisplay1_Command (0x32);
FCD_LCDDisplay1_Command (0x2c);
FCD_LCDDisplay1_Command (0x06);
FCD_LCDDisplay1_Command (0x0c);
FCD_LCDDisplay1_Clear ();
)
무효 FCD_LCDDisplay1_Clear ()
(
FCD_LCDDisplay1_Command (0x01);
delay_ms (1);
FCD_LCDDisplay1_Command (0x02);
delay_ms (1);
)
무효 FCD_LCDDisplay1_PrintASCII (숯불 캐릭터)
(
FCD_LCDDisplay1_RawSend (캐릭터, 0x10);
)
에서 무효 FCD_LCDDisplay1_Command (숯불)
(
FCD_LCDDisplay1_RawSend 0 (,)로;
)
, 숯불 마스크)에서 무효 FCD_LCDDisplay1_RawSend (숯불
(
서명 숯불 태평양 표준시;
= ((태평양 표준시의 ""4) & 0x0F) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시; delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
& 0x0F = (년 포르투갈) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시;
delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
delay_ms (1);
)
무효 FCD_LCDDisplay1_Cursor (숯불 엑스, 숯불 y를)
(
(y를 == 0)
y를 = 0x80으로;
그 밖의
y를 = 0xC0;
FCD_LCDDisplay1_Command (y를 x)를;
)
무효 FCD_LCDDisplay1_PrintNumber (숯불 번호)
(
만약 (((Number/100) % 10)! = 0)
(
FCD_LCDDisplay1_RawSend (0x30 ((Number/100) % 10), 0x10);
FCD_LCDDisplay1_RawSend (0x30 ((Number/10) % 10), 0x10);
)
그 밖의
(
만약 (((Number/10) % 10)! = 0)
(
FCD_LCDDisplay1_RawSend (0x30 ((Number/10) % 10), 0x10);
)
)
FCD_LCDDisplay1_RawSend (0x30 (번호 % 10), 0x10);
)
무효 FCD_LCDDisplay7_Start ()
(
set_bit (상태, RP0);
TRISB = TRISB & 0xC0;
clear_bit (상태, RP0);
delay_ms (2);
FCD_LCDDisplay7_Command (0x33);
FCD_LCDDisplay7_Command (0x32);
FCD_LCDDisplay7_Command (0x2c);
FCD_LCDDisplay7_Command (0x06);
FCD_LCDDisplay7_Command (0x0c);
FCD_LCDDisplay7_Clear ();
)
무효 FCD_LCDDisplay7_Clear ()
(
FCD_LCDDisplay7_Command (0x01);
delay_ms (1);
FCD_LCDDisplay7_Command (0x02);
delay_ms (1);
)
무효 FCD_LCDDisplay7_PrintASCII (숯불 캐릭터)
(
FCD_LCDDisplay7_RawSend (캐릭터, 0x10);
)
에서 무효 FCD_LCDDisplay7_Command (숯불)
(
FCD_LCDDisplay7_RawSend 0 (,)로;
)
, 숯불 마스크)에서 무효 FCD_LCDDisplay7_RawSend (숯불
(
서명 숯불 태평양 표준시;
= ((태평양 표준시의 ""4) & 0x0F) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시; delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
& 0x0F = (년 포르투갈) | 마스크;
= 태평양 표준시 태평양 표준시 | (PORTB & 0xC0);
PORTB = 태평양 표준시;
delay_ms (1);
set_bit (PORTB, 0x05);
delay_ms (1);
clear_bit (PORTB, 0x05);
delay_ms (1);
)
무효 FCD_LCDDisplay7_Cursor (숯불 엑스, 숯불 y를)
(
(y를 == 0)
y를 = 0x80으로;
그 밖의
y를 = 0xC0;
FCD_LCDDisplay7_Command (y를 x)를;
)
무효 FCD_LCDDisplay7_PrintNumber (숯불 번호)
(
만약 (((Number/100) % 10)! = 0)
(
FCD_LCDDisplay7_RawSend (0x30 ((Number/100) % 10), 0x10);
FCD_LCDDisplay7_RawSend (0x30 ((Number/10) % 10), 0x10);
)
그 밖의
(
만약 (((Number/10) % 10)! = 0)
(
FCD_LCDDisplay7_RawSend (0x30 ((Number/10) % 10), 0x10);
)
)
FCD_LCDDisplay7_RawSend (0x30 (번호 % 10), 0x10);
)
/ / 매크로 함수 선언
무효 FCM_HELLO ();
무효 FCM_ANAK ();
무효 FCM_HUJAN ();
무효 FCM_API ();
무효 FCM_BELL ();
무효 FCM_RAIN ();
무효 FCM_CHILD ();
무효 FCM_TEMP ();
무효 FCM_SECURE ();
/ / 변수 선언
숯불 FCV_LC_W; 숯불 FCV_LC_F;
숯불 FCV_VIBRATOR;
숯불 FCV_LC_G;
숯불 FCV_LC_X;
숯불 FCV_LC_H;
숯불 FCV_LC_Y;
숯불 FCV_LC_I;
숯불 FCV_LC_Z;
숯불 FCV_LC_J;
숯불 FCV_LC_K;
숯불 FCV_LC_L;
숯불 FCV_LC_M;
숯불 FCV_LC_N;
숯불 FCV_LC_O;
숯불 FCV_LC_P;
숯불 FCV_LC_Q;
숯불 FCV_LC_R;
숯불 FCV_LC_A;
숯불 FCV_LC_B;
숯불 FCV_LC_S;
숯불 FCV_LC_C;
숯불 FCV_LC_T;
숯불 FCV_A;
숯불 FCV_INDEX;
숯불 FCV_LC_D;
숯불 FCV_LC_U;
숯불 FCV_LC_E;
숯불 FCV_LC_V;
/ / 매크로 구현
무효 FCM_HELLO ()
(
FCV_INDEX = 0;
FCC_HELLO_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay0_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay1_PrintASCII ( 'B 조');
FCD_LCDDisplay1_PrintASCII ( '이메일');
FCD_LCDDisplay1_PrintASCII ( '패');
FCD_LCDDisplay1_PrintASCII ( '패');
delay_ms (200);
FCD_LCDDisplay0_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_ANAK ()
(
FCD_LCDDisplay1_PrintASCII ( '');
FCD_LCDDisplay1_PrintASCII ( 'N'을);
FCD_LCDDisplay1_PrintASCII ( '');
FCD_LCDDisplay1_PrintASCII ( '케이');
)
무효 FCM_HUJAN ()
(
FCV_INDEX = 0;
FCC_HUJAN_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII (의 'G');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_API ()
(
FCV_INDEX = 0;
FCC_API_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'H 조');
FCD_LCDDisplay7_PrintASCII ( '오');
FCD_LCDDisplay7_PrintASCII ( 'U'가);
FCD_LCDDisplay7_PrintASCII (가 당신을 ');
FCD_LCDDisplay7_PrintASCII ( '이메일');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '오');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'F');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '이메일');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_BELL ()
(
FCV_INDEX = 0;
FCC_BELL_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( '이메일');
FCD_LCDDisplay7_PrintASCII ( '패');
FCD_LCDDisplay7_PrintASCII ( '패');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII (의 'G');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( 'N'을);
FCD_LCDDisplay7_PrintASCII (의 'G');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_RAIN ()
(
FCD_LCDDisplay1_PrintASCII ( '연구');
FCD_LCDDisplay1_PrintASCII ( '');
FCD_LCDDisplay1_PrintASCII ( '난');
FCD_LCDDisplay1_PrintASCII ( 'N'을);
)
무효 FCM_CHILD ()
(
FCV_INDEX = 0;
FCC_CHILD_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( 'Y'로);
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'C'로);
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( 'Y'로);
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
무효 FCM_TEMP ()
(
FCD_LCDDisplay1_PrintASCII ( 'H 조');
FCD_LCDDisplay1_PrintASCII ( '오');
FCD_LCDDisplay1_PrintASCII ( 'T는');
)
무효 FCM_SECURE ()
(
FCV_INDEX = 0;
FCC_SECURE_A :
만약 (FCV_INDEX "15)
(
FCD_LCDDisplay7_Cursor (FCV_INDEX, 0);
FCD_LCDDisplay7_PrintASCII ( 'B 조');
FCD_LCDDisplay7_PrintASCII ( 'U'가);
FCD_LCDDisplay7_PrintASCII (의 'G');
FCD_LCDDisplay7_PrintASCII ( '패');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '연구');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'C'로);
FCD_LCDDisplay7_PrintASCII ( 'T는');
FCD_LCDDisplay7_PrintASCII ( '난');
FCD_LCDDisplay7_PrintASCII ( '브이');
FCD_LCDDisplay7_PrintASCII ( '');
FCD_LCDDisplay7_PrintASCII ( 'T는');
FCD_LCDDisplay7_PrintASCII ( '이메일');
delay_ms (200);
FCD_LCDDisplay7_Clear ();
FCV_INDEX = FCV_INDEX 1;
고토 FCC_Main_A;
)
)
메인 무효 ()
(
/ / PIC를 초기화
/ / 인터럽트 초기화 코드
= 0xC0 option_reg;
(1) 동안
(
TRISA = TRISA | 0xff;
FCV_A = PORTA;
만약 (FCV_A == 1)
(
FCV_VIBRATOR = 64;
TRISB = 0x00;
PORTB = FCV_VIBRATOR;
FCM_API ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 2)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_CHILD ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 3)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_SECURE ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 4)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_BELL ();
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
만약 (FCV_A == 5)
(
FCV_VIBRATOR = 64;
TRISB = TRISB & 0xbf;
(FCV_VIBRATOR 경우)
PORTB = PORTB & 0xbf | 0x40;
그 밖의
PORTB = PORTB & 0xbf;
FCM_HUJAN ();
TRISB = 0x00;
PORTB = 0;
)
)
)
)
)
mainendloop : 고토 mainendloop;
)
(무효) 인터럽트 무효
(
)
/ 정의 마이크로 컨트롤러에 대한
숯불 PORTC (시) 0x07;
숯불 TRISC (시) 0x87;
숯불 PORTD (시) 0x08;
숯불 TRISD (를) 0x88;
숯불 PORTE (시) 0x09;
숯불 TRISE (시) 0x89;
/ / PIC는 함수
#에서 Pragma CLOCK_FREQ 4000000
P16F874A 정의 #
# 포함 <system.h>
MX_EE 정의 #
MX_EE_TYPE2 정의 #
= 128 MX_EE_SIZE 숯불 const;
MX_SPI 정의 #
MX_SPI_C 정의 #
MX_SPI_SDI 4 정의 #
MX_SPI_SDO 5 정의 #
MX_SPI_SCK 3 정의 #
MX_UART 정의 #
MX_UART_C 정의 #
MX_UART_TX 6 정의 #
MX_UART_RX 7 정의 #
/ / 매크로 함수 선언
/ / 변수 선언
숯불 FCV_BAHAYA;
숯불 FCV_BELL;
숯불 FCV_DATA2;
숯불 FCV_RAIN;
숯불 FCV_DATA3;
숯불 FCV_DATA4;
숯불 FCV_DATA5;
숯불 FCV_DATA6;
숯불 FCV_SECURE;
숯불 FCV_CHILD;
숯불 FCV_HOT;
숯불 FCV_DATA7;
숯불 FCV_DATA8;
숯불 FCV_DATA10;
숯불 FCV_DATA9;
숯불 FCV_SENSOR;
숯불 FCV_DATA11;
숯불 FCV_DATA;
숯불 FCV_DATA12;
숯불 FCV_HEAT;
/ / 매크로 구현
메인 무효 ()
(
/ / PIC를 초기화
adcon1 = 0x07;
/ / 인터럽트 초기화 코드
= 0xC0 option_reg;
(1) 동안
(
TRISA = TRISA & 0xFE;
PORTA = PORTA & 0xFE | 0;
TRISA = TRISA | 0xff;
FCV_SENSOR = PORTA;
FCV_DATA = 1;
FCV_DATA2 = FCV_SENSOR & FCV_DATA;
(FCV_DATA2 == 1)
(
FCV_HEAT = 9;
TRISB = 0x00;
PORTB = FCV_HEAT;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA3 = 2;
FCV_DATA4 = FCV_SENSOR & FCV_DATA3;
만약 (FCV_DATA4 == 2)
(
FCV_CHILD = 10;
TRISB = 0x00;
PORTB = FCV_CHILD;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA5 = 4;
FCV_DATA6 = FCV_SENSOR & FCV_DATA5;
)
(FCV_DATA6 == 4)
(
FCV_SECURE = 11;
TRISB = 0x00;
PORTB = FCV_SECURE;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA7 = 8;
FCV_DATA9 = FCV_SENSOR & FCV_DATA7;
만약 (FCV_DATA9 == 8)
(
FCV_BELL = 12;
TRISB = 0x00;
PORTB = FCV_BELL;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
그 밖의
(
FCV_DATA10 = 16;
FCV_DATA11 = FCV_SENSOR & FCV_DATA10;
)
만약 (FCV_DATA11 == 16)
(
= 13 FCV_RAIN;
TRISB = 0x00;
PORTB = FCV_RAIN;
delay_s (1);
TRISB = 0x00;
PORTB = 0;
)
)
)
)
mainendloop : 고토 mainendloop;
)
당신을 도울 수있는 바랍니다.