Professional Documents
Culture Documents
Báo cáo bài tập lớn môn KTMT - NHÓM 03
Báo cáo bài tập lớn môn KTMT - NHÓM 03
Phụ lục
1
PHỤ LỤC
I. Giới thiệu chung : Mô phỏng đèn LED 7 thanh để đếm số (từ 0 đến 9) .................................. 3
1. Mục tiêu báo cáo ............................................................................................... 3
2. Phạm vi đề tài .................................................................................................... 3
II. Cơ sở lý thuyết ........................................................................................................................... 3
1. Kiến thức cơ bản về đèn LED 7 đoạn ............................................................... 3
2. Giới thiệu về LED 7 đoạn ................................................................................. 3
3. Cấu tạo của LED 7 đoạn ................................................................................... 4
III. Ngôn ngữ assembly ................................................................................................................... 5
1. Khái quát về ngôn ngữ lập trình assembly và đặc điểm ................................... 5
2. Phương pháp mô phỏng hiển thị đèn LED 7 thanh sử dụng ............................. 5
3. Mô tả chương trình............................................................................................ 6
IV. Màn hình chương trình ............................................................................................................ 8
1. Tóm tắt báo cáo ............................................................................................... 15
2. Những kết quả đạt được .................................................................................. 15
3. Hạn chế và hướng phát triền trong tương lai .................................................. 15
2
I. Giới thiệu chung : Mô phỏng đèn LED 7 thanh
để đếm số (từ 0 đến 9)
1. Mục tiêu báo cáo
- Nắm vững kiến thức cơ bản về ngôn ngữ lập trình assembly và cách sử dụng các
thanh ghi để điều khiển đèn LED 7 thanh.
- Trình bày các bước lập trình vi xử lý 8255A và hiển thị các số từ 0 đến 9 trên đèn
LED 7 thanh.
- Kết quả dự kiến là đạt được sự hiểu biết sâu sắc hơn về kiến trúc máy tính và có
khả năng lập trình tốt với ngôn ngữ assembly.
- Đề tài có ý nghĩa trong việc nâng cao kỹ năng lập trình và hiểu biết về phần cứng
trong lĩnh vực kiến trúc máy tính.
2. Phạm vi đề tài
- Báo cáo này tâp trung vào mô phỏng hiển thị đèn LED 7 đoạn để đếm số từ 0 đến 9
bằng ngôn ngữ assembly trên vi xử lý 8255A.
II. Cơ sở lý thuyết
1. Kiến thức cơ bản về đèn LED 7 đoạn
3
- LED 7 đoạn là thiết bị hiển thị điện tử để hiển thị số. Khi mỗi đoạn chiếu sáng thì một
phần của chữ số sẽ được hiển thị. LED 7 đoạn được sủ dụng rộng rãi tỏng đồng hồ số,
máy tính.
Hình 2. Bảng trạng thái của các đoạn LED khi biểu thị các số
0 : biểu thị đèn tắt
1 : biểu thị đèn bật
4
III. Ngôn ngữ assembly
1. Khái quát về ngôn ngữ lập trình assembly và đặc điểm
- Ngôn ngữ lập trình Assembly là một ngôn ngữ gần gũi với ngôn ngữ máy và được sử
dụng để lập trình các thiết bị vi xử lý trực tiếp. Assembly cho phép lập trình viên
tương tác trực tiếp với phần cứng của một máy tính hoặc vi xử lý, bằng cách viết các
lệnh dựa trên mã máy.
- Đặc điểm chính của ngôn ngữ lập trình Assembly bao gồm:
+ Gần gũi với ngôn ngữ máy: Ngôn ngữ Assembly sử dụng các từ gọi là mnemonics
để biểu diễn các lệnh và các địa chỉ bộ nhớ. Các mnemonics này tương ứng với mã
máy cụ thể mà vi xử lý có thể hiểu được.
+ Trực tiếp tương tác với phần cứng: Với Assembly, lập trình viên có khả năng kiểm
soát trực tiếp các tài nguyên phần cứng như bộ nhớ, thanh ghi, ngắt, và các thanh ghi
đặc biệt khác. Điều này cho phép tối ưu hóa hiệu suất và kiểm soát chính xác quá trình
thực thi.
+ Cấu trúc tuyến tính: Ngôn ngữ Assembly là ngôn ngữ có cấu trúc tuyến tính, tức là
lệnh được thực thi tuần tự từ trên xuống dưới. Mỗi lệnh Assembly thường tương ứng
với một dòng mã máy.
+ Tối ưu hóa và hiệu suất cao: Việc sử dụng ngôn ngữ Assembly cho phép lập trình
viên tối ưu hóa mã để đạt được hiệu suất cao nhất từ vi xử lý. Bằng cách tiếp cận trực
tiếp phần cứng, ngôn ngữ Assembly cho phép tận dụng tối đa khả năng tính toán của
máy tính.
+ Độ khó cao: So với ngôn ngữ lập trình cao cấp như C++, Java hay Python, việc lập
trình bằng Assembly yêu cầu kiến thức sâu về kiến trúc máy tính và phần cứng. Ngôn
ngữ Assembly đòi hỏi lập trình viên phải hiểu rõ cách hoạt động của vi xử lý và các
chỉ dẫn cụ thể.
5
3. Mô tả chương trình
DATA SEGMENT
PORTA EQU 00H
PORTB EQU 02H
PORTC EQU 04H
PORT_CON EQU 06H
DATA ENDS
CODE SEGMENT
MOV AX,DATA
MOV DS, AX
ORG 0000H
START:
MOV DX, PORT_CON
MOV AL, 10000000B
OUT DX, AL
JMP XX
XX:
MOV AL, 00111111B ; displaying 0
MOV DX, PORTA
OUT DX,AL
MOV CX,0DF36H; Delay
Delay0:loop Delay0
MOV AL, 00000110B ; Displaying 1
MOV DX, PORTA
OUT DX,AL
MOV CX,0DF36H; Delay
Delay1:loop Delay1
MOV AL, 01011011B ;Displaying 2
MOV DX, PORTA
OUT DX,AL
6
MOV CX,0DF36H; Delay
Delay2:loop Delay2
Delay9:loop Delay9
JMP XX
JMP START
CODE ENDS
END
7
c) Công việc mà chương trình thực hiện
- Khai báo địa chỉ các cổng của vxl 8086
- Chương trình chính: Xuất ra lần lượt dữ liệu của các số cần hiển thị theo dạng
binary(các bit tương ứng với dữ liệu của các đèn led)
+ Xuất ra cổng A dữ liệu của số cần hiển thị
+ Delay
+ Xuất ra cổng A dữ liệu của số cần hiển thị tiếp theo
Sử dụng phần mềm proteus 8 profesion để mô phỏng
8
Hình 4. Kết quả hiển thị khi mạch biểu diễn số 0
9
Hình 6. Kết quả hiển thị khi mạch biểu diễn số 2
10
Hình 8. Kết quả hiển thị khi mạch biểu diễn số 4
11
Hình 10. Kết quả hiển thị khi mạch biểu diễn số 6
Hình 11. Kết quả hiển thị khi mạch biểu diễn số 7
12
Hình 12. Kết quả hiển thị khi mạch biểu diễn số 8
13
Hình 13. Kết quả hiển thị khi mạch biểu diễn số 9
14
KẾT LUẬN
a) Hạn chế
- Giới hạn số lượng hiển thị: Đèn LED 7 đoạn chỉ có thể hiển thị các ký tự số từ 0
đến 9 và một số ký tự đặc biệt như A, B, C, D, E, F. Do đó, nó không thể hiển thị các
ký tự chữ hoặc các ký tự đặc biệt khác.
- Không có khả năng đảo ngược: Đèn LED 7 đoạn không thể hiển thị các ký tự hoặc
số bị đảo ngược. Ví dụ, số 6 không thể hiển thị dưới dạng 9 nếu bạn đảo ngược đèn
LED 7 đoạn.
- Không có khả năng thay đổi màu sắc: Đèn LED 7 đoạn chỉ có thể hiển thị một màu
sắc duy nhất. Không thể thay đổi màu sắc của đèn LED 7 đoạn để phù hợp với yêu
cầu của các ứng dụng khác nhau.
- Khó khăn trong việc hiển thị các số và ký tự độc đáo: Đèn LED 7 đoạn có hạn chế
trong việc hiển thị các số và ký tự độc đáo. Nếu bạn cần hiển thị các số và ký tự độc
đáo, bạn sẽ cần kết hợp nhiều đèn LED 7 đoạn hoặc sử dụng các loại đèn LED khác.
- Giới hạn về ánh sáng: Đèn LED 7 đoạn không đủ sáng để hiển thị trong môi trường
ánh sáng mạnh. Trong những điều kiện ánh sáng mạnh, màn hình đèn LED 7 đoạn có
thể trở nên khó nhìn hoặc không thể nhìn thấy được.
15
b) Những hướng phát triển trong tương lai
- Cải tiến hiển thị: Các nhà sản xuất có thể cải tiến đèn LED 7 đoạn để hiển thị các
ký tự và số phức tạp hơn, bao gồm các ký tự đặc biệt và các ký tự chữ. Điều này sẽ
tăng tính đa dạng và ứng dụng của đèn LED 7 đoạn.
- Thay đổi màu sắc: Các nhà sản xuất có thể cải tiến đèn LED 7 đoạn để thay đổi màu
sắc của đèn LED. Với khả năng thay đổi màu sắc, đèn LED 7 đoạn có thể được sử
dụng trong nhiều ứng dụng khác nhau, bao gồm các ứng dụng trang trí và chiếu sáng.
- Kết hợp với công nghệ thông minh: Đèn LED 7 đoạn có thể được kết hợp với các
công nghệ thông minh như Bluetooth hoặc Wi-Fi, để tạo ra các sản phẩm thông minh
như đồng hồ thông minh, bộ đếm thời gian, hoặc bảng điện tử hiển thị.
- Tăng độ sáng: Các nhà sản xuất có thể phát triển đèn LED 7 đoạn với độ sáng cao
hơn để đáp ứng nhu cầu sử dụng trong môi trường ánh sáng mạnh hơn, hoặc để sử
dụng trong các ứng dụng ngoài trời.
- Sử dụng công nghệ mới: Các nhà sản xuất có thể sử dụng các công nghệ mới như
OLED hoặc Micro-LED để tạo ra các sản phẩm hiển thị mới thay thế cho đèn LED 7
đoạn, với tính năng hiển thị và tính năng tương thích với các công nghệ mới.
16
Tài liệu tham khảo
Digital design and computer architecture ( 2th edition) – David . M . Harris & Sarah
L. Harirs
Computer architecture a quantitive ( 5th edtion) – Morgan Kauphann
COD ( 4th edition) – David A. Patterson & John L . Hennessy
Bài Giảng Kiển trúc máy tính - TS. Hoàng Xuân Dậu
Bài Giảng Kiến trúc máy tính – TS. Đinh Xuân Trường
17