Code of Assembly Language-Microcontroller and Assembly Language-Project Report, Thesis of Microcontrollers

This is project report by a student to fulfil requirement of course Microcontroller and Assembly Language at Ankit Institute of Technology and Science. It contains Code, Ports, Information, Input, Form, Control, Signal, ADC, HCTL, PWM, Transmit

Typology: Thesis

2011/2012

Uploaded on 07/03/2012

booby
booby 🇮🇳

3.8

(15)

21 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
;PORTS INFORMATION
;PORT0 : CONTROL SIGNALS FOR TLD18200T
BOARD
;PORT1 : INPUT FORM HCTL2022
;PORT2 : INPUT FORM ADC
;PORT3 : CONTROL SIGNALS FOR HCTL2022
PWM_B EQU 22H
BYTE1 EQU 23H
BYTE2 EQU 24H
BYTE3 EQU 25H
BYTE4 EQU 26H
PWM_VALUE EQU R2
ADC_VALUE EQU R3
CS EQU P0.0
READ EQU P0.1
WRITE EQU P0.2
PWM EQU P0.3
DIR EQU P0.4
BRAKE EQU P0.5
THERM EQU P0.6
HCTL_IN EQU P1
ADC_IN EQU P2
RX EQU P3.0
TX EQU P3.1
INTR_ADC EQU P3.2
RST_HCTL EQU P3.4
OE_HCTL EQU P3.5
SEL2 EQU P3.6
SEL1 EQU P3.7
ORG 0000H
LJMP MAIN
ORG 0003H
;LJMP EXT0_ISR
ORG 000BH
LJMP T0ISR
ORG 0013H
;LJMP EXT1_ISR
ORG 001BH
;LJMP T1_ISR
ORG 0023H
LJMP SER_ISR
ORG 0030H
MAIN:
CALL INITIATE ;INITIATE ALL
THE PORTS
CALL SER_INIT ;INITIATE
SERIAL WITH 9600 BAUD
CALL TIMER_INIT
;INITIATE TIMER0 WITH BASE WAVE
(100KHz)
MOV IE,#10010010B ;ENABLE SERIAL
AND TIMER 0 INTURRPET.
HERE:
SJMP HERE
INITIATE:
MOV PWM_B,#00H
MOV ADC_IN,#0FFH
MOV HCTL_IN,#0FFH
MOV PWM_VALUE,#50H
MOV ADC_VALUE,#00H
MOV R5,#00
SETB CS
SETB WRITE
SETB READ
CLR BRAKE
CLR PWM
SETB DIR
SETB OE_HCTL
SETB RST_HCTL
CLR SEL1
CLR SEL2
RET
SER_INIT:
MOV TMOD,#20H ;t1,mOD2
MOV TH1,#-6 ;RELOAD
VALUE=(CRYSTAL FREQ/12)/(BAUDRATE*32)
26.04 FOR 2400,6.1 FOR 9600 USING
24MHZ OSCILLATOR
CODE
Docsity.com
pf3

Partial preview of the text

Download Code of Assembly Language-Microcontroller and Assembly Language-Project Report and more Thesis Microcontrollers in PDF only on Docsity!

;PORTS INFORMATION

;PORT0 : CONTROL SIGNALS FOR TLD18200T

BOARD

;PORT1 : INPUT FORM HCTL

;PORT2 : INPUT FORM ADC

;PORT3 : CONTROL SIGNALS FOR HCTL

PWM_B EQU 22H

BYTE1 EQU 23H

BYTE2 EQU 24H

BYTE3 EQU 25H

BYTE4 EQU 26H

PWM_VALUE EQU R

ADC_VALUE EQU R

CS EQU P0.

READ EQU P0.

WRITE EQU P0.

PWM EQU P0.

DIR EQU P0.

BRAKE EQU P0.

THERM EQU P0.

HCTL_IN EQU P

ADC_IN EQU P

RX EQU P3.

TX EQU P3.

INTR_ADC EQU P3.

RST_HCTL EQU P3.

OE_HCTL EQU P3.

SEL2 EQU P3.

SEL1 EQU P3.

ORG 0000H

LJMP MAIN

ORG 0003H

;LJMP EXT0_ISR

ORG 000BH

LJMP T0ISR

ORG 0013H

;LJMP EXT1_ISR

ORG 001BH

;LJMP T1_ISR

ORG 0023H

LJMP SER_ISR

ORG 0030H

MAIN:

CALL INITIATE ;INITIATE ALL

THE PORTS

CALL SER_INIT ;INITIATE

SERIAL WITH 9600 BAUD

CALL TIMER_INIT

;INITIATE TIMER0 WITH BASE WAVE

(100KHz) MOV IE,#10010010B ;ENABLE SERIAL AND TIMER 0 INTURRPET. HERE: SJMP HERE

INITIATE:

MOV PWM_B,#00H

MOV ADC_IN,#0FFH

MOV HCTL_IN,#0FFH

MOV PWM_VALUE,#50H

MOV ADC_VALUE,#00H

MOV R5,#

SETB CS

SETB WRITE

SETB READ

CLR BRAKE

CLR PWM

SETB DIR

SETB OE_HCTL

SETB RST_HCTL

CLR SEL

CLR SEL

RET

SER_INIT:

MOV TMOD,#20H ;t1,mOD MOV TH1,#-6 ;RELOAD VALUE=(CRYSTAL FREQ/12)/(BAUDRATE*32) 26.04 FOR 2400,6.1 FOR 9600 USING 24MHZ OSCILLATOR

CODE

MOV SCON,#52H

SETB TR

RET

TIMER_INIT:

MOV TMOD,#02H ;t0,mOD MOV TH0,#-255 ;100KHz BASE WAVE SETB TR RET

ADC_SAMPLE:

CLR CS

CLR WRITE

NOP

SETB WRITE

SETB CS

JB INTR_ADC,$ ;Wait for INTR signal

;READ THE SAMPLE

CLR CS ;Make CS Low CLR READ ;Make RD Low MOV A,ADC_IN ;Read the converted value MOV ADC_VALUE,A ;Store it in local variable SETB READ ;Make RD High SETB CS ;Make CS High

RET

;OPERATION

;ENTRY ON

;EXIT ON

;REGISTER EFFECTED

/*EXT0_ISR:

CLR CS

CLR READ

MOV A,ADC_IN

MOV ADC_VALUE,A

SETB READ

SETB CS

RETI*/

T0ISR:

MOV R4,PWM_B

CJNE R4,#100,CONT

MOV PWM_B,#

CJNE R5,#40,CONT

CALL ADC_SAMPLE

MOV R5,#

MOV A,ADC_VALUE

SUBB A,#

JC CONT

CALL SHUTDOWN

CONT:

CLR C

MOV A,PWM_VALUE ;MOV

THE REQUIRED PWM VALUE IN A, PWM_VALUE

IS RECIEVED BY SERIAL PORT

SUBB A,PWM_B

;A=PWM_VALUE-PWM_B

JC ZERO ;IF

PWM_VALUE<PWM_B => CLEAR THE PIN

SETB PWM ;ELSE SET THE

PIN

SJMP Q

ZERO:

CLR PWM

Q:

INC PWM_B

INC R

RETI

SER_ISR:

JNB RI,TRANSMIT

CLR RI

MOV A,SBUF

MOV PWM_VALUE,A

CALL OUTCHAR ;ECHO

RECIEVED CHAR

SJMP ENDI

TRANSMIT:

CLR TI

;MOV SBUF,A

ENDI:

RETI

INCHAR:

JNB RI,$

CLR RI

MOV A,SBUF

MOV C,P