Автор |
Съобщение |
m0v3r
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2017 8:39 am Мнения: 4
|
Програма за P16C73
Здравейте, някой дали ще може да ми направи програмата от заданието в дока, че имам още доста да уча докато стигна до нивото, в което ще мога да си я направя сам, а ми е супер важно в момента да я имам. В скобки съм изписал с думи знаците, които има между числата, тъй като не знам в текстов документ как да ги изобразя. Програмата, с която си правя експерименти е MPLAB IDE 8.
|
Чет Ное 02, 2017 3:54 pm |
|
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 1:23 pm Мнения: 3545 Местоположение: Високо в планината
|
Re: Програма за P16C73
Търгът с тайно или с явно наддаване ще е
_________________ Хайде де!
|
Чет Ное 02, 2017 4:07 pm |
|
|
m0v3r
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2017 8:39 am Мнения: 4
|
Re: Програма за P16C73
Знам, че е малко нагло, но наистина ми е много важно в момента. Ако се намери някои, който има желание да удари едно рамо ще съм му благодарен. Или поне ако има начин php или c++ код да се преобразува на асембли да споделите как, че с тия езици съм доста по в час.
|
Чет Ное 02, 2017 4:25 pm |
|
|
radolin
Ранг: Форумен бог
Регистриран на: Пон Дек 19, 2005 11:21 am Мнения: 1029
|
Re: Програма за P16C73
PHP код трудно, но виж за Ц към асембли може да ти свърши работа всеки компилатор.
|
Чет Ное 02, 2017 4:29 pm |
|
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 5:26 pm Мнения: 1628 Местоположение: Сливен
|
Re: Програма за P16C73
Ами пиши на лични, че станахте повечко мераклии Изискването ми е - да разбереш какво прави сорс кода!
|
Чет Ное 02, 2017 5:18 pm |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Програма за P16C73
И php и C++ ще му дойдат нанагорно на контролер с 192 байта памет. Wise какъв е проблема, ако m0v3r знае за двойка да получи двойка? А ако иска да си купи оценката нека просто да си плати на учителя и да продължава напред. Както виждаш от 2-та му поста в момента дори и въпросите му не са правилни.
_________________ Warriors of the Night, ASSEMBLER!!!
|
Чет Ное 02, 2017 7:51 pm |
|
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 5:26 pm Мнения: 1628 Местоположение: Сливен
|
Re: Програма за P16C73
Ами няма проблем да си получи двойката, но щом е стигнал до този форум може би заслужава за тройка Аз не съм учител и бих помогнал на човека / ако можех да отворя прикачения файл/. Моята щайга е с XP и open office - излизат ми само киликанзери... ///И май даскалите са за ........
|
Пет Ное 03, 2017 6:40 am |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Програма за P16C73
За да могат да направят нещо даскалите си трябва и някакво желание от страна учениците.
_________________ Warriors of the Night, ASSEMBLER!!!
|
Пет Ное 03, 2017 10:52 am |
|
|
Pif
Ранг: Форумен бог
Регистриран на: Чет Сеп 26, 2013 1:24 pm Мнения: 1103
|
Re: Програма за P16C73
Ако можех да разбера заданието лесно щях да го напиша. Само дето не знам какво е "знак за обединение" и "знак за сечение". Иначе даскалите в средните технически училища са си яко за бой. Има деца с желание но тъй като са критичен минимум им преподават критичен минимум по програма. Казват им някакви неща но изобщо не им обясняват какво и защо става. Камо ли да им обяснят основите над които това се надгражда. Малко сух материал и после върви си блъскай главата.
|
Пет Ное 03, 2017 11:35 am |
|
|
ig_ivanov
Ранг: Напреднал
Регистриран на: Съб Май 21, 2016 8:47 pm Мнения: 476 Местоположение: Бургас
|
Re: Програма за P16C73
Нещо такова трябва да е, само където ученика го няма да поясни: Да се състави програма на асемблер за P16C73, която да пресмята израза: R = A .13 U 2 ∩ 129, където: А – еднобайтова променлива в данновата памет. U – знак за обединение. Пример.∩ - знак за сечение. Пример.Източник
Последна промяна ig_ivanov на Пет Ное 03, 2017 12:29 pm, променена общо 2 пъти
|
Пет Ное 03, 2017 12:08 pm |
|
|
radolin
Ранг: Форумен бог
Регистриран на: Пон Дек 19, 2005 11:21 am Мнения: 1029
|
Re: Програма за P16C73
Моето предположение е OR/AND операции.
|
Пет Ное 03, 2017 12:10 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2586 Местоположение: Велико Търново / София
|
Re: Програма за P16C73
А таман и аз това ми мина през ума като гледах картинките. Само че заданието го е писал математик, не програмист
|
Пет Ное 03, 2017 1:41 pm |
|
|
m0v3r
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2017 8:39 am Мнения: 4
|
Re: Програма за P16C73
Да, заданието е точно това, което е написал ig_ivanov.
Pif, не само в средните училища са за бой очевадно. На мен ми трябва за университета. Тъпо е, че по този начин ще стане (някой друг да ми направи курсовата), но съм притиснат от времето, а ако ви покажа с какви лекции разполагам от доцентката, ще се запитате как не съм се гръмнал все още.
Големи благодарности на всички, които изявиха желание да ударят едно рамо и най-вече на Wise, който ми направи програмата (ако ми разреши по-късно ще прикача и сорса).
|
Пет Ное 03, 2017 2:18 pm |
|
|
m0v3r
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2017 8:39 am Мнения: 4
|
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
| | | | |
|
Пет Ное 03, 2017 4:02 pm |
|
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10368 Местоположение: Добрич
|
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
|
Пет Ное 03, 2017 4:23 pm |
|
|