Отговори на тема  [ 22 мнения ]  Отиди на страница 1, 2  Следваща
Курсова задача 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 12, 2009 6:33 pm
Мнения: 8
Местоположение: Сливен
Мнение Курсова задача
Здравейте,
Госпожата по асемблер за микроконтролер ми даде задача да напиша програма за преобразуване на еднобайтови двоични числа в BCD код, но си нямам никаква представа какво да пиша в нея.
Ако може някой да ми помогне ще съм му мн благодарен.


Чет Мар 12, 2009 6:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Точка Първа:
Няма Асемблер за микроконтролер. Има Асембер за конкретен микроконтролер. Асемблерите са повече от мадамите лятно време по плажа... :)


Чет Мар 12, 2009 6:55 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 12, 2009 6:33 pm
Мнения: 8
Местоположение: Сливен
Мнение 
ем добре PIC18FXX това ни е диктува госпожата :)


Чет Мар 12, 2009 7:06 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Ное 10, 2004 1:06 am
Мнения: 161
Местоположение: Нова Загора
Мнение 
В ТЕЕ "Мария Кюри" ли учиш?


Чет Мар 12, 2009 7:59 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 12, 2009 6:33 pm
Мнения: 8
Местоположение: Сливен
Мнение 
Да но вече се води ПГЕЕ


Чет Мар 12, 2009 8:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
Цитат:
Здравейте,
Госпожата по асемблер за микроконтролер ми даде задача да напиша програма за преобразуване на еднобайтови двоични числа в BCD код, но си нямам никаква представа какво да пиша в нея.
Ако може някой да ми помогне ще съм му мн благодарен.


Като начало трябва да знаеш какво е BCD-код.


Чет Мар 12, 2009 8:54 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 12, 2009 6:33 pm
Мнения: 8
Местоположение: Сливен
Мнение 
Знам какво е BCD код знам и как да преобразувам двоичните числа в BCD но само с числа. Само незнам как да напиша програмата


Пет Мар 13, 2009 12:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
ABSINTH написа:
Знам какво е BCD код знам и как да преобразувам двоичните числа в BCD но само с числа. Само незнам как да напиша програмата

Е това е трябвало "госпожата по асемблер" поне да ти покаже как става.
И какво всъщност очакваш като помощ ... ?

_________________
Най-опасният враг на истината и свободата е мнозинството.


Пет Мар 13, 2009 9:59 am
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Чет Авг 21, 2008 2:52 pm
Мнения: 476
Местоположение: Пловдив
Мнение 
http://www.piclist.com/techref/microchi ... p-8b3d.htm

виж тук..има и всякакви други преобразувания и сметки


Пет Мар 13, 2009 10:22 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 12, 2009 6:33 pm
Мнения: 8
Местоположение: Сливен
Мнение 
Добре де питах я как става обясни ми горе доло какво трябва да напиша първо да умножа двоичното число по константа след това всичките числа да ги субера, да ги прехвъчрля във WREG и пак да ги сабирам. Ама явно нищо пак несам разбрал. До сега несме правили ( не сме ги писали в тетрадката ) никакви по големи програми, само пишем по един ред и толкова и ся с тая задача абсолютно никой от класа неможа да се справи, е някой си намериха прогамите написани в учебника ама другите сме прецакани щото ги няма.
Да си кажа чесни а и сигорно сте разбрали очаквах да ми я напишете програмата пък и да не е вярна няма значение важното е да имам повече от 2


Пет Мар 13, 2009 10:35 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Дек 19, 2004 6:26 pm
Мнения: 1628
Местоположение: Сливен
Мнение 
Погледна ли линка от предния пост? Copy/Paste и понеже госпожата отбира от
английски, колкото от асемблер за PIC18xx, ще стане работата.
Само дано лекарите не учат така, че ................. :evil:


Пет Мар 13, 2009 11:46 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Мар 12, 2009 6:33 pm
Мнения: 8
Местоположение: Сливен
Мнение 
да видях го мерси! Днес и го показах обаче тя каза че това е програма за C++ и ме върна да си напиша какво съм правил нищо че не е вярно


Пет Мар 13, 2009 5:12 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Фев 17, 2006 9:17 am
Мнения: 765
Местоположение: Стара Загора
Мнение 
:D


Пет Мар 13, 2009 5:14 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
ABSINTH написа:
да видях го мерси! Днес и го показах обаче тя каза че това е програма за C++ и ме върна да си напиша какво съм правил нищо че не е вярно


дай малко по бавно :)

показал си и "това":
Код:
;********************************
;binary_to_bcd - 8-bits
;
;Input
;  bin  - 8-bit binary number
;   A1*16+A0
;Outputs
; hundreds - the hundreds digit of the BCD conversion
; tens_and_ones - the tens and ones digits of the BCD conversion
binary_to_bcd:

        CLRF    hundreds
        SWAPF   bin, W      ; swap the nibbles
        ADDWF   bin, W      ; so we can add the upper to the lower
        ANDLW   B'00001111' ; lose the upper nibble (W is in BCD from now on)
        SKPNDC              ; if we carried a one (upper + lower > 16)
         ADDLW  0x16        ; add 16 (the place value) (1s + 16 * 10s)
        SKPNDC              ; did that cause a carry from the 1's place?
         ADDLW  0x06        ; if so, add the missing 6 (carry is only worth 10)
        ADDLW   0x06        ; fix max digit value by adding 6
        SKPDC               ; if was greater than 9, DC will be set
         ADDLW  -0x06       ; if if it wasn't, get rid of that extra 6
       
        BTFSC   bin,4       ; 16's place
         ADDLW  0x16 - 1 + 0x6  ; add 16 - 1 and check for digit carry
        SKPDC
         ADDLW  -0x06       ; if nothing carried, get rid of that 6
       
        BTFSC   bin, 5      ; 32nd's place
         ADDLW  0x30        ; add 32 - 2
       
        BTFSC   bin, 6      ; 64th's place
         ADDLW  0x60        ; add 64 - 4
       
        BTFSC   bin, 7      ; 128th's place
         ADDLW  0x20        ; add 128 - 8 % 100
       
        ADDLW   0x60        ; has the 10's place overflowed?
        RLF     hundreds, F ; pop carry in hundreds' LSB
        BTFSS   hundreds, 0 ; if it hasn't
         ADDLW  -0x60       ; get rid of that extra 60
       
        MOVWF   tens_and_ones   ; save result
        BTFSC   bin,7       ; remeber adding 28 - 8 for 128?
         INCF   hundreds, F ; add the missing 100 if bit 7 is set
       
        RETURN              ; all done!


и .... "госпожата":

ABSINTH написа:
каза че това е програма за C++


или нещо ... пропускам :)


Пет Мар 13, 2009 5:25 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Чет Авг 21, 2008 2:52 pm
Мнения: 476
Местоположение: Пловдив
Мнение 
обектно ориентирана.... или обектно неориентирана :D


Пет Мар 13, 2009 5:36 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 22 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни