arkadaşlar mikroişlemci programlamaya yeni başlıyorum..msp430g2231 in input/output portlarıın kullanımına çalıştım ve aşağıdaki programı yazdım..program işliyor.ancak uzun oldu galiba.kısaltmalar yapılabilirmi?ve bunun gibi yorumlarınızı almak istiyorum.
;*******************************************************************************
;//LDR devresi P1.1 e,tsop p1.2 ye bağlıdır.ortam karanlık olduğunda p1.6 daki
;//röle tetiklenip ışık yanacaktır.ayrıca ir led tsop u tetiklediğinde p1.7 deki
;//röle tetiklenip dc motor çalışacaktır..
;
;
;*******************************************************************************
#include "msp430g2231.h"
;-------------------------------------------------------------------------------
ORG 0F800h ; Program Reset
;-------------------------------------------------------------------------------
RESET mov.w #0280h,SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
clrc ;elde sıfırla
clrz ;zero bayrağını sıfırla
clrn
clr.b P1OUT ;p1out u sıfırla
clr.b P1DIR ;P1DIr ı sıfırla
mov.b #0C0h,&P1DIR ;P1.6 ve P1.7 çıkış,diğerleri giriş
MAIN bit.b #04h,&P1IN ;p1.2=1??
jnc MOTOR_DUR ;elde 1 değilse atla
MAIN2 bit.b #02h,&P1IN ;P1.1=0??
jnc ISIK_KAPAT ;elde 0 ise atla
DEVAM bit.b #06h,&P1IN ;P1.1 veya p1.0 1 mi??
jc KARANLIK_VEYA_MOTOR_ON ;elde 1 ise atla
KARANLIK_VEYA_MOTOR_ON bit.b #02h,&P1IN ;P1.1=1??
jc KARANLIK ;elde 1 ise atla
KARANLIK_VE_MOTOR_ON_2_BAS bit.b #04h,P1IN ;P1.2=1??
jc MOTOR_ON ;elde 1 ise atla
KARANLIK bis.b #040h,&P1OUT ;p1.6=1
jmp KARANLIK_VE_MOTOR_ON_2_BAS
MOTOR_ON bis.b #080h,&P1OUT ;p1.7=1
jmp MAIN
ISIK_KAPAT bic.b #040h,&P1OUT ;p1.6=0
jmp DEVAM
MOTOR_DUR bic.b #080h,P1OUT ;p1.7=0
jmp MAIN2
;-------------------------------------------------------------------------------
; Interrupt Vectors
;-------------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
END
Şunu C de yapsak ne güzel olur.8086da asm den gına geldi zaten.
Ben de yeni başladım ilk çalışan programım ;
https://www.picproje.org/index.php/topic,33084.0.html