Курсовая работа: Разработка универсального шестиканального термометра
void count_time_ind_init(void){
count_time_ind=time_ind;
}
#define tcnt1_freq 4000000 // частота тактирования таймера
#define bufer_led_size 5 // длина буфера индикатора
#define blank_symb 0x0F // символ гашения
#define txd_buf_len 8 // äдлина буфера передачи RS232
#define CR 13 // перевод строки
#define LF 10 // в начало строки
#define TAB 9 // табуляция
#define ubr19200 12 // 19200 бит/с при 4МГц кварце
#define t0_init (256-125) // для загрузки в таймер диспетчера
#define t0_ext_init 5 // 125*5=625
#define count_50_init 50 // для загрузки в счетчик 500 ms
#define MAX_CH 6
#define a_term 0.4883//коэффициент пересчета
#define b_term -559// коэффициент пересчета
#define time_gen 10 //5 сек время переключения каналов
#define time_ind 10 //5 сек время индикации
Описание программы
Работа программы основывается на решении следующих задач:
1. общая настройка портов ввода/вывода, таймеров, конфигурация и т.д.
2. настройка АЦП.
1) внутренний источник напряжения 5V
2) прерывания от компаратора
3) коэффициент деления 128(частота 31 250 ГЦ)
4) непрерывное преобразование
3. настройка UART
1) асинхронный режим