Tải bản đầy đủ (.docx) (43 trang)

Nghiên cứu về vi điều khiển 8051. thiết kế mô hình đồng hồ thời gian thực hiển thị trên led 7 thanh

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.34 MB, 43 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG CAO ĐẲNG KINH TẾ-KỸ THUẬT
KHOA: KỸ THUẬT CÔNG NGHIỆP

BÁO CÁO KẾT QUẢ THỰC TẬP TỐT NGHIỆP
TÊN ĐỀ TÀI:
NGHIÊN CỨU VỀ VI ĐIỀU KHIỂN 8051 .THIẾT KẾ ĐỒNG HỒ
THỜI GIAN THỰC HIỂN THỊ TRÊN LED 7 ĐOẠN

Sinh viên thực hiện:

Nguyễn Quốc Thịnh

Hệ đào tạo

:

Cao đẳng chính quy

Chuyên ngành

:

Điện – Điện tử

Khóa học

:

2016 – 2019


Thái Nguyên, năm 2019
1


MỤC LỤC
LỜI NÓI
ĐẦU..........................................................................................................3
CHƯƠNG 1. TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN 8051..............................4
1.1. Giới thiệu chung 1.2. Sơ đồ cấu trúc của họ vi điều khiển 8051
1.3. Mô tả chức năng các chân của 8051
1.4 Vi điều khiển AT89S52
1.4.1 Giới thiệu
1.4.2 Sơ đồ chân và chức năng các chân của AT89S52
CHƯƠNG 2. CÁC LINH KIỆN LIÊN QUAN .............................................10
2.1 Tìm hiểu về IC thời gian thực DS1307
2.1.1 Giới thiệu
2.1.2 Sơ đồ và chức năng các chân
2.1.3 cách xuất nhập dữ liệu vào DS1307
2.2 Led 7 đoạn
2.2.1 Giới thiệu
CHƯƠNG 3 : PHẦN MỀM MÔ PHỎNG MẠCH ĐIỆN PROLTEUS...........17
3.1.Giới thiệu chung về phần mềm Proteus
CHƯƠNG 4: PHẦN MỀM KEI C......................................................................29
4.1. Khái quát chung về phần mềm Keil C
CHƯƠNG 5: PHẦN MỀM PL51M NẠP CHƯƠNG TRÌNH CHO IC NHỚ
AT89S52 HIỂN THỊ THỜI GIAN TRÊN LED 7 ĐOẠN .................................38

2



LỜI NĨI ĐẦU
Ngày nay ngành kỹ thuật điện tử có vai trò rất quan trọng trong cuộc sống
của con người. Các hệ thống điện tử ngày nay rất đa dạng và đang thay thế các
công việc hàng ngày của con người từ những công việc đơn giản đến phức tạp
như điều khiển tín hiệu đèn giao thơng, các biển quảng cáo, đo tốc độ động cơ
hay các đồng hồ số… Các hệ thống này có thể thiết kế theo hệ thống tương tự, hệ
thống số hay là dùng vi điều khiển. Tuy nhiên trong các hệ thống điện tử thông
minh hiện nay người ta thường sử dụng vi điều khiển hơn là các hệ thống tương
tự hay hệ thống số bởi một số ưu điểm vượt trội mà vi điều khiển mang lại đó là:
độ tin cậy cao, giá thành thấp, dễ dàng thiết kế, lắp đặt và vận hành… Để làm
được điều đó chúng ta phải có kiến thức về vi điều khiển, hiểu được cấu trúc và
chức năng của nó.
Sau gần 3 năm học tập và nghiên cứu tại trường, với sự giảng dạy của các
thầy, cô giáo trong trường cùng với sự hướng dẫn tận tình của cô giáo Trần Thị
Tuyết Lan, em đã chọn đề tài: “ Nghiên cứu về Vi điều khiển 8051. Thiết kế
mô hình đồng hồ thời gian thực hiển thị trên Led 7 thanh” để làm đồ án tốt
nghiệp với mong muốn áp dụng những kiến thức đã học vào thực tế phục vụ
nhu cầu đời sống con người.
Do kiến thức và trình độ năng lực cịn hạn hẹp nên việc thực hiện đề tài
này khơng thể tránh được thiếu sót, kính mong nhận được sự thơng cảm và góp
ý của tất cả các thầy, cô giáo và các bạn để đồ án này được hoàn thiện hơn.
Em xin chân thành cảm ơn !

3


CHƯƠNG 1. TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN 8051
1.1.1. Giới thiệu chung
MCS-51 là họ vi điều khiển của Intel. Các nhà sản xuất khác như Siemens,
Advanced Micro Devices, Fujitsu và Philips được cấp phép làm nhà cung cấp thứ hai cho

các chip của họ MCS-51.
Vi mạch tổng quát của họ MCS-51 là chip 8051, linh kiện đầu tiên của họ này được
đưa ra thị trường. Chip 8051 có các đặc trưng sau:
- Có 4/8/12/20 Kbyte bộ nhớ FLASH ROM bên trong để lưu chương trình. Nhờ vậy
Vi điều khiển có khả năng nạp xoá chương trình bằng điện đến 10000 lần.
- 128 Byte RAM nội.
- 4 Port xuất/nhập 8 bit.
- Từ 2 đến 3 bộ định thời 16-bit.
- Có khả năng giao tiếp truyền dữ liệu nối tiếp.
- Có thể mở rộng khơng gian nhớ chương trình ngồi 64KByte (bộ nhớ ROM
ngoại).
- Có thể mở rộng khơng gian nhớ dữ liệu ngoài 64KByte (bộ nhớ RAM ngoại).
- Bộ xử lí bit (thao tác trên các bit riêng rẽ), 210 bit có thể truy xuất đến từng bit.
- Nhân/chia trong 4µs.

4


1.1.2. Sơ đồ cấu trúc của họ vi điều khiển 8051

Hình 1.1 Sơ đồ cấu trúc của họ vi điều khiển 8051
1.1.3. Mô tả chức năng các chân của 8051
Mặc dù các thành viên của họ MSC-51 có nhiều kiểu đóng vỏ khác nhau, chẳng hạn như
hai hàng chân DIP dạng vỏ dẹt vng QFP và dạng chíp khơng có chân đỡ LLC và đều
có 40 chân cho các chức năng khác nhau như vào ra I/0, đọc , ghi , địa chỉ, dữ liệu và
ngắt. Tuy nhiên, vì hầu hết các nhà phát triển chính dụng chíp đóng vỏ 40 chân với hai
hàng chân DIP, nên chúng ta cùng khảo sát Vi điều khiển với 40 chân dạng DIP.

5



Hình 1.2 Sơ đồ chân
- Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển
Nguồn điện cấp là +5V±0.5.
- Chân GND:Chân số 20 nối GND(hay nối Mass).
- Port 0 (P0)

Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng:

+ Chức năng xuất/nhập :các chân này được dùng để nhận tín hiệu từ bên ngồi vào
để xử lí, hoặc dùng để x́t tín hiệu ra bên ngồi, chẳng hạn x́t tín hiệu để điều khiển
led đơn sáng tắt.
+ Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0)
còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ
ngồi), đờng thời Port 0 cịn được dùng để định địa chỉ của bộ nhớ ngoài.
- Port 1 (P1)

Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các

đường x́t/nhập, khơng có chức năng khác.
- Port 2 (P2)

Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:

+ Chức năng xuất/nhập
+ Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngồi có dung
lượng lớn,cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận, byte cao do
P2 này đảm nhận.
6



Port 3 (P3)

Port 3 gồm 8 chân (từ chân 10 đến 17):

+ Chức năng xuất/nhập
+ Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau

Bit

Tên

Chức năng

P3.
0

RxD

Ngõ vào nhận 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ủa Timer/Counter thứ 0

P3.
5

T1

Ngõ vào của Timer/Counter thứ 1

P3.
6

WR


Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài

P3.
7

RD

Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên ngoài

P1.
0

T2

Ngõ vào của Timer/Counter thứ 2

P1.
1

T2X

Ngõ Nạp lại/thu nhận của Timer/Counter thứ 2

- Chân RESET (RST): Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng
thái ban đầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ
này ở mức 1 tối thiểu 2 chu kì máy.
- Chân XTAL1 và XTAL2: Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận
nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các
tụ để tạo nguồn xung clock ổn định.


7


- Chân cho phép bộ nhớ chương trình PSEN
PSEN tín hiệu được xuất ra ở chân 29 dùng để truy x́t bộ nhớ chương trình ngồi.
Chân này thường được nối với chân OE của ROM ngoài.
Khi vi điều khiển làm việc với bộ nhớ chương trình ngồi, chân này phát ra tín hiệu
kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy
Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức logic khơng
tích cực (logic 1). (Khơng cần kết nối chân này khi không sử dụng đến)
- Chân ALE (chân cho phép chốt địa chỉ-chân 30)
Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus địa
chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín
hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và các
đường dữ liệu khi kết nối chúng với IC chốt.
- Chân EA
Chân EA dùng để xác định chương trình thực hiện được lấy từ ROM nội hay ROM ngoại.
Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ nội
Khi EA nối với logic 0(0V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ ngoại
1.4 Vi điều khiển AT89S52
1.4.1 Giới thiệu
AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc có thể xóa và
lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3 TIMER/COUNTER 16 Bit, 6
vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch dao động tạo
xung Clock và bộ dao động ON-CHIP.
Các đặc điểm của chip AT89S52 được tóm tắt như sau:


8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xoá




Tần số hoạt động từ: 0Hz đến 24 MHz




3 mức khóa bộ nhớ lập trình
3 bộ Timer/counter 16 Bit  128 Byte RAM nội.

8




4 Port xuất /nhập I/O 8 bit.  Giao tiếp nối tiếp.



64 KB vùng nhớ mã ngồi



64 KB vùng nhớ dữ liệu ngoại.



4 s cho hoạt động nhân hoặc chia.


1.4.2 Sơ đồ chân và chức năng các chân của AT89S52
Sơ đồ chân của AT89S52

Hình 2.17 Sơ đồ chân của AT89S52
Mặc dù các thành viên của họ 8051 (ví dụ 8751, 89S52, 89C51, DS5000) đều có các
kiểu đóng vỏ khác nhau, chẳng hạn như hai hàng chân DIP (Dual InLine Pakage), dạng vỏ
dẹt vuông QPF (Quad Flat Pakage) và dạng chip khơng có chân đỡ LLC (Leadless Chip
Carrier) thì chúng đều có 40 chân cho các chức năng

khác nhau như vào ra I/O, đọc RD , ghi WR , địa chỉ, dữ liệu và ngắt. Cần phải lưu ý một số
hãng cung cấp một phiên bản 8051 có 20 chân với số cởng vào ra ít hơn cho các ứng dụng
u cầu thấp hơn. Tuy nhiên vì hầu hết các nhà phát triển sử dụng
chíp đóng vỏ 40 chân với hai hàng chân DIP nên ta chỉ tập trung mô tả phiên bản này.

9


CHƯƠNG 2. CÁC LINH KIỆN LIÊN QUAN
2.1 Tìm hiểu về IC thời gian thực DS1307
2.1.1 Giới thiệu
DS1307 là chip đồng hồ thời gian thực ( RTC: Real-time clock ), khái niệm thời gian thực
ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng tính bằng giây,
phút, giờ… DS1307 là sản phẩm của Dallas Semiconductor (một công ty thuộc Maxim
Integrated Products ). Chip này có 7 thanh ghi 8 bit chứa thời gian là: giây, phút, giờ, thứ
(trong tuần), ngày, tháng, năm. Ngoài ra chip này cịn có một thanh ghi điều khiển ngõ ra phụ
và 56 thanh ghi trống có thể dùng như Ram. DS1307 được đọc và ghi thông qua giao tiếp nối
tiếp I2C nên cấu tạo bên ngoài rất đơn giản. DS1307 xuất hiện ở hai gói SIOC và DIP có 8
chân.

Hình 2.1 Các dạng đóng gói của chip DS1307

2.1.2 Sơ đồ và chức năng các chân

Hình 2.2 Sơ đồ chân của DS1307
• X1 và X2: là hai ngõ kết nối với 1 thạch anh 32.768kHz làm nguồn tạo dao động cho chip.
• Vbat: cực dương của một ng̀n Pin 3V nuôi chip.
10


• GND: chân mass chung cho cả Pin 3V và Vcc.
• Vcc: ng̀n cho giao diện I2C, thường là 5V dùng chung với vi điều khiển.
• SQW/OUT: một ngõ phụ tạo xung vuông ( Square Ware / Output Driver ), tần số của xung
được tạo có thể được lập trình. Chân này có thể phát đi 1 trong 4 tần số (1Hz, 4kHz , 8kHz,
32kHz). Như vậy chân này hầu như không liên quan đến chức năng của DS1307 là đờng hờ
thời gian thực, có thể bỏ trống chân này khi nối mạch.
• SCL và SDA : là hai đường giao xung nhịp và dữ liệu của giao diện I2C. * Nếu Vcc không
được cấp nguồn nhưng Vbat được cấp thì DS1307 vẫn hoạt động (nhưng khơng ghi và đọc
được).
* Chân SQW/OUT hoạt động được khi cả Vcc và Vbat được cấp.
Có thể kết nối DS1307 bằng một mạch điện đơn giản như sau:

Hình 2.3 Sơ đồ mắc cơ bản của DS1307
2.1.3 cách xuất nhập dữ liệu vào DS1307
Cấu tạo bên trong của DS1307 bao gồm một số thành phần như mạch nguồn, mạch dao
động, mạch điều khiển logic, mạch giao diện I2C, con trỏ địa chỉ và các thanh ghi (hay
Ram ). Do đa số các thành phần bên trong DS1307 là thành phần cứng nên chúng ta khơng
có quá nhiều việc khi sử dụng DS1307. Sử dụng DS1307 chủ yếu là việc đọc và ghi các
thanh ghi của chip này. Vì thế cần hiểu rõ hai vấn đề cơ bản đó là cấu trúc các thanh ghi và
cách truy xuất các thanh ghi này thông qua giao diện I2C.
Bộ nhớ DS1307 có tất cả 64 thanh ghi 8 bit được đánh địa chỉ từ 0 đến 63 ( từ 0x00 đến
0x3f). Tuy nhiên, thực chất chỉ có 8 thanh ghi đầu là dùng cho chức năng “đồng hồ” ( RTC )

cịn lại 56 thanh ghi bỏ trống có thể được dùng chứa biến tạm như Ram nếu muốn. Bảy thanh
ghi đầu tiên chứa thông tin về thời gian của đồng hồ bao gồm giây (SECONDS), phút
(MINUETS), giờ (HOURS), thứ (DAY), ngày (DATE), tháng (MONTH), Năm (YEAR).
Việc ghi giá trị vào 7 thanh ghi này tương đương với việc “cài đặt” thời gian khởi động cho
RTC. Việc đọc giá trị từ 7 thanh ghi là đọc thời gian thực mà chip tạo ra.
Tổ chức bộ nhớ của DS1307 được trình bày như sau:

11


Hình 2.4 Sơ đồ cấu trúc của các thanh ghi trong DS1307
Vì 7 thanh ghi đầu tiên quan trọng nhất trong hoạt động của DS1307, nên khảo sát các
thanh ghi này một cách chi tiết.
Điều đầu tiên cần chú ý là giá trị thời gian lưu trong các thanh ghi theo dạng BCD. BCD là
viết tắt của cụm từ Binary-Coded Decimal, tạm dịch là các số thập phân theo mã nhị phân.
Ví dụ: muốn cài đặt cho thanh ghi MINUTES giá trị 42. Nếu quy đổi 42 sang mã thập lục
phân thì thu được 42= 0x2A . Theo cách hiểu thơng thường thì cần gán giá trị MINUTES=
42. Nhưng vì các thanh ghi này chứa các giá trị BCD lên mọi chuyện sẽ khác .

Hình 2.5 Cách cập nhật dữ liệu cho DS1307
Với số 42, trước hết nó tách thành hai chữ số 4 và 2. Mỗi chữ số sau đó được đởi thành mã
nhị phân 4 bit. Chữ số 4 được đổi thành mã nhị phân 4 bit là 0100 trong khi 2 đổi thành 0010.
Ghép mã nhị phân của hai chữ số lại thu được một số 8 bit, đó là số BCD. Với trường hợp
này, số BCD thu được là 01000010 ( nhị phân )=66. Như vậy, để đặt số phút 42 cho DS1307
cần ghi vào thanh ghi MINUTES giá trị 66 ( mã BCD của 42 ). Tất cả các phần mềm lập
trình hay các thanh ghi của chip điều khiển đều sử dụng mã nhị phân thơng thường, khơng
phải mã BCD, do đó cần phải viết các chương trình con để quy đởi từ số thập lục phân (hoặc
thập phân thường) sang BCD.

12



Hình 2.6 Tổ chức theo bit của các thanh ghi
Tở chức các thanh ghi thời gian:


Thanh ghi giây ( SECONDS ): thanh ghi này là thanh ghi đầu tiên trong bộ nhớ của

DS1307, địa chỉ của nó là 0x00. Bốn bit thấp của thanh ghi này chứa mã BCD 4-bit của chữ
số hàng đơn vị của giá trị giây. Do giá trị cao nhất của chữ số hàng chục là 5 (khơng có giây
60) nên chỉ cần 3 bit (các bit SECONDS 6:4) là có thể mã hóa được (số 5 =101, 3 bit). Bit
cao nhất, bit 7, trong thanh ghi này là 1 điều khiển có tên CH (Clock halt – treo đồng hồ ),
nếu bit này được set bằng 1 bộ dao động trong chip bị vô hiệu hóa, đờng hờ khơng hoạt động.
Vậy, nhất thiết phải reset bit này xuống 0 ngay từ đầu.


Thanh ghi phút (MINUTES): có địa chỉ 01H, chứa giá trị phút của đờng hờ. Tương tự

thanh ghi SECONDS, chỉ có 7 bit của thanh ghi này được dùng lưu mã BCD của phút, bit 7
ln ln bằng 0.


Thanh ghi giờ (HOURS): có thể nói đây là thanh ghi phức tạp nhất trong DS1307.

Thanh ghi này có địa chỉ 02H. Trước hết 4-bit thấp của thanh ghi này được dùng cho chữ số
hàng đơn vị của giờ. Do DS1307 hỗ trợ 2 loại hệ thống hiển thị giờ (gọi là mode) là 12h (1h
đến 12h) và 24h (1h đến 24h), bit 6 (hình 2.6) xác lập hệ thống giờ. Nếu bit 6= 0 thì hệ thống
24h được chọn, khi đó 2 bit cao 5 và 4 dùng mã hóa chữ số hàng chục của giá trị giờ. Do giá
trị lớn nhất của chữ số hàng chục trong trường hợp này là 2 ( = 10, nhị phân) nên 2 bit 5 và 4
là đủ để mã hóa. Nếu bit 6= 1 thì hệ thống 12h được chọn, với trường hợp này chỉ có bit 4


13


dùng mã hóa chữ số hàng chục của giờ, bit 5 (màu orange trong hình 2.6) chỉ b̉i trong
ngày, AM hoặc PM. Bit 5=0 là AM và bit 5=1 là PM. Bit 7 ln bằng 0.


Thanh ghi thứ ( DAY – ngày trong tuần ): nằm ở địa chỉ 03H. Thanh ghi DAY chỉ

mang giá trị từ 1 đến 7 tương ứng từ Chủ nhật đến thứ 7 trong 1 tuần. Vì thế, chỉ có 3 bit thấp
trong thanh ghi này có nghĩa.


Các thanh ghi cịn lại có cấu trúc tương tự, DATE chứa ngày trong tháng (1 đến 31),

MONTH chứa tháng (1 đến 12) và YEAR chứa năm (00 đến 99). Chú ý, DS1307 chỉ dùng
cho 100 năm, nên giá trị năm chỉ có 2 chữ số , phần đầu của năm do người dùng tự thêm vào
(ví dụ 20xx). Ngồi các thanh ghi trong bộ nhớ, DS1307 cịn có một thanh ghi khác nằm
riêng gọi là con trỏ địa chỉ hay thanh ghi địa chỉ (Address Register). Giá trị của thanh ghi này
là địa chỉ của thanh ghi trong bộ nhớ mà người dùng muốn truy cập.
Cấu trúc của DS1307 như sau:

Hình 2.7 Sơ đồ cấu trúc bên trong của DS1307

14


2.5 Led 7 đoạn
2.5.1 Giới thiệu

Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng với thông
số chỉ là các dãy số đơn thuần, thường người ta sử dụng “ led 7 đoạn”. Led 7 đoạn được sử
dụng khi các dãy số khơng địi hỏi quá phức tạp, chỉ cần hiển thị số là đủ, chẳng hạn led 7
đoạn được dùng để hiển thị nhiệt độ phịng, trong các đờng hờ treo tường bằng điện tử, hiển
thị số lượng sản phẩm được kiểm tra sau một cơng đoạn nào đó…
Led 7 đoạn có cấu tạo bao gờm 7 led đơn có dạng thanh xếp theo hình và có thêm một
led đơn hình trịn nhỏ thể hiện dấu chấm trịn ở góc dưới, bên phải của led 7 đoạn.
7 led đơn trên led 7 đoạn có Anode (cực +) hoặc Cathode (cực -) được nối chung với
nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại trên mỗi led
đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện. Nếu led 7
đoạn có Anode (cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều
khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0.
Nếu led 7 đoạn có Cathode (cực -) chung, đầu chung này được nối xuống Ground (hay Mass),
các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu
đặt vào các chân này ở mức 1.
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dịng qua
mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với ng̀n 5V có thể hạn
dịng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển.

Hình 2.25 Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa
2.5.2 Kết nối với vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port nào
đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận một dữ liệu 8 bit từ
Vi điều khiển để điều khiển hoạt động sáng tắt của từng led đơn trong nó, dữ liệu được xuất
15


ra điều khiển led 7 đoạn thường được gọi là "mã hiển thị led 7 đoạn". Có hai kiểu mã hiển thị
led 7 đoạn: mã dành cho led 7 đoạn có Anode (cực +) chung và mã dành cho led 7 đoạn có
Cathode (cực -) chung. Chẳng hạn, để hiển thị số 1 cần làm cho các led ở vị trí b và c sáng,

nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V (mức
0) các chân còn lại được đặt điện áp là 5V (mức 1), nếu sử dụng led 7 đoạn có Cathode chung
thì điện áp (hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b và c điện áp là 5V
(mức 1).
Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho việc xử
lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1nối với chân b, lần
lượt theo thứ tự cho đến Px.7 nối với chân h.

16


CHƯƠNG 3 : PHẦN MỀM MÔ PHỎNG MẠCH ĐIỆN PROLTEUS
3.1.Giới thiệu chung về phần mềm Proteus


Proteus là bộ cơng cụ chuyên về mô phỏng mạch điện tử. Các phần mềm (cơng

cụ) trong bộ là:ISIS Schematic Capture:


Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gờm

phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Lancenter
Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho
cả các MCU như PIC, 8051, AVR, Motorola.


Phần mềm bao gờm 2 chương trình: ISIS cho phép mơ phỏng mạch và ARES

dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt, nó

hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 …
các giao tiếp I2C, SPI, CAN, USB, Ethenet,… ngòai ra cịn mơ phỏng các mạch số, mạch
tương tự một cách hiệu quả.SIS đã được nghiên cứu và phát triển trong hơn 12 năm và có
hơn 12000 người dùng trên khắp thế giới. Sức mạnh của nó là có thể mô phỏng hoạt động
của các hệ vi điều khiển mà khơng cần thêm phần mềm phụ trợ nào. Sau đó, phần mềm
ISIS có thể xuất file sang ARES hoặc các phần mềm vẽ mạch in khác.
Trong lĩnh vực giáo dục, ISIS có ưu điểm là hình ảnh mạch điện đẹp, cho phép ta tùy chọn
đường nét, màu sắc mạch điện, cũng như thiết kế theo các mạch mẫu (templates)


Những khả năng khác của ISIS là:
+ Chạy trên nền Windows 98/Me/2k/XP/Win7
+ Tự động sắp xếp đường mạch và vẽ điểm giao đường mạch.
+ Chọn đối tượng và thiết lập thông số cho đối tượng dễ dàng
+ Xuất file thống kê linh kiện cho mạch
+Xuất ra file Netlist tương thích với các chương trình làm mạch in thơng dụng.
+ Đối với người thiết kế mạch chun nghiệp, ISIS tích hợp nhiều cơng cụ giúp cho

việc quản lý mạch điện lớn, mạch điện có thể lên đến hàng ngàn linh kiện.
+ Thiết kế theo cấu trúc (hierachical design)
+ Khả năng tự động đánh số linh kiện.
ARES (Advanced Routing and Editing Software) là phần mềm vẽ mạch in PCB. Nó vẽ mạch
dựa vào file nestlist cùng các công cụ tự động khác.
17




Đặc điểm chính:




Có cơ sở dữ liệu 32 bit cho phép độ chính xác đến 10nm, độ phân giải góc 0.10 và kích
thước board lớn nhất là +/- 10 mét. ARES hỗ trợ mạch in 16 lớp.



Làm việc thơng qua các menu ngữ cảnh tiện lợi



File netlist từ phần mềm vẽ mạch nguyên lý ISIS.



Tự động cập nhật ngược chỉ số linh kiện, sự đổi chân, đổi cổng ở mạch in sang mạch
ngun lý.



Cơng cụ kiểm tra lỗi thiết kế.



Thư viện đầy đủ từ lỗ khoan mạch đến linh kiện dán.


PROTEUS VSM là sự kết hợp giữa chương trình mơ phỏng mạch điện theo chuẩn

cơng nghiệp SPICE3F5 và mơ hình linh kiện tương tác động (animated model). Nó cho

phép người dùng tự tạo linh kiện tương tác động và thực ra có rất nhiều linh kiện loại này
được tạo ra mà khơng cần code lập trình. Do đó, PROTEUS VSM cho phép người dùng
thực hiện các “mơ phỏng có tương tác” giống như hoạt động của một mạch thật.
Thêm nữa, chương trình cung cấp cho chúng ta rất nhiều mơ hình linh kiện có chức năng mơ
phỏng, từ các vi điều khiển thông dụng đến các linh kiện ngoại vi như LED, LCD, keypad, cổng
RS232.

18


Khởi động phần mềm xong. Tiếp tục chọn vào biểu tượng schematic capture trên thanh
công cụ để khởi động giao diện để vẽ mạch mô phỏng mạch điện.
Giao diện như hình bên dưới:

19


Phần mềm cung cấp cho chúng ta nhiều nút lệnh hữu ích, tiện lợi khi vẽ mạch , sau đây
là một số nút thường dùng trong khi vẽ mạch:
Create a new design: Tạo một bản thiết kế mới.
Open a design: Mở một bản thiết kế đã có sẵn.
Save: Lưu lại bản thiết kế.
Sample a project: Mở một bản thiết kế mẫu.

20


Enable / Disable grid dot display: Cho phép hiện hay ẩn các loại lưới điểm.
Junction dot: Điểm Nối.
Copy tagged objects: Sao chép đối tượng đã chọn.

Move tagged objects: Di chuyển đối tượng đã chọn.
Rotate all tagged objects: Xoay tất cả đối tượng đã chọn.
Delete all tagged objects: Xóa tất cả các đối tượng đã chọn.
Create a new root sheet: Tạo trang vẽ mới.
Remove curent sheet: Xóa trang vẽ hiện hành.
PCB layout: Giao diện vẽ mạch 3D.
3D visualizer: Xem dưới dạng 3D mạch thực.
Code sample: Code mẫu.
Instant edid mode: Chọn linh kiện để thay đởi thuộc tính.
Device pin: Linh Kiện đã chọn.
Wire lable / ate: tạo chú thích.
Text script: Kiểm tra bản vẽ.
Bus: Vẽ bus.
Sub-circuit: tạo mạch phụ.
Inter-sheet terminal: Lấy nguồn (VCC), nối đất (GND), Vào / ra (in/out).
Simulation Graph: Đồ thị mô phỏng.

21


Generator: Các dạng tạo sóng.
Vonmeter/ Current probe: Dụng cụ đo điện áp và dịng diện.
Virtual instruments: Các dạng đờng hờ đo.
Pick device: Mở thư viện linh kiện.
Manage libraries: Quản lý thư viện.
Set rotation: Xoay trái 90o.
Set rotation: Xoay phải 90o.
Horizontal reflection: Đảo theo chiều ngang.
Vertical reflection: Đảo theo chiều đứng.



Ưu điểm và nhược điểm của phần mềm này:



Ưu điểm:
- Các phần mềm mô phỏng thường bị giới hạn bởi linh kiện. Trong khi đó thì ở
đây mơ phỏng được rất nhiều bởi linh kiện, kể cả các IC lập trình được như vi
điều khiển .
- Hình ảnh mơ phỏng sống động.
- Những thanh cơng cụ có thể định vị bất kì cạnh nào của cửa sở ứng dụng, trong
khi tởng quan đối tượng người vẽ có thể kéo dài tới trái hoặc phải theo những
cạnh.
- Tất cả các biểu tượng đều rõ ràng và giúp cho người dùng dễ dàng hơn.
- Mơ phỏng được nhiều loại mạch khác nhau.
- Có thể thay đổi được màu nền để phù hợp trong các trường hợp khác nhau.



Nhược điểm:
- Một số linh kiện là các vi mạch tích hợp các cởng logic nếu dùng đúng IC đó để
mơ phỏng thì phần mềm sẽ báo lỗi.
22


- Diện tích thiết kế chưa thỏa mãn với các mạch đòi hỏi nhiều linh kiện.

3.2 Cách sử dụng phần mềm Prolteus
Thiết kế mạch điều khiển led 7 đoạn Hiển thị thời gian
Tạo New Project

Đầu tiên ta phải tạo một Project mới. Trên thanh trình đơn The Menu Bars, chọn
File,tiếp tục chọn close project→ New Project

23


Thiết kế mạch điều khiển led 7 đoạn hiển thị thời gian
Bước 1. Chọn linh kiện:


Để lấy các linh kiện cần dùng, ta nhấn chọn vào biểu tượng Component mode, tích vào
biểu tượng

24




Kết quả tìm kiếm sẽ được hiển thị trên cửa sở Results, kích đúp vào tên linh kiện để đưa vào
vùng linh kiện đã chọn
Để lấy các linh kiện khác, ta làm tương tự
Danh sách các linh kiện cần dùng:
Các linh kiện dùng trong mạch gồm: IC AT89S52, IC DS1307,
Led 7 thanh, Pin 3V, Tụ 10µF, Tụ 33pF, Thạch anh 12MHz, Thạch anh 32.768kHz, Điện trở
10k, Nút nhấn hai chân,…và các linh kiện vật tư phụ trợ.
Sau khi chọn, các linh kiện sẽ được đặt trong vùng các linh kiện đã chọn

Bước 2. Vẽ mạch mô phỏng
Từ vùng linh kiện đã chọn,ta kích chuột chọn linh kiện cần dùng, sau đó
đưa chuột sang vùng mơ phỏng, kích đúp chuột,khi này linh kiện sẽ hiện lên


25


×