Скачиваний:
12
Добавлен:
01.05.2014
Размер:
61.95 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет

Кафедра ВТ

Микропроцессорные системы

Отчет по лабораторной работе №4

Вариант 1

Выполнили: Попов А.

Таранюк М.

Гр.2372

Проверила: Головина Л.К.

Санкт-Петербург

2006

Логика работы T/C0 или T/C1 в режиме 1

Логика работы T/C0 или T/C1 в режиме 2

Код программы

$NOMOD51

#include <reg932.h>

Blinking SEGMENT CODE ; segment declaration

; defines a segment with the name 'Blinking' and the memory class CODE

RSEG Blinking ; switch to this code segment

JMP punkt3

ORG 0Bh ; 0BH is address for Timer 0 interrupt

PUSH PSW

PUSH ACC

MOV P2, R7

DJNZ R6, next

MOV R6, #2Eh

CJNE R7, #10000000b, shift

MOV R7, #00000001b

JMP next

shift:

MOV A, R7

RL A

MOV R7, A

next: POP ACC

POP PSW

RETI

punkt1:

MOV P2M1, #00h ; configure Port 2 as Quasi-bidirectional

MOV R7, #00000001b

MOV R6, #2Eh

MOV TMOD, #01h ; configure Timer 0 in mode 1 (16-bit timer)

; programming interrupt logic

SETB EA ; enable all interrupts

SETB ET0 ; enable interrupt request from T/C0

SETB TR0 ; run Timer

jmp forever

punkt2:

MOV TMOD, #05h ; configure Timer 0 in mode 1 (16-bit counter)

SETB TR0 ; run Counter

jmp forever

punkt3:

MOV P2M1, #00h ; configure Port 2 as Quasi-bidirectional

MOV TMOD, #06h ; configere Timer 0 in mode 2 (8 bit auto-reload counter)

SETB TR0 ; run Counter

mov tl0,#0F8h

mov th0,#0F8h

jmp forever_p3

forever:

JMP forever

forever_p3:

mov p2,tl0

jmp forever_p3

END

3

Соседние файлы в папке Лабораторная работа 4