|
Как написать код на ассемблере AVR-на "С"-понятно. |
|
|
|
Sep 20 2013, 07:18
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 25-01-13
Из: Брянск
Пользователь №: 75 345

|
Здравствуйте.Подскажите пожалуйста.Вот код на Си -здесь всё понятно. if (u > 256) // 1.25V PORTD = 0b00000011; if (u > 384) // 1.875V PORTD = 0b00000111 А вот как реализовать на ассемблере,дело в том ,что переменная-"u"-это двухбайтное число(10 разрядов) у меня это регистры АЦП-ADCL , ADCH. И если не трудно подскажите ,что сделал автор в 23 строке своей программы u = (ADCL|ADCH << 8);-взято отсюда http://radioparty.ru/index.php/prog-avr/pr...adc-avr?start=1Если можно то подробнее.Спасибо.
|
|
|
|
|
 |
Ответов
|
Sep 20 2013, 10:51
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 25-01-13
Из: Брянск
Пользователь №: 75 345

|
Цитата(V_G @ Sep 20 2013, 14:29)  Вероятно, можно поступить проще, если повнимательней разобраться в сути неравенств из первого поста. Однозначно нижеприведенный вариант будет работать, если неравенства нестрогие (>=) 1. В настройке AЦП включить бит ADLAR (выравнивание результата по левому краю), результат сдвинется влево на 6 разрядов 2. Сравнивать только ADCH с 0x40 и с 0x60 В смысле работать с восьмиразрядным числом потеряв 2 младших разряда.А вот это мне непонятно-с 0x40 и с 0x60 Это маска?
|
|
|
|
Сообщений в этой теме
serj32 Как написать код на ассемблере AVR-на "С"-понятно. Sep 20 2013, 07:18 MrYuran Цитата(serj32 @ Sep 20 2013, 10:18) И есл... Sep 20 2013, 07:32 serj32 Цитата(MrYuran @ Sep 20 2013, 11:32) Кодu... Sep 20 2013, 08:23  adnega Цитата(serj32 @ Sep 20 2013, 12:23) Вот д... Sep 20 2013, 08:47   serj32 Цитата(adnega @ Sep 20 2013, 12:47) Подра... Sep 20 2013, 10:02  MrYuran Цитата(serj32 @ Sep 20 2013, 11:23) Вот д... Sep 20 2013, 09:42 serj32 Очевидно чтобы реализовать Си код
if (u > 256)... Sep 20 2013, 16:58 _Pasha Цитата(serj32 @ Sep 20 2013, 19:58) Очеви... Sep 20 2013, 18:14 zombi Цитата(serj32 @ Sep 20 2013, 19:58) необх... Sep 20 2013, 18:56  serj32 Цитата(zombi @ Sep 20 2013, 22:56) Сравни... Sep 20 2013, 19:56 zombi Ход примерно правильный.
Но!!!
Я же уж... Sep 20 2013, 20:15 _Pasha Цитата(zombi @ Sep 20 2013, 23:15) Ход пр... Sep 21 2013, 15:56  serj32 Цитата(_Pasha @ Sep 21 2013, 19:56) Не уч... Sep 21 2013, 18:31   ae_ Если я правильно понял о чём речь, то в итоге долж... Sep 22 2013, 04:31 _Pasha Посмотрел.
1. out PORTD,0b00000011; - такой команд... Sep 22 2013, 04:18 zombi Цитата(_Pasha @ Sep 22 2013, 07:18) потом... Sep 22 2013, 08:15 serj32 Считаю,что тема была бы не законченной не приведя ... Oct 10 2013, 17:59 kolobok0 Цитата(serj32 @ Oct 10 2013, 21:59) Код..... Oct 10 2013, 20:46  Сергей Борщ QUOTE (kolobok0 @ Oct 10 2013, 23:46) 3) ... Oct 10 2013, 21:04 ILYAUL Кодcbi ADCSRA,ADIE ;Запрет прерывания от АЦП... Oct 10 2013, 19:04
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|