| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Как да пренасочвам портове http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=9590 |
Страница 1 от 1 |
| Автор: | me40 [ Чет Дек 08, 2011 1:00 pm ] |
| Заглавие: | Как да пренасочвам портове |
Искам да запитам на асемблер как мога да разменя изходи на микроконтролер. Вероятно не се изразявам точно , затова ще дам пример: Ако portB0,1,2 са изходи и изпълня командата: movlw 0x6 movwf PORTB Ще имам на PORTB0 лог.0, на PORTB1 лог.1 и на PORTB2 лог.1 Въпроса е как примерно PORTB1 и PORTB2 да ги пренасоча към PORTD 5 и 6. т.е винаги когато трябва да излиза на PORTB1 i 2 да излиза на PORTD 5 и 6. Или на кратко PORTB да е съставен от PORTB0, PORTD5 и PORTD6 Дано съм успял да обясня какво искам |
|
| Автор: | tolstolob [ Чет Дек 08, 2011 3:43 pm ] |
| Заглавие: | Re: Как да пренасочвам портове |
Няма такъв филм. Всеки порт се пише поотделно, във всеки каквото трябва. |
|
| Автор: | CarBeta [ Чет Дек 08, 2011 6:14 pm ] | |||||||||
| Заглавие: | Re: Как да пренасочвам портове | |||||||||
Значи вместо в PortB резултата го записваш в един регистър(TempB). От тоя регистър искаш bit 0 да отиде на PortB,0, bit 1 да отиде на PortD,5 а bit 3 да отиде на PortD,6. Ето ти решение, при като останалите битове в двата порта няма да бъдат засегнати.
|
||||||||||
| Автор: | Wise [ Чет Дек 08, 2011 6:33 pm ] |
| Заглавие: | Re: Как да пренасочвам портове |
Ако идеята ти е да става едновременно сетването на битове по различни портове - няма как да стане. |
|
| Автор: | michev [ Чет Дек 08, 2011 7:24 pm ] |
| Заглавие: | Re: Как да пренасочвам портове |
Това което искаш го има реализирано хардуерно в Atxmega контролерите. Нарича се virtualPort, който го "мапваш" към някой реален такъв. За пик не съм виждал подобно нещо. |
|
| Автор: | me40 [ Чет Дек 08, 2011 9:52 pm ] |
| Заглавие: | Re: Как да пренасочвам портове |
Точно начина, който е описал CarBeta ми върши работа. Елементарно, но как не се сетих Аз мислех че трябва още при инициализацията да дефинирам разни сложнотии.....нещо се обърках Благодаря на всички отговорили |
|
| Автор: | Nenko [ Вто Дек 13, 2011 6:48 pm ] |
| Заглавие: | Re: Как да пренасочвам портове |
ако половината изводи са ми входове а другата половина изходи, мога ли да използвам горния пример за да сканирам двуичния код само на входовете. мисля да свържа бутони които дават ниско ниво на определени изводи също като при двуичния код - 1-0001, 2-0010,3-0011,4-0100 и т.н. |
|
| Автор: | ike [ Вто Дек 13, 2011 6:56 pm ] |
| Заглавие: | Re: Как да пренасочвам портове |
Ако те разбирам правилно, ще имаш хххх 1110 за бутон 1, хххх 1101 за бутон 2, хххх 1011 за бутон 3 и хххх 0111 за бутон 4. |
|
| Автор: | Cekins [ Вто Дек 13, 2011 9:39 pm ] |
| Заглавие: | Re: Как да пренасочвам портове |
Nenko, зарежи малко питането във форума и се върни към четенето на книжки. Освен това се пише двОичен. А ако искаш да направиш точно това което си написал ще ти трябва 74LS148 която идея си нямам отде можеш да я намериш. Отделно вече четенето на портовете... |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|