Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Програма за P16C73
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=15579
Страница 1 от 2

Автор:  m0v3r [ Чет Ное 02, 2017 4:54 pm ]
Заглавие:  Програма за P16C73

Здравейте, някой дали ще може да ми направи програмата от заданието в дока, че имам още доста да уча докато стигна до нивото, в което ще мога да си я направя сам, а ми е супер важно в момента да я имам. :|

В скобки съм изписал с думи знаците, които има между числата, тъй като не знам в текстов документ как да ги изобразя. Програмата, с която си правя експерименти е MPLAB IDE 8.

Прикачени файлове:
program.txt [308 Байта]
486 пъти

Автор:  dan [ Чет Ное 02, 2017 5:07 pm ]
Заглавие:  Re: Програма за P16C73

Търгът с тайно или с явно наддаване ще е :)

Автор:  m0v3r [ Чет Ное 02, 2017 5:25 pm ]
Заглавие:  Re: Програма за P16C73

Знам, че е малко нагло, но наистина ми е много важно в момента. Ако се намери някои, който има желание да удари едно рамо ще съм му благодарен. Или поне ако има начин php или c++ код да се преобразува на асембли да споделите как, че с тия езици съм доста по в час.

Автор:  radolin [ Чет Ное 02, 2017 5:29 pm ]
Заглавие:  Re: Програма за P16C73

PHP код трудно, но виж за Ц към асембли може да ти свърши работа всеки компилатор.

Автор:  Wise [ Чет Ное 02, 2017 6:18 pm ]
Заглавие:  Re: Програма за P16C73

Ами пиши на лични, че станахте повечко мераклии
Изискването ми е - да разбереш какво прави сорс кода! :)

Автор:  ike [ Чет Ное 02, 2017 8:51 pm ]
Заглавие:  Re: Програма за P16C73

И php и C++ ще му дойдат нанагорно на контролер с 192 байта памет. :)
Wise какъв е проблема, ако m0v3r знае за двойка да получи двойка? А ако иска да си купи оценката нека просто да си плати на учителя и да продължава напред.
Както виждаш от 2-та му поста в момента дори и въпросите му не са правилни.

Автор:  Wise [ Пет Ное 03, 2017 7:40 am ]
Заглавие:  Re: Програма за P16C73

Ами няма проблем да си получи двойката, но щом е стигнал до този форум може би заслужава за тройка :)
Аз не съм учител и бих помогнал на човека / ако можех да отворя прикачения файл/.
Моята щайга е с XP и open office - излизат ми само киликанзери...
///И май даскалите са за ........ :axe:

Автор:  ike [ Пет Ное 03, 2017 11:52 am ]
Заглавие:  Re: Програма за P16C73

Wise написа:
///И май даскалите са за ........ :axe:

За да могат да направят нещо даскалите си трябва и някакво желание от страна учениците.

Автор:  Pif [ Пет Ное 03, 2017 12:35 pm ]
Заглавие:  Re: Програма за P16C73

Ако можех да разбера заданието лесно щях да го напиша. Само дето не знам какво е "знак за обединение" и "знак за сечение".
Иначе даскалите в средните технически училища са си яко за бой. Има деца с желание но тъй като са критичен минимум им преподават критичен минимум по програма. Казват им някакви неща но изобщо не им обясняват какво и защо става. Камо ли да им обяснят основите над които това се надгражда. Малко сух материал и после върви си блъскай главата.

Автор:  ig_ivanov [ Пет Ное 03, 2017 1:08 pm ]
Заглавие:  Re: Програма за P16C73

Нещо такова трябва да е, само където ученика го няма да поясни:

Да се състави програма на асемблер за P16C73,
която да пресмята израза:

R = A .13 U 2 ∩ 129,

където:
А – еднобайтова променлива в данновата памет.

U – знак за обединение. Пример.
∩ - знак за сечение. Пример.

Източник

Автор:  radolin [ Пет Ное 03, 2017 1:10 pm ]
Заглавие:  Re: Програма за P16C73

Pif написа:
Ако можех да разбера заданието лесно щях да го напиша. Само дето не знам какво е "знак за обединение" и "знак за сечение".


Моето предположение е OR/AND операции.

Автор:  slav4o.com [ Пет Ное 03, 2017 2:41 pm ]
Заглавие:  Re: Програма за P16C73

А таман и аз това ми мина през ума като гледах картинките. Само че заданието го е писал математик, не програмист :)

Автор:  m0v3r [ Пет Ное 03, 2017 3:18 pm ]
Заглавие:  Re: Програма за P16C73

Да, заданието е точно това, което е написал ig_ivanov.

Pif, не само в средните училища са за бой очевадно. На мен ми трябва за университета. Тъпо е, че по този начин ще стане (някой друг да ми направи курсовата), но съм притиснат от времето, а ако ви покажа с какви лекции разполагам от доцентката, ще се запитате как не съм се гръмнал все още.

Големи благодарности на всички, които изявиха желание да ударят едно рамо и най-вече на Wise, който ми направи програмата (ако ми разреши по-късно ще прикача и сорса).

Автор:  m0v3r [ Пет Ное 03, 2017 5:02 pm ]
Заглавие:  Re: Програма за P16C73

Това е сорса на Wise:

Цитат:
;Project mcu
;R = A.13 or 2 and 129

LIST P=16C73A, F=INHX8M
#include "P16C73A.inc"

VA equ 0x20 ;variable A
Rh equ 0x21 ;rezult high byte
Rl equ 0x22 ;rezult low byte
Ct equ 0x23 ;counter

org 0x0000 ;reset vector
goto Start

org 0x0020 ;start address
Start movf VA,0 ;W = A
movwf Rl ;Rl = A
clrf Rh ;Rh = 0
movlw .6 ;W = 6
movwf Ct ;Ct = 6

;multiplay by 6 /6x2=12/
Loop bcf STATUS,C ;C flag = 0
rlf Rl,1 ;Rlx2 C = Rl.7 bit
rlf Rh,1 ;Rhx2 Rh.0 bit = C
decfsz Ct,1 ;Ct = -1
goto Loop ;loop till Ct=0 /6x2/

;add 13-th A /12 + 1 =13/
movf VA,0 ;W = A
addwf Rl,1 ;Rl = Rl + A
btfsc STATUS,C ;check if carry
incf Rh,1 ;if carry Rh = +1

;or 2
movlw .2 ;W = 2
iorwf Rl,1 ;Rl = Rl V 2


;and 129
movlw .129 ;W = 129
andwf Rl,1 ;Rl = Rl and 129
clrf Rh ;Rh = 0 //129<255
nop

end





Прикачени файлове:
kursova_mcu.asm [965 Байта]
461 пъти

Автор:  miro_atc [ Пет Ное 03, 2017 5:23 pm ]
Заглавие:  Re: Програма за P16C73

Ако не греша, програмата пресмята нещо от сорта

R = ((A*13) | 2) & 129

в случая or с 2 може да се спести. Но проблемът е че приоритетите на операциите по принцип е умножение после and после or, т.е. изразът:

R = A*13 | 2 & 129

би трябвало да се чете:

R = (A*13) | (2 & 129)

което е:

R = (A*13) | 0

или

R = A*13

:-)

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/