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

Đề tài: Ứng dụng phần mềm ReadS51. Proteus trong lập trình và mô phỏng mạch điện tử pot

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 (2.72 MB, 29 trang )

z
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT



LUẬN VĂN
Đề Tài : ỨNG DỤNG PHẦN MỀM
READS51. PROTEUS TRONG LẬP
TRÌNH VÀ MÔ PHỎNG MẠCH ĐIỆN TỬ
MỤC LỤC
MỤC LỤC
Chương 1. Cơ sở lý thuyết
1.1. Phần mềm lập trình và biên dịch Reads51
1.1.1. Giới thiệu về phần mềm Reads51
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
1
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
1.1.2. Cách sử dụng phần mềm Reads51
1.2. Phần mềm mô phỏng Proteus
1.2.1. Tổng quan về phần Proteus
1.2.2. Cách sử dụng phần mềm Proteus 7.8
1.3. Các linh kiện điện tử cơ bản
1.3.1. Vi điều khiển AT89C51
1.3.2. Diode phát quang (LED 7 thanh)
Chương 2. Ứng dụng phần mềm Reads51 và Proteus 7.8, lập trình, biên
dịch và mô phỏng cho mạch đếm từ 0 đến 9.
2.1. Mạch đếm từ 0 đến 9 sử dụng VĐK AT89C51
2.2. Ứng dụng phần mềm Reads51 lập trình và biên dịch cho VĐK AT89C51
điều khiển Led 7 đoạn
2.3. Ứng dụng phần mêm Proteus 7.8 mô phỏng cho mạch đếm từ 0 đến 9
Chương 3. Kết luận


Lời mở đầu
Trong lĩnh vực Điện tử - Viễn thông hiện nay, nhiều phần mềm chuyên ngành
có liên quan đến Công nghệ thông tin đang được sử dụng rộng rãi. Từ những
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
2
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
phần mềm mô phỏng, thiết kế mạch in mạch nguyên lý, cho tới những phần
mềm biên dịch ngôn ngữ lập trình sang ngôn ngữ máy. Chính vì vây, việc ứng
dụng Công nghệ thông tin cho Điện tử - Viễn thông là một cách tốt nhất giúp
sinh viên tiếp cận được với các phần mềm ứng dụng nhằm phục vụ cho việc học
tập ngày một tốt hơn. Các phần mềm ứng dụng Công nghệ thông tin mà các kỹ
sư ngành Điện tử -Viễn thông cần được trang bị, có phần mềm biên dịch ngôn
ngữ lập trình ( Ngôn ngữ Assembly, ngôn ngữ C,… ) sang ngôn ngữ máy, phần
mềm mô phỏng Proteus , phần mềm vẽ mạch Orcad…, với mục đích biên dịch,
mô phỏng nguyên lý hoạt động để phù hợp với các loại linh kiện điện tử trong
thực tế. Mặt khác, với những phần mềm biên dịch này, người kỹ sư hay sinh
viên có thể hoàn thiện và phát triển kỹ năng lập trình cũng như thiết kế mạch của
bản thân, tạo đà cho việc nghiên cứu, học tập đạt được những thành tựu quan
trọng. Phần mềm biên dịch Reads51 và Phần mềm Proteus là hai trong số các
phần mềm ứng dụng đang được sử dụng phổ biến, với các chức năng ưu việt. Đó
là lý do tại sao nhóm em đã xây dựng đề tài “ Ứng dụng phần mềm lập trình
Reads51, Proteus trong lập trình và mô phỏng mạch điện tử ”, cho đồ án học
phần Ứng dụng công nghệ thông tin cho Điện tử- Viễn thông.
CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
1.1. Phần mềm lập trình và biên dịch Reads51
1.1.1. Giới thiệu về phần mềm Reads51
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
3
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT

Phần mềm Reads51 là một phần mềm của Rigel Corporation, là một
trong những phần mềm biên dịch hai dạng ngôn ngữ lập trình (Assembly và C )
sang ngôn ngữ máy ( hay mã máy ) một cách tự động. Về khía cạnh sử dụng,
Reads51 là phần mềm dễ cài đặt, sử dụng dễ dàng. Nó có khả năng dịch chương
trình của nhiều họ VĐK khác nhau nhưng biên dịch tốt nhất chương trình của họ
VĐK 8051. Chỉ cần soạn thảo ra một chương trình ( Code ), sau đó với vài thao
tác đơn giản thì người lập trình đã có được dữ liệu mã máy đúng với mong
muốn của mình. Hiện nay, phần mềm Reads51 cũng được sử dụng khá phổ biến
trong công việc, giảng dạy và học tập của chuyên ngành Điện tử- Viễn thông.
1.1.2. Cách sử dụng phần mềm Reads51
Cách cài phần mền Reads51 rất đơn giản. Chỉ cần tải phần mềm, chạy file
Setup.exe sau đó bấm Next liên tục là được. Biểu tượng của phần mềm trên
Destops:
Hình 1.1. Biểu tượng của Reads51
Bước 1. Khởi động chương trình
Khởi động chương trình Click chọn biểu tượng trên Destop, hoặc chọn Start\
program\ Rigel\ Reads51.
Đây là giao diện của chương trình.
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
4
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Hình 1.2. Giao diện của Reads51
Bước 2. Tạo một Project mới
Click chọn Project/ New project trên thanh công cụ của giao diện phần mềm.
Hình1.3. Tạo một Project
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
5
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Chọn xong phần new project, sẽ xuất hiện hộp thoại:
Hình 1.4. Hộp thoại xuất hiện

Hộp thọai New Project xuất hiện, chúng ta cần chú ý đến mục Directory, vì đó là
đường dẫn tới thư mục chứa Project cũng như file Hex khi ta đã biên dịch thành
công. Và mục Name, là tên của project. Chọn OK. Như vậy là chúng ta đã tạo
xong file Project:
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
6
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Hình 1.5. Project đã tạo
Bước 3. Tạo Module
Click chọn Module / Creat Module:
Hình 1.6. Giao diện của Module
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
7
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Sau khi click chọn Creat module, Thì xuất hiện hộp thoại sau:
Hình 1.7. Hộp thoại Module
Xuất hiện hộp thoại Creat New Module, bao gồm:
+ Mục Name: tên module mới tạo.
+ Mục Description: là nơi mô tả, giới thiệu chương trình.
+ Và lựa chọn Flat trong mục Type, chọn Assembly trong
mục Language, dạng Text trong mục Editor/Code Generator.
Và sau đó chọn OK, ta sẽ được giao diện mà chúng ta có thể viết lập trình theo ý
muốn của riêng mình cho 1 linh kiện nào đó:
Hình 1.8. Giao diện soạn thảo
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
8
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Và xuất hiện giao diện mà chúng ta có thể viết chương trình theo ý muốn như
trên.
1.2. Phần mềm mô phỏng Proteus

1.2.1. Tổng quan về phần Proteus
Phần mềm Proteus VSM được viết bởi công ty Labcenter Electronics.
Proteus đã được sử dụng khá rộng rãi trên 35 quốc gia. Proteus đã tự khẳng định
thế mạnh của nó về mô phỏng các mạch nguyên lý sát với thực tế, trên 12 năm,
càng ngày nó càng được hoàn thiện và phát triển mạnh. Proteus cung cấp cho
người sử dụng hầu như toàn bộ các linh kiện điện tử để người dùng có thể tạo ra
được các mạch nguyên lý và sau cùng là chạy thử và so sánh với kết quả thực tế.
Chính vì Proteus có thể tạo và chạy được các mạch đơn giản cũng như các mạch
phức tạp nên có thể dùng nó trong giảng dạy, trong các phòng thí nghiệm điện tử
cũng như trong thực hành vi xử lý…
Phần mềm Proteus chạy trong môi trường Windown 32-bit, yêu cầu của nó về
phần cứng cũng đơn giản: CPU 300 MHz trở lên. Với đặc thù của một nghành
kỹ thuật, các kỹ sư Điện tử - Viễn thông luôn gắn mình với các phòng thí ngiệm.
Tuy nhiên, vấn đề về trang thiết bị, linh kiện điện tử cung cấp cho sinh viên làm
thí nghiệm đang còn hạn chế. Chính vì vây, việc ứng dụng Công nghệ thông tin
cho Điện tử - Viễn thông là một cách tốt nhất giúp sinh viên tiếp cận được với
các linh kiện, các thiết bị điện tử phục vụ cho việc học tập ngày một tốt hơn.
Hiện giờ, ứng dụng một phần mềm mô phỏng mạch điện tử là một biện pháp
hữu hiệu nhất, giúp cho sinh viên chúng em có cách tiếp cận trực quan nhất về
các linh kiện điện tử .Khi đi thử việc hay đi làm. Mặt khác, việc mô phỏng mạch
điện tử trên phần mềm này sẽ giúp cho cho sinh chúng em kiểm tra được tính
chính xác cũng như việc sửa lỗi ngay trên mạch điện tử mà không cần phải tháo
đi, tháo lại hay thay linh kiện khi làm mạch trong thực tế. Điều đó giúp cho sinh
viên tiết kiếm được một khoản tiền khá lớn cũng như thời gian mà chúng em đã
bỏ ra. Hơn thế nữa sử dụng phần mềm mô phỏng giúp cho chúng em tiếp cận
được hầu hết các linh kiện điện tử có trên thị trường, qua đó sinh viên có thể biết
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
9
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
được cấu tạo, hình dạng, đặc điểm của các linh kiện điện tử. Từ đó xây dựng

được các mạch điện tử như mong muốn. Một trong những phần mền được sử
dụng phổ biến nhất với các chức năng ưu việt hơn đó là phần mền Proteus với
chương trình mô phỏng ISIS.
1.2.2. Cách sử dụng phần mềm Proteus 7.8
Click vào biểu tượng để chạy chương trình.chương trình
được khởi động với giao diện như sau:
a. Khung làm việc chung.
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
10
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
b.Thanh tác vụ.
“Làm tươi” màn hình và các chỉnh sửa.
Bật/Tắt lưới cho bản vẽ.
Chọn gốc tọa độ.
Các công cụ phóng to, thu nhỏ, toàn mạch.
Undo/Redo.
Cắt, sao chép, dán.
Các lệnh tác động lên đối tượng đã được chọn trước.
Các công cụ chỉnh sửa, tạo thư viện linh kiện.
Bật/Tắt chế độ đi dây trong sơ đồ nguyên lý.
Tìm kiếm linh kiện.
Chỉnh sửa thuộc tính chung.
Xuất dang sách linh kiện.
Kiểm tra lỗi mạch điện (ERC).
Liên thông ARES để vẽ mạch in.
c. Thanh công cụ.
Component- Thêm linh kiện vào bản vẽ.
Junction Dot- Thêm điểm nối nơi giao nhau của đường
dây.
Wire Label- Gán tên cho đường dây.

Text Script- Thêm Text vào bản vẽ.
Bus- Vẽ đường Bus.
Chỉnh sửa nhanh thuộc tính linh kiện.
Nối đầu cực.
Vẽ chân linh kiện.
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
11
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Vẽ đồ thị mô phỏng.
Băng ghi.
Các máy phát tín hiệu.
Đầu dò điện áp.
Đầu dò dòng điện.
Các thiết bị ảo.
Công cụ vẽ 2D.
d. Các công cụ mô phỏng.
e. Các thao tác cơ bản trên vùng làm việc chính
- Chọn đối tượng:nhấp chuột phải lên đối tượng
- Bỏ chọn:nhấp chuột phải lên vùng trống
- Xóa đối tượng:nhấp chuột phải lên đối tượng
- Di chuyển:chọn,kéo rê bằng chuột trái đến vị trí mới
- Đưa đối tượng vào chính giữa vùng làm việc,chỉ cần đưa con trỏ đến vị trí đó
và bấm F5
- Dùng bánh xe của chuột để phóng to hoặc thu nhỏ đến từng đối tượng
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
12
Mô phỏng
liên tục
Mô phỏng
Từng bước

Tạm dừng
Dừng mô
phỏng
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
- Dùng bàn phím: F6 phóng to
F7 thu nhỏ
F8 xem toàn mạch
f. Thao tác làm việc.
- Khi màn hình xuất hiện chọn File/New design để vào trang làm việc mới.
- Nhấp chuột vào các biểu tượng để lấy linh kiện hoặc dùng phím tắt “P”.
Hình 1.9. Cách lấy linh kiện
Khi cửa sổ lấy linh kiện mở ra ta gõ tên linh kiện cần tìm rồi nhấn OK.
1.3. Các linh kiện điện tử cơ bản.
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
13
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
1.3.1. Vi điều khiển AT89C51
Giới thiệu về Vi Điều Khiển 805
Hình 1.10. Sơ đồ chân và chip AT89C51 (DIP)
1.3.1.1. Tóm tắt phần cứng AT89C51
AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập.
Trong đó có 24 chân có tác dụng kép (có nghĩa là 1 chân có 2 chức năng), mỗi
đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc
là thành phần của các bus dữ liệu và bus địa chỉ.
a. Các cổng xuất nhập:
- Port 0: Port 0 là port có 2 chức năng ở các chân 32 - 39 của AT89C51.
Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các
đường I/O. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa
bus địa chỉ và bus dữ liệu.
- Port 1: Port 1 là port I/O trên các chân 1-8. Các chân được ký hiệu

P1.0, P1.1, P1.2, P1.7 có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần.
Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với
các thiết bị bên ngoài.
- Port 2: Port 2 là 1 port có tác dụng kép trên các chân 21- 28 được dùng
như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị
dùng bộ nhớ mở rộng.
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
14
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
- Port 3: Port 3 là port có tác dụng kép trên các chân 10-17. Các chân
của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các
đặc tính đặc biệt của AT89C51 như ở bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0 RXT Ngõ vào dữ liệu nối tiếp.
P3.1 TXD Ngõ xuất dữ liệu nối tiếp.
P3.2 INT0\ Ngõ vào ngắt cứng thứ 0
P3.3 INT1\ Ngõ vào ngắt cứng thứ 1
P3.4 T0 Ngõ vào củaTIMER/COUNTER thứ 0
P3.5 T1 Ngõ vào củaTIMER/COUNTER thứ 1
P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
P3.7 RD\ Tín hiệu đọc bộ nhớ dữ liệu ngoài
Bảng 1.1: Chức năng của các chân của Port 3
b. Các ngõ tín hiệu điều khiển:
- Ngõ tín hiệu PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương
trình mở rộng thường được nối đến chân OE\ (Output Enable) của Eprom cho
phép đọc các byte mã lệnh. PSEN ở mức thấp trong thời gian Microcontroller
8951 lấy lệnh. Các mã lệnh của chương trình được đọc từ EPROM qua bus dữ
liệu và được chốt vào thanh ghi lệnh bên trong AT89C51 để giải mã lệnh. Khi
8951 thi hành chương trình trong EPROM nội PSEN sẽ ở mức logic 1.

- Ngõ tín hiệu điều khiển ALE (Address Latch Enable):
Khi AT89C51 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và
bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở
chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ
liệu khi kết nối chúng với IC chốt. Tín hiệu ra ở chân ALE là một xung trong
khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự
động. Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
15
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống. Chân
ALE được dùng làm ngõ vào xung lập trình cho EPROM trong AT89C51.
- Ngõ tín hiệu EA\(External Access):
Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0. Nếu ở
mức 1, AT89C51 thi hành chương trình từ EPROM nội trong khoảng địa chỉ
thấp 4 Kbyte. Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng.
Chân EA\ được lấy làm chân cấp nguồn 12V khi lập trình cho EPROM trong
AT89C51.
- Ngõ tín hiệu RST (Reset):
Ngõ vào RST ở chân 9 là ngõ vào Reset của AT89C51. Khi ngõ vào tín hiệu này
đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá
trị thích hợp để khởi động hệ thống. Khi cấp điện mạch tự động Reset.
Hình 1.11: Mạch Reset hệ thống
Trạng thái của tất cả các thanh ghi của 8051 sau khi reset hệ thống được tóm tắt
trong bảng sau:
Thanh ghi Nội dung Thanh ghi Nội dung
Đếm chương trình 0000H IP XXX00000B
Tích lũy 00H IE 0XX00000B
B 00H Các thanh ghi định thời 00H
PSW 00H SCON 00H

SP 07H SBUF 00H
DPTR 0000H PCON(HMOS) 0XXXXXXXB
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
16
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Port 0-3 FFH PCON(CMOS) 0XXX0000B
Bảng 1.2: Trạng thái các thanh ghi sau khi Reset
Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chương trình, nó được
đặt lại 0000H. Khi RST trở lại mức thấp, việc thi hành chương trình luôn bắt
đầu ở địa chỉ đầu tiên trong bộ nhớ trong chương trình: địa chỉ 0000H. Nội dung
của RAM trên chip không bị thay đổi bởi lệnh reset.
- Các ngõ vào bộ dao động X1,X2:
Bộ dao động được được tích hợp bên trong AT89C51, khi sử dụng người thiết
kế chỉ cần kết nối thêm thạch anh và các tụ. Tần số thạch anh thường sử dụng
cho AT89C51 là 12Mhz. Chân 40 (Vcc) được nối lên nguồn 5V.
Hình 1.12: Cấp nguồn giao động bằng thạch anh.
“Chú ý: Tụ gốm có trị số từ 27pF - 33pF để ổn định làm việc cho thạch anh,
thường dùng loại 33pF.”
c. Một số tập lệnh cơ bản lập trình cho VĐK 8051.
1. MOV Rn, DIRECT: Lấy dữ liệu cất ở DIRECT bỏ vào trong thanh ghi Rn.
2. MOV @Rn,#DATA: Nhập 1 số nguyên vào địa chỉ mà Rn đang nắm giữ.
3. MOV Rn,#DATA: Nhập 1 số nguyên vào Rn . Hoặc có thể viết Mov
r7,#11111111b. 255 ở hệ thập phân tương đương với 1111111b ở hệ nhị phân.
4. CLR : Xóa 1 bit, xóa 1 ô nhớ
5. SETB: Ngược lại với Clr là Setb( tăng 1 bit, tăng thêm 1 ô nhớ)
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
17
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
6.RET: Quay lại chỗ chương trình rẽ nhánh. Nếu không gặp các lệnh rẽ
nhánh thì chương trình thực hiện theo thứ tự trên xuống dưới.

7.RETI: Quay lại chỗ chương trình đã bị ngắt. Lệnh này dùng kết thúc
chương trình con ngắt, khi gặp lệnh này Vi điều khiển quay về thực hiện lệnh ở
chương trình chính.
8.JMP: Lệnh nhảy,lệnh rẽ nhánh không điều kiện.Lệnh cùng chức năng
Sjmp
9.JB BIT,REL: Lệnh kiểm tra 1 bít, Nếu bít đó bằng 1 thì rẽ nhánh
10.JNB BIT,REL: Lệnh kiểm tra bit,nếu bit bằng 0 thì rẽ nhánh
11.INC: Lệnh tăng ô nhớ lên 1 đơn vị
12.DEC: Lệnh giảm ô nhớ xuống 1 đơn vị
13.CJNE Rn,#Data,REL: Lệnh kiểm tra thanh ghi Rn , nếu khác Data thì
rẽ nhánh
14.ADD A,Rn: Lệnh cộng, kết quả lưu vào A
15.SUBB A,Rn: Lệnh trừ
16.MULL A,B: Lệnh nhân
17.DIV A,B: Lệnh chia
18.RLC: lệnh quay dịch
1.3.2 . Diode phát quang (LED 7 thanh)
a. Cấu trúc Led 7 thanh
Led 7 thanh được ứng dụng khá phổ biến khi cần hiển thị số tự nhiên hoặc vài
chữ cái nhất định. Led 7 thanh có thể có kích thước lớn nhỏ khác nhau, màu sắc
khác nhau nhưng về hình dáng cơ bản như hình 1.13
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
18
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Hình 1.13. Hình dạng của Led 7 thanh.
Led 7 thanh bao gồm nhiều led tích hợp bên trong, các led được nối chung nhau
1 chân. Trong thực tế có 2 loại led 7 thanh là led 7 thanh A-nốt chung và led 7
thanh Ka-tốt chung. Led loại A-nốt chung, các led sẽ có chung nhau chân nguồn
(chân dương), chân còn lại của led nào được nối đất thì led đó sẽ sáng. Led loại
Ka-tốt chung, các led sẽ nối chung nhau chân đất (chân âm), chân còn lại của led

nào được nối nguồn thì led đó sẽ sáng.
Hình 1.14. Cấu tạo LED 7 thanh.
LED Anode chung
Đối với dạng Led anode chung, chân COM phải có mức logic 1 và muốn sáng
Led thì tương ứng các chân a – f, dp sẽ ở mức logic 0.
b. mã hiển thị dữ liệu trên Led 7 đoạn.
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
19
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Bảng mã cho Led Anode chung (a là MSB, dp là LSB):
Số dp g f e d c b a Mã Hex
0 1 1 0 0 0 0 0 0 0C0H
1 1 1 1 1 1 0 0 1 0F9H
2 1 0 1 0 0 1 0 0 0A4h
3 1 0 1 1 0 0 0 0 0B0H
4 1 0 0 1 1 0 0 1 99H
5 1 0 0 1 0 0 1 0 92H
6 1 0 0 0 0 0 1 0 82H
7 1 1 1 1 1 0 0 0 0F8H
8 1 0 0 0 0 0 0 0 80H
9 1 0 0 1 0 0 0 0 90H
LED Catode chung:
Đối với dạng Led Cathode chung, chân COM phải có mức logic 0 và muốn sáng
Led thì tương ứng các chân a – f, dp sẽ ở mức logic 1.
Bảng mã cho Led Cathode chung (dp là MSB, a là LSB):
Số dp g f e d c b a Mã Hex
0 0 0 1 1 1 1 1 1 3FH
1 0 0 0 0 0 1 1 0 06H
2 0 1 0 1 1 0 1 1 5BH
3 0 1 0 0 1 1 1 1 4FH

4 0 1 1 0 0 1 1 0 66H
5 0 1 1 0 1 1 0 1 6DH
6 0 1 1 1 1 1 0 1 7DH
7 0 0 0 0 0 1 1 1 07H
8 0 1 1 1 1 1 1 1 7FH
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
20
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
9 0 1 1 0 1 1 1 1 6FH
CHƯƠNG 2
ỨNG DỤNG PHẦN MỀM READS51 VÀ PROTEUS 7.8, LẬP TRÌNH,
BIÊN DỊCH VÀ MÔ PHỎNG CHO MẠCH ĐẾM TỪ 0 ĐẾN 9.
2.1. Mạch đếm từ 0 đến 9 sử dụng VĐK AT89C51
2.1.1. Ứng dụng của mạch đếm
Chúng ta hiểu một cách rất đơn giản, ban đầu nó là một mạch đếm, đếm nghĩa là
sao? đơn giản là nó biết đếm như chúng ta,ví dụ đếm từ 1 đến 10, hay như một
cái đồng hồ đếm giây khi chúng ta chạy hay tập nín thở chẳng hạn,….vv .
Mạch ứng dụng rất tốt trong thực tế, Đơn giản nhất như là việc các bạn làm một
đồng hồ bấm giờ, hay ví dụ đếm sản phẩm, hiển thị các thong số trên mạch
….vv.
2.1.2. Sơ đồ nguyên lý
a. Linh kiện trong mạch
• VĐK AT89C51
• Diode phát quang (Led 7 thanh)
• Điện trở (100

, 10K)
• Tụ điện (104, 33pF tụ thường),(10uF tụ hóa)
• Thạch anh (12Mhz)
b. Sơ đồ mạch

SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
21
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Hình 1.15. Sơ đồ mạch đếm từ 0 đến 9
2.1. Ứng dụng phần mềm Reads51 lập trình và biên dịch cho VĐK
AT89C51 điều khiển Led 7 đoạn
Ở chương 1 tôi đã hướng dẫn cách sử dụng phần mềm Reads51 khi đã tạo được
một Module mới chúng ta bắt đầu công việc lập trình của mình, ở đây tôi đã tạo
được một Module mới có tên “LED 7 DEM 0 DEM O DEN 9”.
Công việc chính của bây giờ là soạn thảo chương trình, lập trình cho Port 2 của
VĐK AT89C51 điều khiển 1 Led 7 đoạn đếm từ 0 đến 9.Ở đây tôi sẽ lập trình
cho Led 7 đoạn có Anode chung.Chúng ta có thể sử dụng
Bảng mã cho Led Anode chung
Số dp g f e d c b a Mã Hex
0 1 1 0 0 0 0 0 0 0C0H
1 1 1 1 1 1 0 0 1 0F9H
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
22
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
2 1 0 1 0 0 1 0 0 0A4h
3 1 0 1 1 0 0 0 0 0B0H
4 1 0 0 1 1 0 0 1 99H
5 1 0 0 1 0 0 1 0 92H
6 1 0 0 0 0 0 1 0 82H
7 1 1 1 1 1 0 0 0 0F8H
8 1 0 0 0 0 0 0 0 80H
9 1 0 0 1 0 0 0 0 90H
Giao tiếp VĐK AT89C51 với Led 7 thanh.
Cho 1 Led 7 thanh Anode chung nối vào port 2 của VĐK 8051. Lập trình cho
led 7 thanh hiện thị đếm từ 0 đến 9, mỗi số sang 1 giây, hiển thị số khi P2.x=0

và ngược lại .
Dưới đây là lưu đồ thuật toán:

SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
23
Begin
Không hiển thị gì, tắt tất cả
Hiển thị số 0
Trễ 1 giây
Hiển thị số 1
Trễ 1 giây
Hiển thị số 2
Trễ 1 giây
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
24
#include <sfr51.inc> ; khai báo file chứa địa chỉ của các thanh ghi SFR
org 00h ; địa chỉ bắt đầu khi cấp nguồn hay reset
ljmp main ; Lệnh nhảy dài
org 40h ;địa chỉ bắt đầu chương trình chính
main:
mov SP,#5fh ; Việc tắt tất cả các LED được tự động
; Do khi reset lên, các chân cổng đều = 1
mov p2,#11000000b ; Hiển thị số 0
lcall delay_1s; Gọi chương trình con delay
mov p2,#11111001b ; Hiển thị số 1
lcall delay_1s
mov p2,#10100100b ; Hiển thị số 2
lcall delay_1s
mov p2,#10110000b ; Hiển thị số 3

lcall delay_1s
mov p2,#10011001b ; Hiển thị số 4
lcall delay_1s
mov p2,#10010010b ; Hiển thị số 5
lcall delay_1s
mov p2,#10000010b ; Hiển thị số 6
lcall delay_1s
mov p2,#11111000b ; Hiển thị số 7
lcall delay_1s
mov p2,#10000000b ; Hiển thị số 8
lcall delay_1s
mov p2,#10010000b; Hiển thị số 9
lcall delay_1s
sjmp main ; nhảy đến nhãn main
delay_1s: ; chương trình con delay
mov r1,#10 ; Gán r1 =10
loop1: ; Nhãn
mov r2,#100 ; Gán r2=100
loop2:
mov r3,#100 ;Gán r3=100
loop3:
nop ;lệnh nhảy tại chỗ, không làm gì cả
nop
nop
nop
nop
nop
nop
nop
djnz r3,loop3 ;giảm dần và nhảy khi r3 = 0

djnz r2,loop2
djnz r1,loop1
ret ; lệnh trở lại từ chương trình con
end ; Chỉ dẫn báo kết thúc toàn bộ đoạn chương trình

Một lệnh nop mất 1 chu kỳ máy .8 lệnh mất 8 chu kỳ
máy.1 lệnh djnz mất 2 chu kỳ máy
1 vong lặp mất 10 chu kỳ máy
Có 3 vòng lặp với r1=10, r2=100,r3=100
Tổng thời gian delay: 10*100*100*10= 10
6
us= 1s
Hiển thị số 9
Trễ 1 giây
ĐỒ ÁN ỨNG DỤNG CNTT CHO ĐTVT
Sau khi đã lập trình xong chúng ta biên dịch chương trình về dạng “ .HEX”. Để
VĐK có thể đọc được .Sau khi đã soạn thảo xong chương trình Chọn comple →
build hoặc bấm phím F9.Nếu không có lỗi thì chương trình sẽ thông báo đường
dẫn tới file “ .HEX” ở phía dưới .
Sau khi đã lập trình xong và cũng tạo được file để nạp vào VĐK AT89C51
không biết mạch chúng ta sẽ chạy ra sao đây, chúng ta sẽ được chiêm nghưỡng
thành quả của mình trên máy tính mà không cần phải làm mạch thật chỉ cần
dùng phần mềm Proteus 7.8 .
2.1. Ứng dụng phần mêm Proteus 7.8 mô phỏng cho mạch đến từ 0 đến 9
sử dụng VĐK AT89C51
Bước 1. Mở phần mềm Proteus 7.8 : Start→All programs→ Proteus 7
Professional→ ISIS 7 Professional.
SVTH: NINH XUÂN PHONG Người HD: HỒ SỸ PHƯƠNG
25

×