Simpel програмування допомогою необхідних для PIC16F72

M

Mithun_K_Das

Guest
Як я можу використовувати RB5, RB6 і RB7, щоб дати деяке значення виходу, не порушуючи інші контакти. Я просто хочу, щоб генерувати значення від 0 до 7, і повинні показати це значення тільки 3 виведення. Примітка: інші контакти, які використовуються для інших цілей. тому я не можу їм заважати. як я зробив: непідписані символ * I; сили основних () {символ I [2]; TRISB = 0x00; PORTB = 0; / / I [1] = RB6_bit / / I [2] = RB7_bit / / TRISC = 0x00; той час як (1) {RB5_bit = I [0]; RB6_bit = I [1]; RB7_bit = I [2]; I [0] = 1; Delay_ms (100); I [1] = 1; Delay_ms (100 ); I [2] = 1; Delay_ms (100);}} але не працює
 
PORTB & = 0b00011111 або 0x1F; / / скидає RB5, 6 і 7 PORTB | = (число)
 
Перевірте [URL = http://www.avrfreaks.net/index.php?name=pnphpbb2&file=viewtopic&t=37871] Перегляд теми - [TUT] [C] Біт маніпуляції (AKA "Програмування 101") :: AVR Freaks [/URL] [URL = http://kskpages.weebly.com/bitwise-operators-101.html] Бітові операції 101 - KSK в сторінках проекту [/url] Будь біт і ред з 1 зберігає значення він мав і будь біт і ред з 0 очищається і будь біт або ред з 1 результатів 1 і будь біт або ред з 0 тримає значення вона мала для одиночних бітових операцій можна використовувати макроси пояснив http://www.edaboard.com/thread206148.html # post869568 Якщо ви хочете встановити чітких кілька бітів потім використовувати & і | PORTA = PORTA & 0b10101010; ясно біти 0,2,4,6, інше залишити значення вони PORTA = PORTA | 0b10101010; набір бітів 1,3,5,7, інше залишити значення вони Alex
 
Я це розумію. Але мені потрібно, щоб показати лише цифри в бік MSB. це означає, що RB5, RB6, RB7. Я зробив програму, але його показ в нижній тільки 3 біти. [COLOR = "Silver"] [SIZE = 1] ---------- Повідомлення додано в 8:34 --------- - Попереднє повідомлення було в 8:29 ---------- [/SIZE] [/COLOR] Oh! Я зробив це. Але мені потрібно, щоб зробити це більш простим і логічним. Основними недійсним () {Int номер; TRISB = 0x00; PORTB = PORTB | 0b00011111 ;/ / ясно біти 0,2,4,6, інше залишити значення вони мали в той час (1) {число = 1; PORTB = (число )
 
PORTB = PORTB | 0b00011111 ;/ / ясно біти 0,2,4,6, інше залишити значення у них
Це не правильно, код встановлює в 1 біт 0,1,2,3 , 4 іншу частину коду працює відмінно, як ви можете зробити його більш логічним. Ви можете використовувати макрос, щоб зробити його більш зручним для читання, може бути, # визначити setMSB (х) PORTB = (х)
 
Я використовую mikroCpro на рис. # Визначити setMSB (х) PORTB = (х)
 
Отже, ви хочете записати номер в біти 7,6,5 і тримати біти 4,3,2,1,0 цінності? У цьому випадку я б з PORTB = (PORTB & 0b00011111) | ((числом)
 
Я в порядку, я шукав для цього. але не для циклу. Мені потрібно, щоб змінити значення я зі зміною поточної зробити зворотний зв'язок поточної системи управління. Спасибі велике.
 
Я думаю, що ваша проблема вирішена, але я хотів би додати ще кілька входів створити Funtion
Code:
 аванпорт (непідписані символ NUM) {PORTB = ((PORTB & 0x1F) | ((NUM)
 

Welcome to EDABoard.com

Sponsor

Back
Top