You are on page 1of 8

LAB 1-2

DELAY DÙNG LỆNH

MỤC TIÊU:

➢ Thực hiện các lệnh tạo trễ dùng câu lệnh


➢ Thực hiện giao tiếp với thanh ghi dịch

THAM KHẢO:

➢ Tài liệu hướng dẫn thí nghiệm, chương 1, 2

BÀI 1

a) Cho chương trình như sau:


.include "m324PAdef.inc"
.org 00
ldi r16,0x01
out DDRA, r16
start:
sbi PORTA,PINA0
cbi PORTA, PINA0
rjmp start

Kết nối PA0 vào một kênh đo trên khối TEST STATION và đo dạng xung trên
oscilloscope

BÀI 2

a) Viết chương trình con Delay1ms và dùng nó để viết chương trình tạo xung vuông tần số
1Khz trên PA0.

https://doe.dee.hcmut.edu.vn/
LAB 1-2
DELAY DÙNG LỆNH

DELAY1MS: LDI R16, 8 ;1MC


LP1: LDI R17, 249 ;1MC
LP2: DEC R17 ;1MC
NOP ;1MC
BRNE LP2 ;2/1MC
DEC R16 ;1MC
BRNE LP1 ;2/1MC
RET ;4MC; CODE NAY LA DUNG

b) Dùng chương trình con này viết các chương trình con Delay10ms, Delay100ms, Delay1s.
DELAY10MS: LDI R18, 10
LP3: CALL DELAY1MS
DEC R18
BRNE LP3
RET

https://doe.dee.hcmut.edu.vn/
LAB 1-2
DELAY DÙNG LỆNH

DELAY100MS: LDI R18, 100


LP4: CALL DELAY1MS
DEC R18
BRNE LP4
RET

DELAY1S: LDI R18, 4 ;1MC


LP5: LDI R19, 250 ;1MC
LP6: RCALL DELAY1MS;7999MC
DEC R19 ;1MC
BRNE LP6 ;2/1MC
DEC R18 ;1MC
BRNE LP5 ;2/1MC
RET ;4MC

c) Dùng chương trình con Delay1s viết chương trình chớp/tắt 1 LED gắn vào PA0.
.ORG 0X40

MAIN:
LDI R16, 0x01
OUT DDRA, R16 //PA0 -OUTPUT -- LED
LDI R16, 0xFF
OUT PORTA, R16 //DIEN TRO KEO LEN
LOOP:
RCALL DELAY1MS
CBI PORTA, 0 //TAT LED
RCALL DELAY1MS
SBI PORTA, 0 //BAT LED
RJMP LOOP

DELAY1S: LDI R18, 4 ;1MC

LP5: LDI R19, 250 ;1MC


LP6: RCALL DELAY1MS;7999MC
DEC R19 ;1MC

https://doe.dee.hcmut.edu.vn/
LAB 1-2
DELAY DÙNG LỆNH

BRNE LP6 ;2/1MC


DEC R18 ;1MC
BRNE LP5 ;2/1MC
RET ;4MC

(cái này em thử chèn video nhưng phần chèn video trong word của em bị ấn rồi ạ)

BÀI 3

a) Kết nối các tín hiệu cần thiết từ 1 port của AVR đến các tín hiệu điều khiển thanh ghi
dịch trên header J13. Kết nối ngõ ra của thanh ghi dịch đến Bar LED.
b) Dùng các chương trình trong ví dụ mẫu trong tài liệu hướng dẫn thì nghiệm, viết chương
trình tạo hiệu ứng LED sáng dần từ trái qua phải, sau đo tắt dần từ trái qua phải sau mỗi
khoảng thời gian 500ms.

.ORG 0

RJMP MAIN
.ORG 0X40
MAIN:
LDI R16,HIGH(RAMEND);đưa stack lên vùng đ/c cao
OUT SPH,R16
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,0X07 ;PB0=DS,PB1=CK dịch,PB2=CK xuất output
OUT DDRB,R16
CBI PORTB,1 ;CK dịch (SHCP = PB1) =0
CBI PORTB,2 ;CK xuất (STCP = PB2) =0
START:
LDI R16,8
SANG:
SBI PORTB,0
SBI PORTB,1
CBI PORTB,1
SBI PORTB,2
CBI PORTB,2
RCALL DELAY500MS
DEC R16
BRNE SANG
LDI R16,8
TOI:
CBI PORTB,0
SBI PORTB,1
CBI PORTB,1
SBI PORTB,2
CBI PORTB,2
RCALL DELAY500MS
DEC R16
BRNE TOI

https://doe.dee.hcmut.edu.vn/
LAB 1-2
DELAY DÙNG LỆNH

RJMP START
DELAY1MS:
PUSH R16
PUSH R17
LDI R16, 8 ;1MC
LP1: LDI R17, 249 ;1MC
LP2: DEC R17 ;1MC
NOP ;1MC
BRNE LP2 ;2/1MC
DEC R16 ;1MC
BRNE LP1 ;2/1MC
POP R17
POP R16
RET ;4MC
DELAY500MS:
PUSH R18
PUSH R19
LDI R18, 2 ;1MC
LP5: LDI R19, 250 ;1MC
LP6: RCALL DELAY1MS;7999MC
DEC R19 ;1MC
BRNE LP6 ;2/1MC
DEC R18 ;1MC
BRNE LP5 ;2/1MC
POP R19
POP R18
RET ;4MC

https://doe.dee.hcmut.edu.vn/
BÁO CÁO
Nhóm: 06
Nhóm môn học: L04 Môn thí nghiệm: Vi xử lý

BÀI 1
1. Trả lời các câu hỏi
a. Chụp ảnh dạng xung trên PA0

b. Tần số, thời gian tín hiệu bằng 1, thời gian tín hiệu bằng 0 là bao nhiêu?
c. Giải thích kết quả đo được.

BÀI 2
1. Trả lời các câu hỏi
a. Cách tính số chu kỳ máy để thực hiện chương trình con Delay1ms. Trình bày hình
ảnh mô phỏng

Tần số của ATmega324P là 8MHz tương ứng với 1MC = 0,125us


Tính gần đúng: TDL = 4x25x80x0,125x10^-6 ~ 1ms
b. Hình ảnh xung 1Khz trên PA0.
c. Sai số là bao nhiêu? Sai số = 1.10-3/8082.10^-6 ~ 12%

https://doe.dee.hcmut.edu.vn/
BÁO CÁO
Nhóm: 06
Nhóm môn học: L04 Môn thí nghiệm: Vi xử lý
2. Mã nguồn câu 2.c với chú thích

.ORG 0X40

MAIN:
LDI R16, 0x01
OUT DDRA, R16 //PA0 -OUTPUT -- LED
LDI R16, 0xFF
OUT PORTA, R16 //DIEN TRO KEO LEN
LOOP:
RCALL DELAY1MS
CBI PORTA, 0 //TAT LED
RCALL DELAY1MS
SBI PORTA, 0 //BAT LED
RJMP LOOP

DELAY1S: LDI R18, 4 ;1MC

LP5: LDI R19, 250 ;1MC


LP6: RCALL DELAY1MS;7999MC
DEC R19 ;1MC
BRNE LP6 ;2/1MC
DEC R18 ;1MC
BRNE LP5 ;2/1MC
RET ;4MC

BÀI 3
1. Trả lời các câu hỏi
a. Mô tả kết nối trên kit thí nghiệm
b. Theo như datasheet của 74HC595, tần số clock cao nhất mà nó có thể hoạt động được là
bao nhiêu?
Theo datasheet tần số clock cao nhất mà nó có thể hoạt động được là 35MHz
c. Nếu muốn mở rộng hiển thị ra 16 LED thì ta phải làm như thế nào?
Ta sẽ viết một mã nguồn tương tự như bên dưới với PORTA và PORTB đều là output,
kết nối PORTB như câu a với một dãy barled khác
d. Mã nguồn với chú thích
.ORG 0
RJMP MAIN
.ORG 0X40
MAIN:
LDI R16,HIGH(RAMEND);đưa stack lên vùng đ/c cao
OUT SPH,R16

https://doe.dee.hcmut.edu.vn/
BÁO CÁO
Nhóm: 06
Nhóm môn học: L04 Môn thí nghiệm: Vi xử lý
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,0X07 ;PB0=DS,PB1=CK dịch,PB2=CK xuất output
OUT DDRB,R16
CBI PORTB,1 ;CK dịch (SHCP = PB1) =0
CBI PORTB,2 ;CK xuất (STCP = PB2) =0
START:
LDI R16,8
SANG:
SBI PORTB,0
SBI PORTB,1
CBI PORTB,1
SBI PORTB,2
CBI PORTB,2
RCALL DELAY500MS
DEC R16
BRNE SANG
LDI R16,8
TOI:
CBI PORTB,0
SBI PORTB,1
CBI PORTB,1
SBI PORTB,2
CBI PORTB,2
RCALL DELAY500MS
DEC R16
BRNE TOI
RJMP START
DELAY1MS:
PUSH R16
PUSH R17
LDI R16, 8 ;1MC
LP1: LDI R17, 249 ;1MC
LP2: DEC R17 ;1MC
NOP ;1MC
BRNE LP2 ;2/1MC
DEC R16 ;1MC
BRNE LP1 ;2/1MC
POP R17
POP R16
RET ;4MC
DELAY500MS:
PUSH R18
PUSH R19
LDI R18, 2 ;1MC
LP5: LDI R19, 250 ;1MC
LP6: RCALL DELAY1MS;7999MC
DEC R19 ;1MC
BRNE LP6 ;2/1MC
DEC R18 ;1MC
BRNE LP5 ;2/1MC
POP R19
POP R18
RET ;4MC

https://doe.dee.hcmut.edu.vn/

You might also like