Tải bản đầy đủ (.doc) (32 trang)

báo cáo thực tập vi xử lý - vi điều khiển( Đại Học Đà Lạt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (219.2 KB, 32 trang )

BÁO CÁO
THỰC TẬP VI XỬ LÝ
I.TÓM TẮT SƠ LƯỢC NỘI DUNG THỰC TẬP :
- Thực tập vi xử lý diễn ra trong 7 buổi với các nội dung :
+ Lắp ghép các phần cứng của mạch
+ Thực hiện việc thiết kế phần mềm cho IC 89C51 để điều khiểu phần
cứng theo yêu cầu của giám thị
1.Lắp ghép phần cứng của mạch :
- Sinh viên thực tập được phát linh kiện để ráp phần cứng như :
IC89C51,IC7805,điện trở, led thường, led 7 đoạn…v..v
- Mô hình phần cứng ráp theo sơ đồ đấu nối như sau :

2.phần mềm viết chương trình :
- sử dụng phần mềm Reads51 với ngôn ngữ Assembly để viết chương trình
điều khiển cho mạch sử dụng IC89C51.
3


CHƯƠNG TRÌNH 1
I.THỰC HÀNH :
+ Yêu cầu bài ra :
-hiển thị đèn led sáng bất kì xen kẽ nhau
+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000H
BATDAU:
MOV P2,#01010101B
AJMP BATDAU
END


+ Kết quả :
-

Đèn led thường sáng đúng như phần mềm và yêu cầu của giáo
viên đề ra, tuy nhiên trong lúc làm do phần cứng chưa hoàn thiện
nên gặp phải một số lỗi sai sót nhỏ nhưng đã được sửa lại chính
xác

4


CHƯƠNG TRÌNH 2
I.THỰC HÀNH :
+ Yêu cầu bài ra :
-

Làm sáng các đèn led thường từ trong ra ngoài và từ ngoài vào
trong, có sử dụng trễ.

+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000h
LAPLAI:
MOV P2,#11100111B
ACALL TRE
MOV P2,#11000011B
ACALL TRE
MOV P2,#10000001B

ACALL TRE
MOV P2,#00000000B
ACALL TRE
MOV P2,#10000001B
ACALL TRE
MOV P2,#11000011B

5


ACALL TRE
MOV P2,#11100111B
ACALL TRE
MOV P2,#11111111B
ACALL TRE
AJMP LAPLAI
TRE:
MOV R5,#05H
QUAY0:
MOV R6,#0FFH
QUAY1:
MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET
END

+ Kết quả :

- Chương trình viết chạy đúng theo như yêu cầu của bài ra, do chương
trình dài nên có một sỗ chỗ bị nhầm lẫn nhưng đã được phát hiện và
chỉnh sửa đúng với yêu cầu của bài ra, các mạch phần cứng trong
nhóm khi nạp chương trình đều chạy đúng và đẹp.

CHƯƠNG TRÌNH 3
6


I.THỰC HÀNH :
+ Yêu cầu bài ra :
-

Làm sáng đèn led thường từ trái qua phải hoặc từ phải qua trái sử
dụng lệnh dịch trái hoặc phải.

+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000h
MOV A,#01111111B
LAPLAI:
MOV P2,A
ACALL TRE
RR A
AJMP LAPLAI
TRE:

MOV R5,#05H
QUAY0:
7


MOV R6,#0FFH
QUAY1:
MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET
END

+ Kết quả :
- Đèn Led của mạch phần cứng chạy đúng như chương trình viết, hiện
thị sáng Led dịch từ trái qua phải theo đúng trình tự, các mạch phần
cứng trong nhóm chạy đúng không có vấn đề sai sót xảy ra

CHƯƠNG TRÌNH 4

8


I.THỰC HÀNH :
+ Yêu cầu bài ra :
-


Làm sáng đèn led thường có sử dụng tra bảng trong phần mềm
điều khiển mạch.

9


+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000h

10


BATDAU:
MOV R4,#01
LAPLAI:
ACALL TRABANG
MOV P2,A
ACALL TRE
INC R4
CJNE R4,#06,LAPLAI
AJMP BATDAU
TRABANG:
MOV A,R4
MOVC A,@A+PC
RET
DB 0F5H,2BH,56H,33H,86H

TRE:
MOV R5,#05H
QUAY0:
MOV R6,#0FFH
QUAY1:
MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET
END
+ Kết quả :
- Phần mềm chạy ổn định đúng với đề bài ra và chương trình phần mềm viết,

các mạch trong nhóm chạy ổn định, không có lỗi sai sót trong quá trình thi
hành lệnh trên phần mềm viết chương trình cũng như lỗi phần cứng trong lúc
nạp và điều khiển .

11


CHƯƠNG TRÌNH 5
I.THỰC HÀNH :
+ Yêu cầu bài ra :
-

Làm sáng từng đèn led thường từ trái qua phải hay phải qua trái

điều chỉnh tốc độ được bằng swich

+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000h
MOV A,#01111111B
LAPLAI:
MOV P2,A
ACALL TRE
RR A
AJMP LAPLAI

12


TRE:
MOV R5,P1
QUAY0:
MOV R6,#0FFH
QUAY1:
MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET

END

+ Kết quả :
- chương trình viết chính xác theo yêu cầu của bài ra và phần cứng

sáng đúng với yêu cầu và điều khiển tốc độ được bằng thiết bị điều
khiển ngoài, tuy nhiên do phần cứng của một số bạn trong nhóm lắp
ngược nên thời gian chỉnh sửa phần cứng tương đối lâu, Nhưng sau đó
các mạch trong nhóm cũng đã thực hiện được việc sáng đèn Led và
đều điều khiển tốc độ của Led bằng thiết bị.

13


CHƯƠNG TRÌNH 6
I.THỰC HÀNH :
+yêu cầu bài ra :
-

bài ra yêu cầu viết chương trình cho IC89C51 để hiển thị được
một số trên led 7 đoạn ( số 3).

+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000h
BATDAU:
MOV P0,#00001100B
AJMP BATDAU

END
+ kết quả :

14


CHƯƠNG TRÌNH 7
I.THỰC HÀNH :
+ Yêu cầu bài ra :
-

Làm sáng đèn led một số bất kì và làm số đó bật tắt có sử dụng
đến trễ.

+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000h
BATDAU:
MOV P0,#00001100B
ACALL TRE
MOV P0,#0FFH
ACALL TRE
AJMP BATDAU

15


TRE:

MOV R5,#05H
QUAY0:
MOV R6,#0FFH
QUAY1:
MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET
END

+ Kết quả :
- Chương trình của nhóm viết hiển thị ra đèn Led 7 đoạn số 3,
chương trình viết đúng với yêu cầu bài ra, một số thành viên trong
nhóm do lắm sai chân của Led nên lúc đầu còn sáng chưa đúng, sau
khi sửa chữa lại chân của Led 7 đoạn thì tất cả đã sáng đúng theo với
yêu cầu bài ra.

16


CHƯƠNG TRÌNH 8
I.THỰC HÀNH :
+ Yêu cầu bài ra :
- Hiển thị một số bất kì ra led 7 làm đèn sáng tắt có sử dụng điều khiển
tốc độ chớp tắt của led 7
+ Sơ đồ thuật toán :


+ Phần mềm :
#include <sfr51.inc>
ORG 0000h
BATDAU:
MOV P0,#00001100B
ACALL TRE
MOV P0,#0FFH
ACALL TRE
AJMP BATDAU

17


TRE:
MOV R5,P1
QUAY0:
MOV R6,#0FFH
QUAY1:
MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET
END

+ Kế quả :

- Chương trình sau khi nạp vào IC89C51 điều khiển Led chạy đúng
với yêu cầu bài ra, không có lỗi xảy ra trong chương trình này do đã
sửa chữa và rút kinh nghiệm từ chương trình 7, tất cả mạch trong nhóm
đều chạy đúng với yêu cầu bài ra

18


CHƯƠNG TRÌNH 9
I.THỰC HÀNH :
+ Yêu cầu bài ra :
- Làm đèn Led hiển thị từ số 0 đến số 9 sử dụng điều khiển tốc độ để
điều khiển sự nhanh chậm của đèn Led
+ Sơ đồ thuật toán :

+ Phần mềm :
#include <sfr51.inc>
ORG 0000h
BATDAU:
MOV R4,#01

19


LAPLAI:
ACALL TRABANG
MOV P0,A
ACALL TRE
INC R4
CJNE R4,#0BH,LAPLAI

AJMP BATDAU
TRABANG:
MOV A,R4
MOVC A,@A+PC
RET
DB 02H,9FH,24H,0CH,98H,48H,40H,1EH,00H,08H
TRE:
MOV R5,P1
QUAY0:
MOV R6,#0FFH
QUAY1:
MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET
END

+ Kết quả :
-

Mạch sau khi nạp chương trình chạy đúng như với yêu cầu đề bài
đưa ra, không có sai sót trong hệ thống chương trình và mạch
phần cứng.

20



CHƯƠNG TRÌNH 10
I.THỰC HÀNH :
+ Yêu cầu bài ra :
-

Làm đèn Led thường sáng từ phải qua trái hoặc trái qua phải
trong khi đó đèn Led 7 đoạn sáng từ số 0 đến số 9 sử dụng điều
khiển tốc độ để làm tăng giảm sự sáng nhanh hay chậm của Led .

21


+ Sơ đồ thuật toán :

22


+ Phần mềm :
#include <sfr51.inc>
BATDAU:
MOV R3,#01
LAP1:
MOV R4,#01
LAP2:
ACALL TRABANG_T
MOV P2,A
INC R3
ACALL TRABANG_7D
MOV P0,A

ACALL TRE
INC R4
CJNE R3,#09H,BAYBA
CJNE R4,#0BH,MOI
AJMP BATDAU
BAYBA:
CJNE R4,#0BH,LAP2
AJMP LAP1
MOI:
MOV R3,#01
AJMP LAP2
TRABANG_T:
MOV A,R3
MOVC A,@A+PC
RET
DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
TRABANG_7D:
MOV A,R4

23


MOVC A,@A+PC
RET
DB 02H,9FH,24H,0CH,98H,48H,40H,1EH,00H,08H
TRE:
MOV R5,P1
QUAY0:
MOV R6,#0FFH
QUAY1:

MOV R7,#0FFH
QUAY2:
NOP
NOP
DJNZ R7,QUAY2
DJNZ R6,QUAY1
DJNZ R5,QUAY0
RET
END

+ Kế quả :
- Sau khi nạp chương trình cho IC các bo mạch đều chạy đúng, đèn
Led thường chạy từ trái sang phải và đèn led 7 đoạn sáng từ 0tới 9

24


CHƯƠNG TRÌNH 11
I.THỰC HÀNH :
+ Yêu cầu bài ra :
- Làm sáng đèn Led thường và đèn Led 7 đoạn có sử dụng Timer 0
+ Sơ đồ thuật toán :
+ Phần mềm :
#include <sfr51.inc>
ORG 0000H
MOV TMOD,#01H
MOV TL0,#00H
MOV TH0,#00H
BATDAU:
MOV R6,#01

LAP:
ACALL TRABANG
MOV P0,A
ACALL TRABANG1
MOV P2,A
ACALL TRE
INC R6
CJNE R6,#3,LAP
AJMP BATDAU
TRABANG:
MOV A,R6
MOVC A,@A+PC
RET
25


DB 48H,0FFH
TRABANG1:
MOV A,R6
MOVC A,@A+PC
RET
DB 0AAH,0FFH
TRE:
MOV R7,P1
QUAY2:
SETB TR0
DEM:
JNB TF0,DEM
CLR TR0
CLR TF0

DJNZ R7,QUAY2
RET
END

+ Kết quả :
- Chương trình chạy đúng với yêu cầu bài ra,đèn Led thường và Led 7
chạy đúng với chương trình phần mềm ( Led thường sáng trái qua phải
và Led 7 hiển thị từ 0 đến 9 ), các mạch phần cứng trong nhóm chạy
đúng và giống nhau không có lỗi xảy ra.

26


CHƯƠNG TRÌNH 12
I.THỰC HÀNH :
+ Yêu cầu bài ra :
-

Lập chương trình đếm sự kiện sử dụng timer 1 để viết phần mềm
điều khiển

+ Sơ đồ thuật toán :

27


×