chuong 1 KEM 2.docx de tai ve at89c52 led 7 thanh

quyoidungbuon 33 views 8 slides Nov 18, 2024
Slide 1
Slide 1 of 8
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8

About This Presentation

nice


Slide Content

1.1 Giới thiệu về vi điều khiển AT89C52
Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng
dụng khác nhau, trong
đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộng rãi trên thế giới và
ở Việt nam.
Vào năm 1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển đầu tiên
của họ vi điều
khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất
nhập, 1 port nối tiếp và 2
bộ định thời 16 bit. Tiếp theo sau đó là sự ra đời của chip 8052,8053,8055
với nhiều tính năng được
cải tiến
Hiện nay Intel không còn cung cấp các loại Vi điều khiển họ MCS-51
nữa, thay vào đó các
nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siemens,
Matra&Dallas, Semiconductors
được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC-51.
Chip Vi điều khiển được sử
dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là Vi điều
khiển của hãng Atmel với
nhiều chủng loại vi điều khiển khác nhau.
Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi
điều khiển MCS-
51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản
xuất. Mã số 80 chuyển thành
89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52
(Mã số đầy đủ: AT89C52).
AT89C52 được trang bị bộ nhớ flash 8 KB, bộ nhớ RAM nội 256 byte,
và có 32 chân I/O (cổng vào/ra) để điều khiển các thiết bị ngoại vi. Vi
điều khiển này cũng bao gồm ba bộ đếm/định thời 16-bit, cổng giao tiếp
nối tiếp UART, và hỗ trợ ngắt ngoài cùng nhiều tính năng giao tiếp thông
qua các giao thức thông dụng như SPI và I2C.
Với khả năng xử lý tốt và mức giá hợp lý, AT89C52 được sử dụng rộng
rãi trong nhiều ứng dụng như: hệ thống nhúng, thiết bị điều khiển công
nghiệp, robot, và cả trong giáo dục để giảng dạy về vi điều khiển. Ngoài
ra, AT89C52 còn phù hợp cho các hệ thống điều khiển tự động hóa, quản
lý năng lượng và giao tiếp không dây khi kết hợp với các module mở
rộng.

Đặc điểm nổi bật của AT89C52:
Dễ dàng lập trình và cài đặt lại: Sử dụng bộ nhớ flash giúp cho
việc lập trình và tái lập trình trở nên nhanh chóng và thuận tiện.
Tiêu thụ năng lượng thấp: AT89C52 có các chế độ tiết kiệm
năng lượng, giúp giảm điện năng tiêu thụ, đặc biệt hữu ích trong
các thiết bị hoạt động liên tục hoặc dùng pin.
Khả năng mở rộng: Ngoài bộ nhớ trong, AT89C52 có thể mở
rộng với bộ nhớ ngoài lên đến 64 KB nhờ các đường bus địa chỉ và
dữ liệu.
Thông số kỹ thuật chính:
Bộ nhớ chương trình (Flash): 8 KB
Bộ nhớ dữ liệu (RAM): 256 byte
Bộ đếm/định thời (Timer): 3 bộ đếm 16-bit
Số chân I/O: 32 chân chia thành 4 cổng P0, P1, P2, P3
Cổng nối tiếp: UART (RS232)
Tần số hoạt động: 0-24 MHz
Điện áp hoạt động: 4V - 5.5V
1.2 Cấu trúc phần cứng của AT89C52
Vi điều khiển AT89C52 được tích hợp nhiều thành phần phần cứng cơ
bản, đáp ứng yêu cầu của các hệ thống điều khiển phức tạp. Cấu trúc của
AT89C52 bao gồm:
Bộ vi xử lý (CPU): Thành phần chính thực hiện các lệnh từ bộ nhớ
chương trình và điều khiển hoạt động của các thành phần khác
trong vi điều khiển. CPU xử lý dữ liệu bằng cách thực hiện các
phép tính số học, logic, và điều khiển luồng chương trình.
Bộ nhớ chương trình (Flash): AT89C52 có bộ nhớ flash 8 KB để
lưu trữ chương trình. Flash là loại bộ nhớ không bay hơi, có khả
năng lưu trữ dữ liệu kể cả khi mất điện, và có thể được xóa và ghi
lại nhiều lần.

Bộ nhớ RAM: AT89C52 có 256 byte RAM dùng để lưu trữ dữ
liệu tạm thời trong quá trình thực thi chương trình. RAM bao gồm
các vùng nhớ đặc biệt như vùng nhớ dành cho các thanh ghi đa
năng (R0 - R7) và các cờ điều khiển.
32 đường I/O: AT89C52 có 32 chân I/O, cho phép nó tương tác
với các thiết bị ngoại vi như đèn LED, bàn phím, cảm biến hoặc
động cơ. Các chân I/O này được chia thành 4 cổng (P0, P1, P2,
P3), mỗi cổng có 8 chân.
Ba bộ đếm/Timer: Ba bộ đếm/timer 16-bit của AT89C52 giúp
thực hiện các phép đo thời gian chính xác, điều khiển tạo xung
hoặc đo khoảng thời gian giữa các sự kiện. Mỗi bộ đếm có thể hoạt
động ở các chế độ khác nhau như đếm lên, đếm xuống, hoặc chế độ
tạo xung.
Cổng nối tiếp UART: UART (Universal Asynchronous
Receiver/Transmitter) là cổng nối tiếp được sử dụng để truyền và
nhận dữ liệu nối tiếp. Nó giúp vi điều khiển giao tiếp với các thiết
bị ngoại vi khác như máy tính, module RF hoặc các vi điều khiển
khác.
Cổng ngắt (Interrupt): AT89C52 hỗ trợ 5 nguồn ngắt, giúp xử lý
các sự kiện ngoại vi mà không làm gián đoạn quá trình thực thi
chính của vi điều khiển.
Các cổng giao tiếp SPI và I2C: Đây là hai chuẩn giao tiếp ngoại
vi phổ biến. SPI và I2C cho phép kết nối với các thiết bị khác như
EEPROM, cảm biến và các module mở rộng.
Sơ đồ khối của AT89C52

Sơ đồ khối của AT89C52 bao gồm các thành phần chính như bộ xử lý
trung tâm (CPU), bộ nhớ flash, RAM, các cổng I/O, bộ đếm/timer và giao
tiếp nối tiếp. Các thành phần này được kết nối và điều khiển bởi các
thanh ghi điều khiển, giúp vi điều khiển hoạt động một cách linh hoạt
trong các ứng dụng thực tế.
1.3 Chức năng các cổng I/O và thanh ghi
Chức năng các cổng I/O:

Vi điều khiển AT89C52 có 32 chân xuất/nhập, được chia thành 4 cổng
chính:
Cổng P0 (P0.0 - P0.7): Là cổng đa chức năng, có thể được sử dụng
làm cổng I/O hoặc đường bus dữ liệu/địa chỉ trong chế độ truy cập
bộ nhớ ngoài. Khi sử dụng làm cổng I/O, P0 yêu cầu các điện trở
kéo lên bên ngoài. Trong chế độ truy cập bộ nhớ, P0 thực hiện
chức năng truyền dữ liệu và địa chỉ thấp.
Cổng P1 (P1.0 - P1.7): Cổng này là cổng I/O thông thường và
không yêu cầu điện trở kéo lên bên ngoài. P1 có thể được cấu hình
làm đầu vào hoặc đầu ra trong các ứng dụng điều khiển thiết bị
ngoại vi.
Cổng P2 (P2.0 - P2.7): Cổng P2 vừa có thể làm I/O thông thường,
vừa có thể làm đường bus địa chỉ cao trong chế độ truy cập bộ nhớ
ngoài. Điều này giúp mở rộng khả năng điều khiển và giao tiếp của
vi điều khiển với các thiết bị bên ngoài.
Cổng P3 (P3.0 - P3.7): Cổng P3 tích hợp nhiều chức năng đặc biệt
như điều khiển cổng nối tiếp, ngắt ngoài, và điều khiển bộ
đếm/timer. Các chân của P3 thường được sử dụng trong các ứng
dụng yêu cầu giao tiếp nối tiếp hoặc xử lý các sự kiện ngoại vi.
Chức năng các thanh ghi:
AT89C52 có nhiều thanh ghi quan trọng giúp điều khiển hoạt động của vi
điều khiển, bao gồm:
Thanh ghi A (Accumulator): Đây là thanh ghi chính dùng để lưu
trữ kết quả của các phép toán số học và logic. Thanh ghi A có vai
trò quan trọng trong các hoạt động của CPU.

Thanh ghi B: Được sử dụng kết hợp với thanh ghi A trong các
phép toán nhân và chia. Ví dụ, kết quả của phép nhân sẽ được lưu
trữ trong thanh ghi B và thanh ghi A.
Thanh ghi PSW (Program Status Word): Thanh ghi này lưu trữ
trạng thái của CPU và chứa các cờ trạng thái như carry (C),
auxiliary carry (AC), overflow (OV) và cờ số âm (P).
Thanh ghi DPTR (Data Pointer): Thanh ghi con trỏ dữ liệu này
được dùng để trỏ đến địa chỉ trong bộ nhớ ngoài. Nó bao gồm hai
thanh ghi 8-bit là DPL và DPH, tương ứng với phần thấp và phần
cao của địa chỉ.
Thanh ghi SBUF (Serial Buffer): Đây là thanh ghi dùng để lưu
trữ dữ liệu truyền và nhận qua cổng nối tiếp UART.
1.4 Ứng dụng của vi điều khiển AT89C52
Vi điều khiển AT89C52 có nhiều ứng dụng đa dạng trong các lĩnh vực
khác nhau nhờ tính linh hoạt và khả năng tích hợp nhiều chức năng. Một
số ứng dụng điển hình bao gồm:
Điều khiển thiết bị ngoại vi: Với 32 chân I/O và khả năng giao
tiếp nối tiếp, AT89C52 được sử dụng rộng rãi trong các hệ thống
điều khiển thiết bị ngoại vi như LED 7 thanh, động cơ, màn hình
LCD, và các cảm biến.
Hệ thống nhúng: AT89C52 là một phần không thể thiếu trong các
hệ thống nhúng như điều khiển tự động hóa, robot, và hệ thống
điều khiển công nghiệp. Với khả năng lập trình linh hoạt, vi điều

khiển này có thể thực hiện các tác vụ phức tạp như điều khiển động
cơ, xử lý tín hiệu từ cảm biến và giao tiếp với các thiết bị khác.
Hệ thống đo lường và giám sát: AT89C52 thường được sử dụng
trong các hệ thống đo lường như đồng hồ thời gian thực, hệ thống
giám sát nhiệt độ, độ ẩm, áp suất, và các hệ thống đo lường khác.
Khả năng xử lý tín hiệu và giao tiếp nối tiếp của nó giúp dễ dàng
kết nối với các thiết bị đo lường và cảm biến.
Ứng dụng giáo dục: Với kiến trúc đơn giản và khả năng lập trình
mạnh mẽ, AT89C52 là một trong những vi điều khiển phổ biến
trong các chương trình đào tạo về hệ thống nhúng, giúp sinh viên
hiểu rõ về cấu trúc và hoạt động của vi điều khiển.
Hệ thống giao tiếp: AT89C52 hỗ trợ các giao thức giao tiếp như
UART, SPI và I2C, cho phép nó trao đổi dữ liệu với nhiều thiết bị
khác nhau, bao gồm các module không dây, cảm biến, và các thiết
bị điều khiển khác.
CHUONG 2
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. 8 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 nguồ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.
Sơ đồ vị trí các led được trình bày như hình bên:

Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới
hạn dòng điện qua led nếu led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều
khiển led b. Tương tự với các chân và các led còn lại.
Tags