CCS는 C 컴파일러를 사용하여> PIC6F877 코드 편집을위한

Y

yousafzai82

Guest
안녕하십니까 ....

나 ADC를 10 비트 원하는 프로그램 pic16f877 2 채널을.내가 잘 디지털 입력을 필요로 둘.이 프로그램은 아래의 프로그램에서 표시된 Status2해야 보내주 AT 명령을위한 SMS는 다음 값 1, Status1, Value2,.

즉 경우로서 가치를 보내 2 편집할 수있는 코딩을 같은 채널만을 비트 ADC - 10

값 = 0-1023
Value2 = 0을 1023으로
Status1 = 높음 또는 낮음
Status2 = 낮음 또는 높음

인용구 :

#은 <16F877.h>를 포함

# 장치 ADC가 = 10

#는 hs을 NOWDT, NOPROTECT, NOLVP, NOBROWNOUT 입고, 퓨즈

# 사용 지연 (시계 = 10000000)

# RS232를 사용 (보드 = 9600, 패리티 = N으로, xmit = PIN_C6, rcv = PIN_C7, 스트림 = RS232는, 비트 =
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="시원한" border="0" />
#은 <stdio.h> 포함

#은 <math.h> 포함

#은 <STDLIB.H> 포함# 바이트 간이 = 0x05

# 바이트 PortB = 0x06

#은 fast_io 사용 ()

#은 fast_io 사용 (B)를

# # #는 # Asm EndAsm 놉 놉을 정의int 연료, 온도;무효의 send_SMS (무효)

(

printf ( "는 AT \ r는 처리 \ n");

delay_ms (5000);

1 \ = cmgf에서 printf ( "r에 \ n");

delay_ms (5000);

printf ( " cmgs = \"4478 XXXXXXXX \ "\ r이 처리 \ n에서");

delay_ms (5000);

printf ( "% f를 / n / rfuel : % f를 / n / rtemp"에, (플로트) 연료 (플로트) 임시직);

(0x1A) putc;

delay_ms (5000);

)무효의 main () ((ADC_CLOCK_INTERNAL) setup_adc;

setup_adc_ports (RA0_RA1_ANALOG_RA3_REF);

set_adc_channel (0);SET_TRIS_A (0b10000110);

SET_TRIS_B (0b00000101); delay_ms (1);(1) (하면서

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);

delay_ms (30000);연료 = read_adc ();

(

set_adc_channel (1);SET_TRIS_A (0b10000110);

SET_TRIS_B (0b00000101); delay_ms (1);온도 = read_adc ();

)send_SMS ();

)

)
 
수있는 사람은 전압 확인 참조에 핀 전압은 Sinosoidal 또는 RA3해야 될 직류.

인용구 :

(ADC_CLOCK_INTERNAL) setup_adc;

setup_adc_ports (RA0_RA1_ANALOG_RA3_REF);

set_adc_channel (0);
 

Welcome to EDABoard.com

Sponsor

Back
Top