Advertisement
artones

Untitled

Apr 5th, 2021
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.92 KB | None | 0 0
  1. include <stdio.h>//подключение заголовочного файла содержащий определения макросов, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода      
  2. #include "C8051F120.h" //установка файлов определения регистра;    
  3. sbit LED = P1^6;//Объявление переменной LED
  4. int array [8] = {0x2,0x4,0x8,0x10,0x20,0x40,0x80,0xFF};//задание массива со значениями уровней яркости свечения светодиода
  5. int i,k,j; // инициализация переменных        
  6. // Peripheral specific initialization functions,
  7. // Called from the Init_Device() function
  8. void Reset_Sources_Init()
  9.     {
  10.       WDTCN     = 0xDE; //Выключение WDT
  11.       WDTCN     = 0xAD;
  12.     }
  13.      
  14. void Timer_Init()
  15.     {
  16.       SFRPAGE   = TIMER01_PAGE;
  17.       TCON      = 0x10;
  18.       TMOD      = 0x01; // установка таймера в 16-ти разрядный режим
  19.     }
  20.      
  21. void Port_IO_Init()
  22.     {
  23.       SFRPAGE   = CONFIG_PAGE; // Настройка порта P1.6 на push-pull выход
  24.       P1MDOUT   = 0x40;
  25.       XBR2      = 0x40;
  26.     }
  27.      
  28.     // Initialization function for device,
  29.     // Call Init_Device() from your main program
  30. void Init_Device(void) // настройка микроконтроллера
  31.     {
  32.     Reset_Sources_Init();
  33.     Timer_Init();
  34.     Port_IO_Init();
  35.         Interrupts_Init();
  36. void main(void)
  37. {
  38.     Init_Device();
  39.     LED=0;
  40.     while(1)
  41.     {
  42.         for (i =0;i<8;i++) // количество уровней
  43.         {
  44.             for (j =0;j<=255;j++)//количество периодов
  45.             {
  46.                 for(k =0;k<=255;k++)
  47.                 {
  48.                 if(array[i]<=k)
  49.                     LED=1;
  50.                 else
  51.                     LED=0;
  52.                 }
  53.             }
  54.         }
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement