12/1/2023 BÁO CÁO TÌM HIỂU VỀ VI ĐIỀU KHIỂN Giáo viên hướng dẫn Thầy Bùi Đăng Thảnh Sinh viên thực hiện Phạm Hoàng Anh (20212396) Kiều Việt Anh (20212395) Nhóm 01 Lớp CTTT KT Điều khiển TĐH 01 k66 MỤC[.]
Trang 112/1/2023 BÁO CÁO TÌM HIỂU
VỀ VI ĐIỀU KHIỂN
Giáo viên hướng dẫn: Thầy Bùi Đăng Thảnh Sinh viên thực hiện: Phạm Hoàng Anh (20212396) Kiều Việt Anh (20212395) Nhóm: 01
Lớp: CTTT KT Điều khiển-TĐH 01-k66
Trang 2MỤC LỤC
1.Vi điều khiển là gì ? 3
2.Phân loại vi điều khiển 3
+)Phân loại theo độ dài thanh ghi 3
+)Phân loại theo kiến trúc CISC và RISC 3
+)Kiến trúc Harvard và kiến trúc Von-Neumann 4
3.Các họ vi điều khiển phổ biến 4
4.Cấu trúc tổng quan của vi điều khiển 6
5 Vi điều khiển 8051 6
5.2 Kiến trúc phần cứng của họ 8051 7
+)Kiến trúc cơ bản bên trong 8051 bao gồm các khối chức năng sau : 7
+) Sơ đồ chân của vi điều khiển 8051 8
5.3 Tổ chức bộ nhớ 8
+) Bộ nhớ chương trình 8
+) Bộ nhớ dữ liệu 8
5.4 Ứng dụng ví dụ 9
+)Mục đích 9
+)Sơ đồ mạch điện của ứng dụng 9
+)Chương trình điều khiển 10
5.5) Ứng dụng của vi điều khiển 8051 11
Trang 31.Vi điều khiển là gì ?
* Vi điều khiển là một máy tính được tích hợp trên một chip, nó thường được sử
dụng để điều khiển các thiết bị điện tử. Vi điều khiển, thực chất, là một hệ thống bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành thấp (khác với các bộ vi xử lý đa năng dùng trong máy tính) kết hợp với các khối ngoại vi như bộ nhớ, các module vào/ra, các module biến đổi số sang tương tự và tương tự sang số,…
Vi điều khiển thường được sử dụng để xây dựng các hệ thống nhúng. Nó cũng được
sử dụng trong các thiết bị điện, điện tử như máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện hay dây chuyền sản xuất tự động,…
2.Phân loại vi điều khiển
+)Phân loại theo độ dài thanh ghi
Dựa vào độ dài của các thanh ghi và các lệnh của VĐK mà người ta chia ra các loại
vi điều khiển 8 bit, 16 bit hay 32 bit …
Các loại VĐK 16 bit do có độ dài lệnh lớn hơn nên các tập lệnh cũng nhiều hơn, phong phú hơn. Tuy nhiên bất cứ chương trình nào viết băng VĐK 16 bit chúng ta đều có thể viết trên vi điều khiển 8 bit với chương trình thích hợp
+)Phân loại theo kiến trúc CISC và RISC
Vi điều khiển CISC là vi điều khiển có tập lệnh phức tạp. Các VĐK này có một số lượng lớn các lệnh nên giúp cho người lập trình có thể linh hoạt và dễ dàng hơn khi viết chương trình
Vi điều khiển RISC là vi điều khiển có tập lệnh đơn gian. Chúng có một số lượng nhỏ các lệnh đơn giản. Do đó, chúng đòi hỏi phần cứng ít hơn, giá thành thấp hơn,
và nhanh hơn so với CISC. Tuy nhiên nó đòi hỏi người lập trình phải viết các
chương trình phức tạp hơn, nhiều lệnh hơn
Trang 4+)Kiến trúc Harvard và kiến trúc Von-Neumann
Kiến trúc Harvard sử dụng bộ nhớ riêng biệt cho chương trình và dữ liệu. Bus địa chỉ và bus dữ liệu độc lập với nhau nên quá trình truyền nhận dữ liệu đơn giản hơn. Kiến trúc Von-Neumann sử dụng chung bộ nhớ cho chương trình và dữ liệu. Điều này làm cho VĐK gọn nhẹ hơn, giá thành rẻ hơn
3.Các họ vi điều khiển phổ biến
+)Họ vi điều khiển Atmel
-Dòng 8051 (8031, 8051, 8751, 8951, 8032, 8052, 8752, 8952)
-Dòng Atmel AT91 (Kiến trúc ARM THUMB)
-Dòng AT90, Tiny & Mega – AVR (Atmel Norway design)
-Dòng Atmel AT89 (Kiến trúc Intel 8051/MCS51)
-Dòng MARC4
+)Họ vi điều khiển STMicroelectronics
-ST 62
-ST7
-STM8
-STM32 (Cortex-Mx)
+)Họ vi điều khiển Microchip
Trang 5-PIC 16-bit (xử lý dữ liệu 16-bit)
-PIC điều khiển động cơ: dsPIC30F
-PIC có DSC: dsPIC33F
-PIC24F, PIC24E, PIC24H
-PIC 32-bit (xử lý dữ liệu 32-bit): PIC32MX
+)Các dòng vi điều khiển khác
Ngoài ra còn có các dòng ít gặp của các hãng khác như:
-Họ vi điều khiển Cypress MicroSystems
-Họ vi điều khiển AMCC (Applied Micro Circuits Corporation)
-Họ vi điều khiển Freescale Semiconductor
-Họ vi điều khiển Intel
-Họ vi điều khiển National Semiconductor
-Họ vi điều khiển Philips Semiconductors
4.Cấu trúc tổng quan của vi điều khiển
5 Vi điều khiển 8051
5.1 Tóm tắt về lịch sử của 8051
Vào năm 1981 Hãng Intel giới thiệu một số bộ vi điều khiển được gọi
là 8051 Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai
bộ định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt trên một chíp Lúc ấy nó được coi là một “hệ thống trên chíp” 8051 là một bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại
Trang 6một thời điểm Dữ liệu lớn hơn 8 bit được chia ra thành các dữ liệu 8 bit để
cho xử lý 8051 có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit (xem hình
1) Mặc dù 8051 có thể có một ROM trên chíp cực đại là 64 K byte, nhưng
các nhà sản xuất lúc đó đã cho xuất xưởng chỉ với 4K byte ROM trên chíp Điều này sẽ được bàn chi tiết hơn sau này.ha
8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng biến thế nào của 8051 mà họ thích với điều kiện họ phải để mã lại tương thích với 8051 Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau và dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các nhà sản xuất Điều này quan trọng là mặc dù có nhiều biến thể khác nhau của 8051 về tốc độ
và dung lương nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với
8051 ban đầu về các lệnh Điều này có nghĩa là nếu ta viết chương trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản bất
kỳ khác mà không phân biệt nó từ hãng sản xuất nào
5.2 Kiến trúc phần cứng của họ 8051
+)Kiến trúc cơ bản bên trong 8051 bao gồm các khối chức năng sau :
- CPU (Central Processing Unit): đơn vị điều khiển trung tâm
- Bộ nhớ chương trình ROM bao gồm 4 Kbyte
- Bộ nhớ dữ liệu RAM bao gồm 128 byte
- Bốn cổng xuất nhập
- Hai bộ định thời/bộ đếm 16 bit thực hiện chức năng định thời và đếm sự kiện
- Bộ giao diện nối tiếp (cổng nối tiếp)
- Khối điều khiển ngắt với hai nguồn ngắt ngoài
- Bộ chia tần số
Trang 7+) Sơ đồ chân của vi điều khiển 8051
5.3 Tổ chức bộ nhớ
Trên vi điều khiển 8051/8052 đều có cả bộ nhớ chương trình (ROM) và bộ nhớ dữ liệu (RAM). Tuy nhiên dung lượng của các bộ nhớ trên chip là hạn chế. Khi thiết kế các ứng dụng đòi hỏi bộ nhớ lớn người ta có thể dùng bộ nhớ ngoài
+) Bộ nhớ chương trình
Bộ nhớ chương trình là bộ nhớ chỉ đọc, là nơi lưu trữ chương trình của vi điều khiển. Bộ nhớ chương trình của họ 8051 có thể thuộc một trong các loại sau ROM, EPROM, FLASH hoặc không có bộ nhớ chương trình trên chip. Với họ vi điều khiển 89xx, bộ nhớ chương trình được tích hợp sẵn trong chip có kích thước nhỏ nhất là 4kByte. Với các vi điều khiển không tích hợp sẵn bộ nhớ chương trình trên chip, buộc phải thiết kế bộ nhớ chương trình bên ngoài.
Địa chỉ đầu tiên của bộ nhớ chương trình là 0000H, chính là địa chỉ reset của vi điều khiển. Ngay khi bật nguồn hoặc reset vi điều khiển, thì CPU sẽ nhảy đến thực hiện lệnh ở địa chỉ 0000H này
Khi sử dụng bộ nhớ trên chip thì chân EA phải được nối lên mức logic cao (+5V). Nếu bạn muốn mở rộng bộ nhớ chương trình thì chúng ta phải dùng bộ nhớ ngoài với dung lượng tối đa là 64Kbyte.
+) Bộ nhớ dữ liệu
Bộ nhớ dữ liệu tồn tại độc lập so với bộ nhớ chương trình. Họ vi điều khiển 8051 có
bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở rộng với bộ nhớ
dữ liệu ngoài lên tới 64kByte
Trang 85.4 Ứng dụng ví dụ
+)Mục đích
Điều khiển các led. Đi kèm theo sản phẩm mạch nạp KIT51x (KIT51A, KIT51B, KIT51D, KIT51F,KIT51C,KIT51Lp,KIT51Mp),KITSPIR,
+)Sơ đồ mạch điện của ứng dụng
Trang 9+)Chương trình điều khiển
#include<sfr51.inc>
Main segment code
public _main
cseg at 0000h
ljmp _main
end
rseg Main
;******************************************************** _main:
mov sp,#70h ;set stack pointer
mov r4,#11111110b
LoopMain:
lcall DriveLeds
lcall Delay
sjmp LoopMain
ret
;******************************************************** Delay:
mov r3,#0
LoopDelay2:
mov r2,#0
LoopDelay1:
Trang 10inc r2
cjne r2,#255,LoopDelay1
nop
inc r3
cjne r3,#255,LoopDelay2
nop
ret
;********************************************************
DriveLeds:
mov p1,r4
mov a,r4
rl a
mov r4,a
ret
;********************************************************
End
5.5) Ứng dụng của vi điều khiển 8051
-Quản lý năng lượng: Vi điều khiển 8051 được trang bị hệ thống đo lường hiệu quả và nó giúp vi điều khiển tiết kiệm năng lượng ở mức độ lớn
-Màn hình cảm ứng: những vi điều khiển hiện đại có tính năng màn hình cảm ứng và bộ vi điều khiển 8051 cũng đi kèm với tính năng màn hình cảm ứng Do đó nó có một ứng dụng rộng rãi trong điện thoại di động, máy nghe nhạc và game
Trang 11-Lĩnh vực ô tô: vi điều khiển 8051 có một ứng dụng rộng rãi trong lĩnh vực ô
tô và đặc biệt là trong quản lý xe hybrid Ngoài ra hệ thống kiểm soát hành trình và chống phanh là lĩnh vực khác mà nó có công dụng rất lớn