|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 2:00 am
Цифров чакащ мултивибратор с микропроцесорно управление
| Автор |
Съобщение |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ами .. съдейки по въпросите които задаваш бих ти препоръчал серийна, въпреки че външен конвертор към USB няма да усложни кода в контролера.
|
| Пон Апр 30, 2007 10:26 am |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
И аз ти препоръчвам серийна комуникация.Правиш си подпрограми за 10,100 микросекунди 10,100 милисекунди и 1 секунда и в зависимост от избрания интервал си.Другия вариант - подпрограна за 1 микросекунда и 32 битов брояч RegH:RegM:RegL.Зареждаш го с число - примерно 100. Изчакваш 1 микросекунда-декрементираш брояча,проверяваш равен ли е на 0,пак изчакваш,пак декрементираш,.... дорде стане 0 - значи са минали 100 микросекунди и така си реализираш интервали от 1 микросекунда до 2^32х1 микросекунди
Схемата може да я ползваш.
|
| Пон Апр 30, 2007 10:38 am |
|
 |
|
Naiden Hristov
Ранг: Минаващ
Регистриран на: Вто Апр 24, 2007 9:34 pm Мнения: 18
|
Благодаря ви за пореден път.
Когато се регистрирах и пуснах темата в този форум, очаквах някаква помощ, но вие просто ме разбихте.
Много се радвам, че още има хора, които помагат на нуждаещите се!!!!!!!!
Отново едно голямо БЛАГОДАРЯ!!!!
|
| Пон Апр 30, 2007 11:46 am |
|
 |
|
Naiden Hristov
Ранг: Минаващ
Регистриран на: Вто Апр 24, 2007 9:34 pm Мнения: 18
|
Имам въпрос. За да използвам RS232 връзка с компютър трябва да сиххронизирам нивата с MAX232, така ли е или греша нещо? И имам проблем със свързването на индикацията. И се оказа, че няма нужда да пиша код, а само алгоритъм на работа.
|
| Вто Май 01, 2007 2:47 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Не се казв синхронизиране а сугласуване, най лесно ще ти е с max232.
|
| Вто Май 01, 2007 3:47 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Какъв ти е проблема със свързването на индикацията?Не знаеш как да я управляваш или как да я свържеш към PIC-а ?
|
| Вто Май 01, 2007 4:07 pm |
|
 |
|
Naiden Hristov
Ранг: Минаващ
Регистриран на: Вто Апр 24, 2007 9:34 pm Мнения: 18
|
Незнам как да я свържа към контролера.
|
| Вто Май 01, 2007 5:05 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
На тази схема дето съм ти начертал и твойта връзката е следната:
индикация -> ПИК
a -> RD0
b -> RD1
c -> RD2
d -> RD3
e -> RD4
f -> RD5
g -> RD6 ( на схемата ти не си му дал име,намира се под f )
Изводи : dig1,dig2,dig3 и dig4 се свързват към RB3,RB4,RB5 и RB6. Изводи с номера 40,41,42 и 43(който липсва на схемата но е свързан към Н сегмент на U7 се свързват заедно и така свързани се съединяват към RD7.
Пример: Искаш да изобразиш числото 32.12
1.Конфигурираш PORTD като изход,PORTB изводи 1 и 2 входове 3,4,5 и 6 изходи.
2.Подаваш на PORTD числото "11011010"
Вдигаш RB3=1,изчакваш 10 милисекунди,RB3=0 това е -2-
3.Подаваш на PORTD числото "01100000",Вдигаш RB4=1,изчакваш 10 милисекунди,RB4=0 това е -1-
4.Подаваш на PORTD числото "00000001",Вдигаш RB5=1,изчакваш 10 милисекунди,RB5=0 това е -.-
5.Подаваш на PORTD числото "01100000",Вдигаш RB5=1,изчакваш 10 милисекунди,RB5=0 това е -2-
6.Подаваш на PORTD числото "11110010",Вдигаш RB6=1,изчакваш 10 милисекунди,RB6=0 това е -3-
Някъде може да съм сбъркал 0 с 1 ама пак ще си провериш нещата
|
| Вто Май 01, 2007 5:34 pm |
|
 |
|
Naiden Hristov
Ранг: Минаващ
Регистриран на: Вто Апр 24, 2007 9:34 pm Мнения: 18
|
Благодаря ти много.
Аз чета една книжка - ПИК микроконтролери на Млад конструктор и тъкмо го прочетох това и ми светна още повече.
Доста неща ми се изясняват от нея и аз мисля, че е подходяща.
Какво ви е мнението за книгата, добра ли е за начинаещи като мен?
|
| Вто Май 01, 2007 6:14 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ами .. спорно да с екаже добра, об'о вето ако прочтеш описанието на кой да е тхен контролер ще научиш същите неща,може би на български да ти се изяснят по бързо, иначе ... не знам във втор част з акакво се разказва, там може да има и нещо по полезно. Като цяло обаче това което те интересува няма да го намериш в книга за пикове, ова са принципни неща които трбяява да занеш ка се реализират, а дали позлваш пик или нещо друго няма никакво значение.
|
| Вто Май 01, 2007 7:02 pm |
|
 |
|
Naiden Hristov
Ранг: Минаващ
Регистриран на: Вто Апр 24, 2007 9:34 pm Мнения: 18
|
Във втората част се говори предимно за контролерите PIC18FXX2. Но там видях начина за свързването на контролера чрез сериен порт към компютър. Само не ми стана ясно нещо - трябва ли да свържа каналите RTS и CTS иначе съврзването е дадено по следния начин:
DB9_____MAX232______MAX232____________PIC
_2_______T1out________T1int____<TX<___RC6 / TX
_3_______R1in_________R1out___>RX>___RC7 / RX
_7_______R2in_________R2out___>CTS>__RB1 / INT1
_8_______T2out________T2in____<RTS<___RB2 / INT2
_5-GND
Така ли трябва да бъде и при PIC16F877?
|
| Вто Май 01, 2007 8:02 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
CTS и RTS не са задължителни.
Можеш да си ги спестиш при бавна комуникация
|
| Вто Май 01, 2007 8:26 pm |
|
 |
|
Naiden Hristov
Ранг: Минаващ
Регистриран на: Вто Апр 24, 2007 9:34 pm Мнения: 18
|
Имам още един въпрос. Как мога да направя бутон, който да се сврже към контролера и чрез него да се избира вида на запускащия импулс - дали да се пуска мултивибратора по спадащ или нарасващ фронт?
|
| Сря Май 02, 2007 7:21 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
PORTB,7 - инициализираш като вход.Схемата е аналогична на тази на РЕСЕТ входа - имаш 1 - по нарастващ фронт,имаш 0 - по падащ.Кое му е сложното ?
|
| Сря Май 02, 2007 8:06 pm |
|
 |
|
Naiden Hristov
Ранг: Минаващ
Регистриран на: Вто Апр 24, 2007 9:34 pm Мнения: 18
|
Вярно, няма нищо сложно, но като има кой да ти подскаже. Благодаря.
А как мога да му сложа една светлинна индикация, например като е 1 (по нарастващ) да свети, а като е 0 - не?
|
| Сря Май 02, 2007 8:17 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|