макро асм это тот же С (или паскаль, бейсик, форт и т.д. каждый сможет сделать, чтото на чем ему более удобно писать) только более гибкий, но не спорю, что начинающему проще взять готовый бейсик, чтото написать, а потом найти подходящий контроллер (чтобы влезло), но если вам нужно сделать 1000 штук, то экономия на каждом мк с меньшей памятью по доллару или больше, стоит того чтобы писать более оптимальную прогу, и лучше ее писать сразу оптимальной, а не надеяться на уровни оптимизации, асм и С это крайности, нужно брать посредине, оптимальный вариант.
(«Телесистемы»: «Конференция «Микроконтроллеры и их применение»»)

миниатюрный аудио-видеорекордер mAVR

Отправлено expert 27 апреля 2003 г. 08:41
В ответ на: Хм. Не проще. отправлено blackbit 26 апреля 2003 г. 22:21


;-----------------> установка температуры поддержания <---------------------
Bank0
button_choice b'100000', PORTC, temp_ust_yes,temp_ust_no
nop
temp_ust_yes
load_L_in_A_16 h'30', h'31', temp_h3,
; запись параметра регулировки в eeprom адреса 30,31
temp_h2
call kal_term
load_A_in_B_16 temp_h3, temp_h2, parametr_h, parametr_l
temp_ust_no

; ------------------ измерение температуры ---------------------

call sensor_in
load_A_in_B_16 temp_h1, temp_l, zx_h, zx_l
nop
; load and Calculations
load_A_in_B_16 GBcalHi, GBcalLo, zmax_h, zmax_l
load_A_in_B_16 GMcalHi, GMcalLo, zmin_h, zmin_l
load_A_in_B_16 LGMcal_h, LGMcal_l, rmin_h, rmin_l
load_A_in_B_16 LGBcal_h, LGBcal_l, rmax_h, rmax_l

nop
call pol_alg ; calculations
nop
;------------------> вывод на индикатор <----------------

load_A_in_B_16 rx_h, rx_l, led_out_h, led_out_l
call led_lcd_4

;------------------> задержка 1секунда

call delay_1s

;-----------------------сравнение

if_A_more_B_16 rx_h,rx_l,parametr_h,parametr_l,off_nagrevat,
on_nagrevat
off_nagrevat

bcf PORTC,2 ;отключить нагреватель '0'
goto cycle_new

on_nagrevat

bsf PORTC,2 ;включить нагреватель '1'
goto cycle_new

операторы как if_A_more_B_16, можно и ifm16 это кому как удобнее

Составить ответ ||| Конференция ||| Архив

Ответы



Перейти к списку ответов ||| Конференция ||| Архив ||| Главная страница ||| Содержание

E-mail: info@telesys.ru