DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Цифровий осцилограф

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2018
Тип роботи:
Дипломний проект
Предмет:
Комп’ютерна електроніка

Частина тексту файла (без зображень, графіків і формул):

Додаток А Лістинг програми //Підключення бібліотек #include "stm32f10x.h" #include "stm32f10x_conf.h" #include "Common.h" #include "Screen.h" #include "Command.h" #include "Eeprom.h" #include "libdso138.h" // Ініціалізація даних int main (void) { U16 tmp1, tmp2; Clock_Init(); Port_Init(); // Перевірка на наявність тестуючого сигналу tmp1 = (PB_Port & PB_Bits) | ~PB_Bits; if(!BitTest(tmp1, 0x8000)) { // Початок тестування TestMode(); } FLASH_Unlock(); EE_Init(); TFT_Init_Ili9341(); USART1_Init(); uputs((U8 *)"Uart1 Ok\n\r", USART1); SysTick_Init(); TIM3_Init(); TIM4_Init(); ADC2_Init(); AppInit(); tmp1 = clBlack; // Висвітлення даних про осцилограф на екран PutsGenic(24, 120, (U8 *)"FW: 113-13801-037", clWhite, tmp1, &ASC8X16); PutsGenic(24, 140, (U8 *)LibVersion, clWhite, tmp1, &ASC8X16); PutsGenic(24, 180, (U8 *)"Booting...", clWhite, tmp1, &ASC8X16); LedBlink(); NVIC_Configuration(); Flags = 0; // Налаштування дисплею while(1) { DsoDisplay(); tmp1 = GetDsoStatus(); if(BitTest(tmp1, DSO_NormalDisplay)) { } // Встановлення часу захоплення сигналу if(GTimeout) { GTimeout = 0; StartCapture(); } if(BitTest(Keypad.Flags, (1 << KF_DoKeyScan))) { BitClr(Keypad.Flags, (1 << KF_DoKeyScan)); // Виконання сканування елементів управління KeyScan(); } if(Keypad.KeyCode) { // Код програми під кожен елемент управління KeyProc(); Keypad.KeyCode = 0; } if(GTimer == 0) { if(BitTest(tmp1, DSO_CaptureDone)) { UpdateDisp(Disp_Trace); tmp2 = GetTimebase(); if(tmp2 <= TB_1ms) { // Почати наступне зняття сигналу StartCapture(); } else { // Швидкість захоплення сигналу GTimer = 40; } } } if(BitTest(tmp1, DSO_Rolling)) { Rolling(); } } }
Антиботан аватар за замовчуванням

12.05.2018 17:41

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!