Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Микроконтроллер PIC16F887. Разъясните пожалуйста https://www.cyberforum.ru/ microcontrollers/ thread892375.html
Начал изучать программирование на Си, а именно программирование микроконтроллеров. Стало интересно и тем более предстоит этим заниматься в следующим семестре. В общем нашёл пример программы написанный на языке Си для микроконтроллера PIC16f887 можете помочь , пояснить строки программы. #include <16F887.h> #use fast_io(A) #use fast_io(B)
Intel 8051. Сравнение двух чисел Микроконтроллер
Доброго времени суток! Нужна Ваша помощь. Задачка для программирования на языке Ассемблер. Содержание задачи: составить программу на ассемблере для микроконтроллера intel8051. Принять число 20 в порт1. Сложить его с числом 30. Если сумма больше 20, то выдать в порт 2 байт число из всех единиц. Если меньше, то оставить прежнее число в порту 2.
Микроконтроллер Блок-схема алгоритма (ASM) https://www.cyberforum.ru/ microcontrollers/ thread891227.html
Привет всем! Помогите составить блок схему для данной программы. .INCLUDE "m8def.inc" .MACRO LINE cbi PORTD,PD6 ldi r20,@0 rcall WRITE sbi PORTD,PD6
Микроконтроллер кр048: из массива 10-ти чисел найти наименьшее https://www.cyberforum.ru/ microcontrollers/ thread890357.html
помогите написать программу на кр048 из массива 10-ти чисел найти наименьшее
Микроконтроллер [MCS-48] В массиве из 10 чисел найти наименьшее
Ребят помогите пожалуйста. Нужно из массива 10 чисел найти наименьшее. Код программы на 048
Микроконтроллер Управление полевиками с порта МК Вопрос мой короткий и ясный. :) Можно ли открывать полевики обычным i/o портом контроллера ATMega8? Сам знаю, что нет :), ток высоковат, а если соединить два(3, 4) порта, можно ли будет ими управлять полевиком? https://www.cyberforum.ru/ microcontrollers/ thread888664.html
Микроконтроллер Мониторинг COM-порта из Протеуса https://www.cyberforum.ru/ microcontrollers/ thread885931.html
Здравствуйте. Собственно, вопрос очень простой: Допустим, я в Proteus-e посылаю с Virtual Terminal байт на COMPIM. Если при этом запустить какую-нибудь стороннюю программу управляющую com-портом, то должна ли она тоже всю активность регистрировать или нет? Должен-ли Virtual Terminal регистрировать то, что посылается из этой сторонней программы? Или может их вообще никак нельзя...
Микроконтроллер Как на МК работать со звуком?
решил сделать себе mp3 плеер, накопал инфы (что там и как по контроллерам) и тут наткнулся на интересный вопрос: как мне работать со звуком на МК? литры по этому поводу не нашел. после чего наткнулся на вопрос, как мне присобачить туда файловую систему? (FAT32/NTFS -желательно обе) (сильно не ругайте:) мп3-шник сделать - это моя древняя мечта, да я могу себе кпить хоть эпловский мп3, но...
Микроконтроллер Intel8051: ассемблер, кнопки, индикаторы доброго времени суток) появилась задача: программирование контроллера клавиатуры из 16 кнопок (4×4), код кнопки выводится на двухразрядный семи сегментный индикатор. все это на основе микросхемы intel8051. к задаче прилагался нерабочий код. путем изменений получилось вот так: ORG 0000H ; смещение при загрузке кода будет равно 0 LJMP SBROS ; переход на сброс ORG 000BH ; смещение на 11... https://www.cyberforum.ru/ microcontrollers/ thread884286.html Микроконтроллер Коммуникация нескольких МК между собой День добрый У меня тут такая вот проблема, имеется у меня Arduino Mega 2560, и имеется у меня нестандартная задача... Задача следующая, ардуино должна мне выполнять несколько процессов одновременно, да еще и на высокой скорости, нужны независимые задержки в микросекундных интервалах, да еще и точно... и тут у меня началось..., уже целый месяц не могу настроить свою задачу как нужно, сперва... https://www.cyberforum.ru/ microcontrollers/ thread881894.html
Микроконтроллер [МК51] Кодопреобразователь
Здравствуйте! Нужно реализовать кодопреобразователь для микроконтроллера KM1816BE51 на языке Ассемблера. Есть таблица истинности. Как такое реализовать в симуляторе Edsim? Нашел программу, которая сканирует какая клавиша нажата и выводит ее на семисегментник, мне что то похожее нужно сделать. Входной код это числа от 1 до 32.
Микроконтроллер 8051. Бегущая строка https://www.cyberforum.ru/ microcontrollers/ thread878691.html
Здравствуйте. Подскажите логику работы реализации бегущей строки на МК8051, вывод на семисегментных индикаторах, язык программы С++. Моя реализация схема и код (среда multisim 12) #include <8051.h> // ?????? ??????? ??????????? ?????????? #define _imkstr_(x) #x #define ROM_VECTOR(vec, fun) \ asm(" global _" _imkstr_(fun)); \ asm(" psect vectors,ovrld"); \ asm(" org " _imkstr_(vec)); \...
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 19
0

Работа кода (PIC16F887) - Микроконтроллер - Ответ 4675640

05.06.2013, 19:17. Показов 1037. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Начал изучать программирование на Си, а именно программирование микроконтроллеров. Стало интересно и тем более предстоит этим заниматься в следующим семестре. В общем нашёл пример программы написанный на языке Си для микроконтроллера PIC16f887 можете помочь , пояснить строки программы.



C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include <16F887.h>          
 
#use fast_io(A)                
#use fast_io(B)                
                             
 
// FUSES sets the PIC16F887 Configuration Words.  See top of the header file
// 16F887.h for fuse option constants.
#FUSES INTRC,NOWDT,NOPUT,NOMCLR,NOPROTECT,NOCPD,NOBROWNOUT,NOIESO,NOFCMEN,NOLVP
 
struct adc_result
    {
    int8 value;         
    int1 new_flag;      
    } adc_conversion;
 
void init_io()
{
    
    SET_TRIS_A(0x01);  
    
   
    SET_TRIS_B(0x01);   
 
  
    OUTPUT_C(0x00);
    OUTPUT_D(0x00);
    OUTPUT_E(0x00);
}
 
void init_adc()
{
   
   
    SETUP_ADC_PORTS(sAN0 | VSS_VDD);
 
   
    SETUP_ADC(ADC_CLOCK_DIV_8);   
 
    
    SET_ADC_CHANNEL(0);
 
   
    READ_ADC(ADC_START_ONLY);
}
 
#INT_RTCC   
void timer0_interrupt_service()
{
   
    adc_conversion.value = READ_ADC(ADC_READ_ONLY);
    adc_conversion.new_flag = 1;    // new value
    
 
    READ_ADC(ADC_START_ONLY);
}
 
 
void main()
{
    int1 led_bar_right = 0; 
    int switch_count = 0;   
    int bars = 0;           
    int temp1 = 0;         
    int led_display = 0;    
 
   
    adc_conversion.value = 0;
    adc_conversion.new_flag = 0;
 
  
    init_io();
    init_adc();
      
    SETUP_TIMER_0(RTCC_INTERNAL | RTCC_DIV_256);
    ENABLE_INTERRUPTS(GLOBAL);         
    ENABLE_INTERRUPTS(INT_RTCC);      
 
    while(1)
    {
       
        if (adc_conversion.new_flag == 1)
        { 
            bars = adc_conversion.value;
            adc_conversion.new_flag = 0;        // reset flag
            
            bars = (bars >> 5) + 1; 
            led_display = 0; 
            for (temp1 = 0; temp1 < bars; temp1++)
            {
              
                led_display = (led_display << 1) + 1; 
            }
        }
 
      
        if (INPUT_STATE(PIN_B0) == 0)
        { 
            if (switch_count < 8)
            {
                switch_count ++;
                if (switch_count == 8)
                {
                    led_bar_right = ~led_bar_right;
                }
            }
        }
        else
        { 
            switch_count = 0;
        }
 
 
       
        if (led_bar_right == 0)
        { 
            OUTPUT_D(led_display);
        }
        else
        { 
            OUTPUT_D(~(led_display >> 1));
        }
 
    }
 
}
Как то так =)

Вернуться к обсуждению:
Работа кода (PIC16F887) Микроконтроллер
0
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2013, 19:17
Готовые ответы и решения:

Вольтметр на PIC16F887
При компилировании прошивки возникает ряд ошибок связных пропущенным знаком &quot;,&quot;. Error at file...

PIC16F887 новичок
*бесконтактное обнаружение объектов* И так, я хочу чтобы мой робот обходил любое препятствие...

uart pic16f887 проблема
Привет, извините, пошла вторая неделя как разбираюсь с одной проблемой, перерыл весь интернет и...

Проблема с АЦП PIC16F887
Возникла необходимость АЦП. Решил воспользоваться стандартной функцией unsykned Adc_Read(unsykned...

1
05.06.2013, 19:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2013, 19:17
Помогаю со студенческими работами здесь

PIC16F887. Разъясните пожалуйста
Начал изучать программирование на Си, а именно программирование микроконтроллеров. Стало интересно...

PIC16F887 настройка таймера
Здравствуйте! Начал изучать pic контролеры. Таймер запустился таким образом(пример с даташита): ...

ШИМ для PIC16f887 на ASM
Добрый день! Такая проблема. Есть библиотека для управления ШИМ PIC16f887, написанная на с. Нужна...

Ошибки с переменными, Код на Си (pic16f887)
Всем привет, программирую МК pic16f887, программу пишу на СИ. Прошу помощи по следующему коду: ...

Не подключаются МК PIC16f887 по I2С. C. MikroC
* не I2O , а I2C Контроллеры вроде настроил, но когда отравляю адрес для подключения ведомого...

Не работает прерывание по порту B в PIC16F887 (MikroC)
Всем привет. Учусь программировать ПИК контроллеры в Си а именно(16f887), для этого выбрал...

Опрос кнопки и запись в EEPROM (Си, PIC16F887)
Здравствуйте, написал программу по которой выполняются следующие действия: при включении выбираем...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru