Advertisement
artones

LR8_C

Jun 2nd, 2021
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.17 KB | None | 0 0
  1. #include <stdio.h>//подключение библиотек с функциями стандартного ввода/вывода
  2. #include "C8051F120.h"//Подключение библиотеки регистров C8051F120
  3. sbit SW=P3^7;//Объявление переменной SW
  4. sbit LED=P1^6;//Объявление переменной LED
  5. // Peripheral specific initialization functions,
  6. // Called from the Init_Device() function
  7. int i=7;//Объявление переменной номера элемента в массиве яркости
  8. int SW_SHD; // Объявление старого состояния кнопки
  9. int k;//Объявление переменной значений периода
  10. int array [8] = {0x2,0x4,0x8,0x10,0x20,0x40,0x80,0xFF};//массив уровней яркости
  11.  
  12. void Reset_Sources_Init()
  13. {
  14. WDTCN = 0xDE;// Выключение сторожевого таймера WDT
  15. WDTCN = 0xAD;
  16. }
  17. void PCA_Init()
  18. {
  19. SFRPAGE = PCA0_PAGE;//вызов страницы настойки PCA
  20. PCA0CN = 0x40;//настройкарежима 8-битного ШИМ-модулятора
  21. PCA0CPH4 = array[i];
  22. PCA0CPM4 = 0x42; //модуль захвата-сравнения
  23. PCA0CPL4 = 0x80;
  24. PCA0CPH4 = 0x80;
  25. }
  26. void Port_IO_Init()
  27. {
  28. SFRPAGE = CONFIG_PAGE;// Настройка порта P1.6 на push-pull выход
  29. P1MDOUT = 0x40;
  30. XBR0 = 0x2F;
  31. XBR2 = 0x44;
  32. }
  33.  
  34. void Init_Device(void) //Настройка микроконтроллера
  35. {
  36. Reset_Sources_Init();
  37. Port_IO_Init();
  38. PCA_Init();
  39. }
  40. void main(void) {
  41. Init_Device();//Вызов функции инициализации микроконтроллера
  42. LED = 0;
  43. SW_SHD = SW;// Сохранение исходного состояние кнопки
  44. while (1){
  45. if (SW != SW_SHD){// Проверка неравенства старого и нового состояния кнопки
  46. SW_SHD = SW;// Запоминание состояния кнопки
  47. if (SW_SHD == 0){
  48. i = (i + 1)%8;// Итерация по массиву индексов
  49. PCA0CPH4 = array[i];//запись значения уровня яркости из переменной в регистр
  50. }}}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement