Перейти до вмісту

Мікроконтролери


Повідомлень в темі: 118

#41 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 01.07.2009 – 15:59

Прикольно було б, аби потім не спамили і не визвонювали.
  • 0

#42 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 03.12.2009 – 23:22

Ассемблер MCS-51

Завдання:
Виконати логічне "І" над двома масивами 3-й банк і 1-й банк.
Результат записати у 2-й банк, якщо парний паритет.


Мої намагання:
org 00h
sjmp begin
org 20 h

begin:
mov R0, #08H; кажемо регістрам, звідки починатись
mov R1, #18H

mov 08h,#01h; - 1-й банк
mov 09h#,02h
mov 0Ah#,03h
mov 0Bh,#4h
mov 0Ch,#05h
mov 0Dh, #06h
mov 0Eh, #07h
mov 0Fh, #08h

mov 18h, #09h; - 3-й банк 
mov 19h, #10h
mov 1Ah, #11h
mov 1Bh, #12h
mov 1Ch, #13h
mov 1Dh, #14h
mov 1Eh, #15h
mov 1Fh, #16h

m1:
 mov A, @R0
 setb psw.4; - установка 3-го банка
 setb psw.3; - установка 3-го банка
 ANL A, @R1; - логічне "І" першого і третього банків побайтно 
 inc R0; - зсув на одиницю
 inc R1
 mov @R0, A
 inc R0
 CLR psw.3; перехід у 2-й банк
 DJNZ A, m1
end

Знаю, що в кінці неправильно, тож потребую вашої допомоги.
  • 0

#43 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 03.12.2009 – 23:30

Перегляд дописуІ Цвях (3.12.2009 23:22) писав:

Ассемблер MCS-51

Завдання:
Виконати логічне "І" над двома масивами 3-й банк і 1-й банк.
Результат записати у 2-й банк, якщо парний паритет.


Мої намагання:
org 00h
 sjmp begin
 org 20 h
 
 begin:
 mov R0, #08H; кажемо регістрам, звідки починатись
 mov R1, #18H
 
 mov 08h,#01h; - 1-й банк
 mov 09h#,02h
 mov 0Ah#,03h
 mov 0Bh,#4h
 mov 0Ch,#05h
 mov 0Dh, #06h
 mov 0Eh, #07h
 mov 0Fh, #08h
 
 mov 18h, #09h; - 3-й банк 
 mov 19h, #10h
 mov 1Ah, #11h
 mov 1Bh, #12h
 mov 1Ch, #13h
 mov 1Dh, #14h
 mov 1Eh, #15h
 mov 1Fh, #16h
 
 m1:
  mov A, @R0
  setb psw.4; - установка 3-го банка
  setb psw.3; - установка 3-го банка
  ANL A, @R1; - логічне "І" першого і третього банків побайтно 
  inc R0; - зсув на одиницю
  inc R1
  mov @R0, A
  inc R0
  CLR psw.3; перехід у 2-й банк
  DJNZ A, m1
 end

Знаю, що в кінці неправильно, тож потребую вашої допомоги.

[censored], ти шо з ФЕЛа? ДЕ?
  • 0

#44 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 03.12.2009 – 23:42

видно, що у нас викладає Тодоренко і Батрак? Якщо ти відповіси на мій попередній пост, то я скажу.

Повідомлення відредагував І Цвях: 03.12.2009 – 23:43

  • 0

#45 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 03.12.2009 – 23:49

Перегляд дописуІ Цвях (3.12.2009 23:42) писав:

видно, що у нас викладає Тодоренко і Батрак? Якщо ти відповіси на мій попередній пост, то я скажу.

Видно Рудишина та Налімова) Зара гляну шо там
  • 0

#46 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 03.12.2009 – 23:58

Налімов тіко може язика чесати, а на Рудіка не жени, він прокачений чувак.
  • 0

#47 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 04.12.2009 – 00:25

org 00h
sjmp begin
org 20h

begin:
; Тут ти пишеш в нульовий банк, це те шо Налімов та Рудишин не хочуть доганяти!!!
mov R0, #08H; кажемо регістрам, звідки починатись
mov R1, #18H
mov R2, #8h; (FT)Кількість елементів
mov R3, #10h;(FT)це базове зміщення області пам'яті де результати (банк 2)
 
mov 08h ,#01h; - 1-й банк
mov 09h ,#02h
mov 0Ah ,#03h
mov 0Bh ,#4h
mov 0Ch ,#05h
mov 0Dh ,#06h
mov 0Eh ,#07h
mov 0Fh ,#08h

mov 18h, #09h; - 3-й банк
mov 19h, #10h
mov 1Ah, #11h
mov 1Bh, #12h
mov 1Ch, #13h
mov 1Dh, #14h
mov 1Eh, #15h
mov 1Fh, #16h

m1:
;(ФТ)На протязі всього циклу ми знаходимось у банку 0!
  ;////Тут твоя математика//////////
  mov A, @R0
  ANL A, @R1; - логічне "І" першого і третього банків побайтно
  ;/////////////////////////////////
  mov R5, A ;поки збережемо результат
  mov A, R0
  mov R4, A; R4 буде буфером
  mov A, R3
  mov R0, A; Завантажим зміщення результату
  mov A, R5; Записуємо в акумулятор збережений результа
  mov @R0, A; запишемо результат
  inc R0; інкрементуємо зміщння ркзультату
  mov A, R0;
  mov R3, A; Пихаємо його назад
  mov A, R4
  mov R0, A; Повертаємо вказівник на один з банків назад
  inc R0; - зсув на одиницю
  inc R1
  djnz R2, m1
end
P.S. на паритет сам перевіриш як не дурний
P.P.S. Вчись користуватись засобами відладки а не в блокноті писати, KEIL uVision наприклад
P.P.P.S Пиво передавай через Рудишина та Налімова. Хоч можеш особисто поставити. Я на ДК
  • 0

#48 :-)

    Пам'яті Помаранчевої Каски

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1199 повідомлень
  • Місто:витверезника

Відправлено 04.12.2009 – 00:33

Після спілкування із ПРОТАРом-110 на днях, радий, що не маю з тим всім справи. Тобто не обов'язок мій. Хоч просто досить але все ж. :happy1:
  • 0

#49 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 04.12.2009 – 00:37

Перегляд допису:-) (4.12.2009 00:33) писав:

Після спілкування із ПРОТАРом-110 на днях, радий, що не маю з тим всім справи. Тобто не обов'язок мій. Хоч просто досить але все ж. :happy1:

Просвіти)
  • 0

#50 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 04.12.2009 – 23:35

З твоїми буферами я мало чого зрозумів, от що на пару з Батрак і Lion'ом, який здав уже всі лаби (а я здаю тільки 4-ту з 8-ми) змудрували на трьох. Червоним виділені відмінності від твого коду.

Прихований текст
begin:
; Тут пишемо в нульовий банк
mov R0, #08H; кажемо регістрам, звідки починатись
mov R1, #18H
mov R2, #06h; (FT)Кількість елементів. Захотіли взяти 6
mov 10h, #11h;(FT)це базове зміщення області пам'яті де результати (банк 2) +  , резервуємо 10Н R0(2) для результатуR5 брати не можна, а #10 зарезервували для початку запису результату, тому почали з #11h. Батрак казала, шо в тому фішка, що там число елементів масиву одне, а місця є на один менше, чи щось в такому дусі, хоча я тої теми не просік. Виходить, що результат будемо записувати в R0 другого банку. Там ще щось, що через @ можна звертатись тільки до R0 і R1

mov 08h ,#01h; - 1-й банк
mov 09h ,#01h
mov 0Ah ,#01h
mov 0Bh ,#03h
mov 0Ch ,#03h
mov 0Dh ,#03h

mov 18h, #01h; - 3-й банк
mov 19h, #01h
mov 1Ah, #01h
mov 1Bh, #03h
mov 1Ch, #03h
mov 1Dh, #03h

m1:
mov A, @R0
ANL A, @R1; математика

jb psw.0, m2 ; якщо є паритет, тоді запис у 2-й банк
 setb psw.4; установка 2-го банку
 mov @R0, A
 inc R0; зсув нумерації
 clr psw.4


m2: inc R0
      inc R1
DJNZ R2, m1

end


У дебугері працює. В тебе щось заскладне з циклом написано...

П. С. Чекай на наступні лаби :happy1:
  • 0

#51 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 05.12.2009 – 00:50

Перегляд дописуІ Цвях (4.12.2009 23:35) писав:

З твоїми буферами я мало чого зрозумів, от що на пару з Батрак і Lion'ом, який здав уже всі лаби (а я здаю тільки 4-ту з 8-ми) змудрували на трьох. Червоним виділені відмінності від твого коду.

Прихований текст
begin:
; Тут пишемо в нульовий банк
mov R0, #08H; кажемо регістрам, звідки починатись
mov R1, #18H
mov R2, #06h; (FT)Кількість елементів. Захотіли взяти 6
mov 10h, #11h;(FT)це базове зміщення області пам'яті де результати (банк 2) +  , резервуємо 10Н R0(2) для результатуR5 брати не можна, а #10 зарезервували для початку запису результату, тому почали з #11h. Батрак казала, шо в тому фішка, що там число елементів масиву одне, а місця є на один менше, чи щось в такому дусі, хоча я тої теми не просік. Виходить, що результат будемо записувати в R0 другого банку. Там ще щось, що через @ можна звертатись тільки до R0 і R1

mov 08h ,#01h; - 1-й банк
mov 09h ,#01h
mov 0Ah ,#01h
mov 0Bh ,#03h
mov 0Ch ,#03h
mov 0Dh ,#03h

mov 18h, #01h; - 3-й банк
mov 19h, #01h
mov 1Ah, #01h
mov 1Bh, #03h
mov 1Ch, #03h
mov 1Dh, #03h

m1:
mov A, @R0
ANL A, @R1; математика

jb psw.0, m2 ; якщо є паритет, тоді запис у 2-й банк
 setb psw.4; установка 2-го банку
 mov @R0, A
 inc R0; зсув нумерації
 clr psw.4


m2: inc R0
      inc R1
DJNZ R2, m1

end


У дебугері працює. В тебе щось заскладне з циклом написано...

П. С. Чекай на наступні лаби :happy1:

Знаєш шо тут зроблено? Тут пижжено байт R0 з банку-результата, а це протирічить умовам задачі, бо результат повністю має бути у другому банку. А з банками я там трішки намудрував, можна злегка спростити, але шо так і так працює.
  • 0

#52 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 10.12.2009 – 21:58

на Windows 7 поставиться програма Асемблера МЦС-51?
  • 0

#53 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 11.12.2009 – 00:53

Перегляд дописуІ Цвях (10.12.2009 21:58) писав:

на Windows 7 поставиться програма Асемблера МЦС-51?

Ще не пробував. Сам севен поставив, але до того не дійшло. Мож на вихідних спробую.
  • 0

#54 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 12.12.2009 – 21:51

Прихований текст
Виявляється, Термінатор користувався мікросхемою майже MCS-51 Philips Semiconductors:
http://burrarum.live....com/48076.html

Повідомлення відредагував І Цвях: 12.12.2009 – 21:52

  • 0

#55 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 15.12.2009 – 00:27

Перегляд дописуІ Цвях (12.12.2009 21:51) писав:

Прихований текст
Виявляється, Термінатор користувався мікросхемою майже MCS-51 Philips Semiconductors:
http://burrarum.live....com/48076.html

Почитав, порадувало.
Короч ставив Keil uVision 4.2. на Windows 7, працює.
  • 0

#56 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 17.12.2009 – 22:38

Відняти два масиви і створити третій з додатніх парних результатів. Довжина мисива 20 байт.

org 00h
sjmp begin
org 20h
begin:
mov R0, #22h; кажемо регістрам, звідки починатись
mov R1, #42h
mov R2, #60 ; початок третього, масиву з резульратами
mov R3, #14; довжина масивів - 20 елементів

mov 22h, #02h; masyv 1
mov 23h, #02h
mov 24h, #02h
mov 25h, #02h
mov 26h, #02h
mov 27h, #02h
mov 28h, #02h
mov 29h, #02h
mov 2Ah, #02h
mov 2Bh, #02h
mov 2Ch, #02h
mov 2Dh, #02h
mov 2Eh, #02h
mov 3Gh, #02h
mov 3Fh, #02h
mov 31h, #02h
mov 32h, #02h
mov 33h, #02h
mov 34h, #02h
mov 35h, #02h


mov 42h, #02h; masyv 2
mov 43h, #02h
mov 44h, #02h
mov 45h, #02h
mov 46h, #02h
mov 47h, #02h
mov 48h, #02h
mov 49h, #02h
mov 4Ah, #02h
mov 4Bh, #02h
mov 4Ch, #02h
mov 4Dh, #02h
mov 4Eh, #02h
mov 4Gh, #02h
mov 4Fh, #02h
mov 51h, #02h
mov 52h, #02h
mov 53h, #02h
mov 54h, #02h
mov 55h, #02h

m1:
 mov A, @R0

 ;//////////// умова запису
 jb ACC.0, m2; parne chyslo
 jnb ACC.7, m2; dodatnie chyslo
 ;/////////////

 subb A, @R1; matematyka
 mov @R2, A; числа, які задовольняють умові будуть записуватись у масив, починаючи з 60h. Питання саме тут: як закласи результат в новий масив, починаючи з 60 h. Чи потрібна собака @?
  
 m2:
 inc R0
 inc R1
 inc R2
 DJNZ R3, m1

 end

Вилітає помилка error 38: number of operands does not match instructions.
Шо то воно значить?

І задача 2.
Вимкнути Мікроконтроллер при температурі Т=більше 250 градусів і при Т=менше 150 градусів і при комбінації управляючих виводів (0 1) - перший вивід і (1 0) - другий вивід.

Я так зрозумів, значення температури я подам на порт. А якою командою відключити процик? І як зроби так, щоб це було одночасно за трьох заданих умов?
  • 0

#57 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 17.12.2009 – 22:55

Перегляд дописуІ Цвях (17.12.2009 22:38) писав:

Відняти два масиви і створити третій з додатніх парних результатів. Довжина мисива 20 байт.

org 00h
sjmp begin
org 20h
begin:
mov R0, #22h; кажемо регістрам, звідки починатись
mov R1, #42h
mov R2, #60 ; початок третього, масиву з резульратами
mov R3, #14; довжина масивів - 20 елементів

mov 22h, #02h; masyv 1
mov 23h, #02h
mov 24h, #02h
mov 25h, #02h
mov 26h, #02h
mov 27h, #02h
mov 28h, #02h
mov 29h, #02h
mov 2Ah, #02h
mov 2Bh, #02h
mov 2Ch, #02h
mov 2Dh, #02h
mov 2Eh, #02h
mov 3Gh, #02h
mov 3Fh, #02h
mov 31h, #02h
mov 32h, #02h
mov 33h, #02h
mov 34h, #02h
mov 35h, #02h


mov 42h, #02h; masyv 2
mov 43h, #02h
mov 44h, #02h
mov 45h, #02h
mov 46h, #02h
mov 47h, #02h
mov 48h, #02h
mov 49h, #02h
mov 4Ah, #02h
mov 4Bh, #02h
mov 4Ch, #02h
mov 4Dh, #02h
mov 4Eh, #02h
mov 4Gh, #02h
mov 4Fh, #02h
mov 51h, #02h
mov 52h, #02h
mov 53h, #02h
mov 54h, #02h
mov 55h, #02h

m1:
 mov A, @R0

 ;//////////// умова запису
 jb ACC.0, m2; parne chyslo
 jnb ACC.7, m2; dodatnie chyslo
 ;/////////////

 subb A, @R1; matematyka
 mov @R2, A; числа, які задовольняють умові будуть записуватись у масив, починаючи з 60h. Питання саме тут: як закласи результат в новий масив, починаючи з 60 h. Чи потрібна собака @?
  
 m2:
 inc R0
 inc R1
 inc R2
 DJNZ R3, m1

 end

Вилітає помилка error 38: number of operands does not match instructions.
Шо то воно значить?
Кількість операндів не відповідає інструкції.

Перегляд дописуІ Цвях (17.12.2009 22:38) писав:

І задача 2.
Вимкнути Мікроконтроллер при температурі Т=більше 250 градусів і при Т=менше 150 градусів і при комбінації управляючих виводів (0 1) - перший вивід і (1 0) - другий вивід.

Я так зрозумів, значення температури я подам на порт. А якою командою відключити процик? І як зроби так, щоб це було одночасно за трьох заданих умов?
Як відключити?
Є спеціяльний біт регістра PCON
Зображення
Тобі тре біт Power-Down

А потрійну перевірку влаштувати не важко. Просто вклади одну в іншу.
  • 0

#58 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 18.12.2009 – 00:13

Цитата

Кількість операндів не відповідає інструкції.
Шуткі шутішь?

Де ти скачав Keil uVision 4.2?

Відредагована перша прога вигдає так:

org 00h
sjmp begin
org 20h
begin:
mov R0, #22h; кажемо регістрам, звідки починатись
mov R1, #42h
mov 08h, #60 ; початок третього, масиву з резульратами
mov R3, #14; довжина масивів - 20

mov 22h, #02h; masyv 1
mov 23h, #02h
mov 24h, #02h
mov 25h, #02h
mov 26h, #02h
mov 27h, #02h
mov 28h, #02h
mov 29h, #02h
mov 2Ah, #02h
mov 2Bh, #02h
mov 2Ch, #02h
mov 2Dh, #02h
mov 2Eh, #02h
mov 3Gh, #02h
mov 3Fh, #02h
mov 31h, #02h
mov 32h, #02h
mov 33h, #02h
mov 34h, #02h
mov 35h, #02h


mov 42h, #02h; masyv 2
mov 43h, #02h
mov 44h, #02h
mov 45h, #02h
mov 46h, #02h
mov 47h, #02h
mov 48h, #02h
mov 49h, #02h
mov 4Ah, #02h
mov 4Bh, #02h
mov 4Ch, #02h
mov 4Dh, #02h
mov 4Eh, #02h
mov 4Gh, #02h
mov 4Fh, #02h
mov 51h, #02h
mov 52h, #02h
mov 53h, #02h
mov 54h, #02h
mov 55h, #02h

m1:
 mov A, @R0
 subb A, @R1; matematyka

 ;//////////// умова запису
 jb ACC.0, m2; parne chyslo
 jnb ACC.7, m2; dodatnie chyslo
 ;/////////////

  
  Setb psw.3; поставимо 1-й банк
  mov @R0, А 
  inc 08h
  clr PSW.3

  
 m2:
 inc R0
 inc R1
 inc 10H
 DJNZ R3, m1

 end

Наче має працювать, але помилка 38 залишилась.

Повідомлення відредагував І Цвях: 18.12.2009 – 00:20

  • 0

#59 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 18.12.2009 – 00:40

Перегляд дописуІ Цвях (18.12.2009 00:13) писав:

Шуткі шутішь?

Де ти скачав Keil uVision 4.2?

Відредагована перша прога вигдає так:


Наче має працювать, але помилка 38 залишилась.

Скачай Keil 3, це не принципово.
А от у новій прогі ти намудрив ;)
Під столом
mov 4Gh, #02h

  • 0

#60 І Цвях

    опозиція

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1876 повідомлень
  • Стать:Чоловік
  • Місто:Мати міст руських

Відправлено 11.01.2010 – 22:03

РГР.

Цитата

Разработать принципиальную схему контроллера (АТ89С51) с цепями питания, кварцевым резонатором, схемой сброса, внутренней памятью программ, внутренней памятью данных, 2 внешними регистрами (1 приемник и 1 передатчик), подключенными по шине Р8..

Живлення є, резонатор є, схема скиду є. Хто пояснить, що тре зробити, що з*днати, щоб була внутрішня пам*ять даних і внутрішня пам*ять програм? Вони ж походу є вже в самому проці. І що зробити з двома регістрами?

Зображення

http://upload.com.ua/get/901300770/ файл .vsd тут. Звичайно, можна і просто пояснити словами. Я зрозумію.
  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних