Помогите!

C

Cleong

Guest
# включить <18f452.h> / / Выбор устройства
# устройство ADC = 10 *= 16
# включить <stdlib.h> / / необходимы для разделения обычных

# предохранители XT, NOWDT, NOPROTECT, NOLVP, PUT, NOBROWNOUT, NOOSCSEN, CCP2C1, NOSTVREN, NODEBUG

# использовать задержку (часы = 4000000) / / 4 MHZ!ADC не является оптимальным в 20 МГц потребление электроэнергии удваивается

# использовать RS232 (бод = 19200, xmit = PIN_C6, RCV = PIN_C7)
#
Используйте I2C (Master, SDA = PIN_C4, SCL = PIN_C3, медленно)

# zero_ram

/ / # ПРИОРИТЕТА

#
Используйте fast_io (A)
#
Используйте fast_io (B)
#
Используйте fast_io (C)
#
Используйте fast_io (D)
#
Используйте fast_io (R)

# определить NOP NOP АНМ # # endasm

# байт = PA 0xF80 / / Портирование / / аналоговый
# байт = Pb 0xF81 / / Б / / SPI
И датчик контроля
# байтовой PC = 0xF82 / / C / /
И я淆сроки
# байт = Pd 0xF83 / / D / / LCD
# байт PE = 0xF84 / / порт э / / ключей

/ / *********************************
/ / Портирование
/ / Аналоговые входы

/ / A1 = барометр вклад mpx4115a
/ / A2-Vref = 2.400 V
/ / A3 Vref = 4.700 V/ / *********************************
/ / Порт B: датчик контроля клавишу меню

/ / SPI эмулируется бит
# битных TC77_CS = pb.7 / / RB7 pin40, TC77! CS
# битных TC77_SIO = pb.6 / / RB6 pin39, TC77 SI / O
# битных TC77_SCK = pb.5 / / RB5 pin38, TC77 SCK

# битных key_enter = pb.0 / / RB0, pin33
# битных key_plus = pb.1 / / RB1, pin34
# битных key_min = pb.2 / / RB2, pin35

# битных MPX4115A_POWER = pb.3 / / RB3 pin36, "1" = MPX4115A OFF (выключатели модуль полностью или отключена)
# битных RH_POWER = pb.4 / / RB4 pin37

/ / *********************************
/ / ПОРТОВЫЕ C
/ /
И я淆таймер вход/ / T1 внешнего источника (оборудование) / / RC0 pin15
/ / Это 1 Гц вклад RTC DS1307 (для побудки из сна) и ввода RH (H1 датчиком)
# битных CP1 = РС.2 / / RC2 pin17 **** RX РАДИО/ / RC3 pin18 = SCL я淆/ / уже определены (аппаратное обеспечение)
/ / RC4 pin23 = ПДД я淆

/ / RC6 pin25 = RS232 TX / / уже определены (аппаратное обеспечение)
/ / RC7 pin26 = RS232 RX

/ / *********************************
/ / Порт D
/ / ЖК-бит lobat обнаружить

# битных lobat = pd.1 / / RD1

# битных nok_sclk = pd.5 / / RD5
# битных nok_sda = pd.4 / / RD4
# битных nok_dc = pc.5 / / RC5
# битных nok_cs = pd.3 / / RD3
# битных nok_res = pd.2 / / RD2

/ / *********************************
/ / ПОРТОВЫЕ E
/ / 1 датчик контроля

# битных RX433_POWER = pe.2 / /
СР.2 pin10

/ / *********************************

/ /
# ОТДЕЛЬНАЯ key_sel недействительным (недействительными); / / для основных входов
символ k_min, k_plus, k_enter;
/ /

/ /
sleep_routine недействительным (недействительными); / / в спящем режиме
статические короткий sleep_mode;
статических характеристик tosleep_counter;

# определить sleeping_period 45 / / прим.время сна в секундах (обычно около 45) *************************************
/ /

////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////
# INT_EXT / / просыпаться от BO / INT0
ext_isr недействительным (недействительными)
(
статические короткий button_pressed = FALSE;

если (button_pressed) (sleep_mode = FALSE; tosleep_counter = 0; k_enter = 1;)
еще (sleep_mode = TRUE;)если (ввод (PIN_B0)) (button_pressed = TRUE;)
)
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////
# INT_EXT1 / / просыпаться от B1 / INT1
ext1_isr недействительным (недействительными)
(
статические короткий button_pressed = FALSE;

если (button_pressed) (sleep_mode = FALSE; tosleep_counter = 0; k_plus = 1;)
еще (sleep_mode = TRUE;)

если (ввод (PIN_B1)) (button_pressed = TRUE;)
)
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////
# INT_EXT2 / / просыпаться от B2 / INT2
ext2_isr недействительным (недействительными)
(
статические короткий button_pressed = FALSE;

если (button_pressed) (sleep_mode = FALSE; tosleep_counter = 0; k_min = 1;)
еще (sleep_mode = TRUE;)

если (ввод (PIN_B2)) (button_pressed = TRUE;)
)
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////
# INT_TIMER1 / / просыпаться от переполнения T1
timer1_isr недействительным (недействительными)
(

если (tosleep_counter == 0) (sleep_mode = FALSE;)
еще (sleep_mode = TRUE;))
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////

update_interval недействительным (недействительными);
/ /
int16 ч;
символ hist_sel;
int16 hist_index, curr_index / / графического материала
подписали int16 diff_hi_lo, tt_in_hi, tt_in_lo, t_value, tt_value;
show_histories недействительным (недействительными);/ /
символ char_row, charsel, charpos, chardata; / / для nokia_3310 LCD
int16 ddram;
символ plot_value;
int32 plot_value32;
int32 plot_umsb, plot_lmsb, plot_ulsb, plot_llsb;
# включить <lph7779_v3.c>

/ /
tc77_read недействительным (недействительными); / / ФОТ SPI температурный датчик TC77
подписали int16 t_in, t_unused;
поплавковый tc_in_float;
поплавковый tf_in_float;
символ tc77_ready;
недействительным tc77_write (короткий bitfortc77);

поплавковый t_in_hi, t_in_lo, t_in_temp;
store_t_in недействительным (недействительными);
show_t_in_graph недействительным (недействительными);
/ /

/ /
недействительным mpx4115a_read (); / / датчик давления для MPX4115A
int16 p_an;
int16 adc_sample;
поплавковый p_hPa_float;
поплавковый p_inHg_float;
символ p_corr;
поплавковый press_hi, press_lo, press_temp;
store_press недействительным (недействительными);
show_press_graph недействительным (недействительными);
/ /

/ /
rhum_read недействительным (недействительными); / / относительная влажность (RH)
rhum_convert недействительным (недействительными);
int16 rh_count, rh_count2;
символ rh_corr;
символ rh_procent;
символ rh_hi, rh_lo, rh_temp;
store_rh недействительным (недействительными);
show_rh_graph недействительным (недействительными);
/ /

/ / / / Для ds1307
rtc_data байт;
символ rtensec, rsec, rtenmin, rmin, rtenhour, rhour, rday, rtendate, rdate, rmonth, rtenyear, ryear;
# включить <ds1307_mb_v1.c>
/ /

/ /
# включить <24256_mb.c> / / для внутр EEPROM
EEPROM_ADDRESS адрес;
/ /

/ /
подписали символ displ_mod; / / для пользователя меню
подписали символ temp_outp;
подписали символ press_outp;
# включить <menu_012.c>
/ /

/ /
rx_status символ / / для приема радио подпрограмм
int16 rx_valid_in_loop;
символ bitcount;
короткий bit_RC5, bit_prev;
символ sample_RC5;
int32 rx_temp_int32;
int16 роста, падения;
короткий rxnewsequence;
поплавковый tc_ex_float;
поплавковый tf_ex_float;
короткий rx_lobat;
короткий rx_minus;
символ tc_ex_0, tc_ex_1, tc_ex_2;
# включить <rx_radio_012.c>
поплавковый t_ex_hi, t_ex_lo, t_ex_temp;
store_t_ex недействительным (недействительными);
show_t_ex_graph недействительным (недействительными);

/ /WRITE_FLOAT_EXT_EEPROM (длинная INT N, поплавковый данные)
(
INT I;

для (i = 0; I <4; I )
write_ext_eeprom (I N * (И данные I));
)поплавковый READ_FLOAT_EXT_EEPROM (длинная INT N)
(
INT I;
поплавковый данных;

для (i = 0; I <4; I )
* (И данные I) = read_ext_eeprom (I N);

возвращение (данных);
)

недействительным Main () (SET_TRIS_A (0x0F); / / хххх IIII
SET_TRIS_B (0x47); / / oioo oiii
SET_TRIS_C (0x9f); / / iooi IIII
SET_TRIS_D (0x02); / / хххх ooio
SET_TRIS_E (0x00); / / хххх хххх

sleep_mode = FALSE / / инициализации сна флаг
tosleep_counter = 0;

printf ( "Погода станции \ N \ R"); / / RS232 тест

ds1307_write (7,0 X80) / / отключить SQWE на DS1307
TC77_CS = 1; / / снимите TC77 (RB7)

MPX4115A_POWER = 1; / / питания для mpx4115a (RB4)
RH_POWER = 1; / / питания для H1-схема (RA4)
RX433_POWER = 1; / / питания для RX433 (RA5)

nokia_init (); / / lph7779 инициализацииrtc_data = ds1307_read (2); / / инициализация RTC - ds1307_write (байт rtcreg, байт rtc_data)
ds1307_write (2, (rtc_data
И 0x3f)); / /
установка режима 24h - р 2, бит 6 = 0

rtc_data = ds1307_read (0) / / инициализация RTC - ds1307_write (байт rtcreg, байт rtc_data)
если ((rtc_data
И 0x80) == 0x80) (ds1307_write (0, (rtc_data
И 0x7f));) / / включить генератор DS1307 - р 0, бит 7 = 0 - СН = 0

temp_outp = read_ext_eeprom (0x0003) / / загрузка настроек пользователя
press_outp = read_ext_eeprom (0x0004);
p_corr = read_ext_eeprom (0x0005);
rh_corr = read_ext_eeprom (0x0006);

rx_valid_in_loop = 250;t_ex_hi =- 200.0499;
t_ex_lo = 200.0499;/ / **********************************

в то время как (1)
(
Menu ();
show_rtc ();

update_interval ();

 
Этот код предназначен для УХУ ...

Рафаэль

 
ERM ..и я хотел бы спросить, это УХУ и mplab так ЮЮЗ можете использовать программу для ПОС??
А так как СВ, используя исходный код ..Затем можно выше код использования в mplab?...Помимо этого я ЮЮЗ хотите знать ССТ является Ват рода программного обеспечения ...
сравнить с mplab и УХУ это более красивое???

 

Welcome to EDABoard.com

Sponsor

Back
Top