1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo đồ án đề tài mạch tạo số ngẫu nhiên sử dụng 8051 hiển thị trên lcd

33 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo Đồ Án Đề Tài: Mạch Tạo Số Ngẫu Nhiên Sử Dụng 8051 Hiển Thị Trên LCD
Tác giả Nguyễn Văn Ninh, Lê Minh Tuấn, Nguyễn Ngọc Huy
Người hướng dẫn Đặng Văn Hải
Trường học Học Viện Kỹ Thuật Mật Mã
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại báo cáo đồ án
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 33
Dung lượng 2,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đỉnh cao của việc sử dụng vi điều khiển là dùng trong người máy Robot và các thiết bị PLC để điều khiển logic chương trình hóa dây chuyền sản xuất tự động.. - Other registers: Các thanh

Trang 1

BAN CƠ YẾU CHÍNH PHỦ

Trang 2

MỤC LỤC

CHƯƠNG 1: TÌM HIỂU VỀ 8051 4

1.1 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 8051 4

1.1.1 Sơ lược về lịch sử 4

1.1.2 Cấu trúc vi điều khiển 8051 6

CHƯƠNG 2: TÌM HIỂU VỀ LCD 16X2 19

2.1 TỔNG QUAN VỀ LCD 19

2.1.1 Giới thiệu về LCD 19

2.1.2 Sơ đồ, chức năng, liên kết các chân của LCD 20

CHƯƠNG 3: THỰC HIỆN MÔ HÌNH ĐỒ ÁN 25

3.1 MẠCH NGUYÊN LÝ 25

3.2 MẠCH IN, 3D 25

3.3 CHƯƠNG TRÌNH CHÍNH 25

Kết luận 26

Trang 3

LỜI NÓI ĐẦU

Trong những thập niên cuối thế kỉ XX, từ sự ra đời của công nghệ bán dẫn, kĩ thuật điện tử đã có sự phát triển vượt bậc Các thiết bị điện tử sau đó đã được tích hợpvới mật độ cao và rất cao trong các diện tích nhỏ, nhờ vậy các thiết bị điện tử nhỏ hơn

và nhiều chức năng hơn Các thiết bị điện tử ngày càng nhiều chức năng trong khi giá thành ngày càng rẻ hơn, chính vì vậy điện tử có mặt khắp mọi nơi

Ngày nay, các bộ vi điều khiển có ứng dụng ngày càng rộng rãi và thâm nhập ngày càng nhiều trong các lĩnh vực kỹ thuật và đời sống xã hội Hầu hết các thiết bị

kỹ thuật từ phức tạp đến đơn giản như thiết bị điều khiển tự động, thiết bị văn phòng cho đến các thiết bị trong gia đình đều có dùng các bộ vi điều khiển Rất nhiều họ vi điều khiển của nhiều nhà chế tạo khác nhau lần lượt được đưa ra thị trường Để tăng tính năng điều khiển, các bộ vi điều khiển đã không ngừng được cải tiến, nâng cấp, chỉnh sửa và tối ưu để phù hợp với công nghệ phát triển hiện nay Đỉnh cao của việc

sử dụng vi điều khiển là dùng trong người máy (Robot) và các thiết bị PLC để điều khiển logic chương trình hóa dây chuyền sản xuất tự động Và một trong những họ vi điều khiển đang được ứng dụng rộng rãi ngày nay là họ vi điều khiển 8051

Họ vi điều khiển 8051 được ứng dụng trong thực tế rất phổ biến như ứng dụng

để điều khiển động cơ, điều khiển LED, điều khiển đèn giao thông, làm bộ đếm sản phẩm, …trong nhiều ứng dụng đó nhóm sinh viên chúng em đã tham gia vào thực hiện đề tài “MẠCH TẠO SỐ NGẪU NHIÊN SỬ DỤNG 8051 HIỂN THỊ TRÊN LCD” Trong quá trình thực hiện làm do chúng em chưa có kinh nghiệm nhiều nên còn thiếu sót mong thầy (cô) chỉ dạy chúng em thêm trong những lần tiếp theo để chúng em thực hiện đề tài thành công hơn

Chúng em xin chân thành cảm ơn!!!

NHÓM SINH VIÊN THỰC HIỆN ĐỒ ÁN

Trang 4

Bộ xử lý 8 bit: Ra đời năm 1972 có tên là Intel 8008 nó có tốc độ từ 200kHz đến

800kHz cao hơn phiên bản cũ

Vào năm 1981, Hãng Intel giới thiệu bộ vi điều khiển 8-bit được gọi là 8051 Vi điều khiển đã 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

Trang 5

Hình 1.2 Vi điều khiển 8051

Bộ xử lý 64 bit: Ra đời từ năm 2004 với nhiều phiên bản trong đó có các phiên bản

như: P4 Prescott (2004), Premium D (2005), Premium Extreme Edition (2005), kiến trúc Core I (2006 đến nay), Core 2 Duo, Core 2 Quad, Core 2 Extreme là đỉnh cao của

bộ vi xử lý năm 2007 có khả năng ép xung, QX9650

Hình 1.3 Chip Intel Core i Series 9 Gen th

Kể từ khi ra mắt năm 2006 dòng Core I này liên tục phát triển qua 8 thế hệ: Nehalem, Sandy Bridge, Ivy Bridge, Haswell, Broad Well, Skylake, Kabylake, Coffelake, Thế hệ mới nhất hiện nay là thế hệ thứ 10 Ice Lake

Ngày nay với những cái tên như Core i3, Core i5, Core i7, Core i9 ngày càngthông dụng Càng phiên bản mới hơn thì những công nghệ, tốc độ, tích hợp cao hơn mạnh mẽ hơn

Trang 6

Recommandé pour toi

Các tính năng của vi điều khiển 8051:

- Bộ nhớ chương trình bên trong: 4 KB (ROM)

- Bộ nhớ dữ liệu bên trong: 128 byte (RAM)

- Bộ nhớ chương trình bên ngoài: 64 KB (ROM)

- Bộ nhớ dữ liệu bên ngoài: 64 KB (RAM)

- 4 port xuất nhập (I/O port) 8-bit

- 2 bộ định thời 16-bit

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

- Mạch giao tiếp nối tiếp

- Bộ xử lý bit (thao tác trên các bit riêng lẻ)

- 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit

- Nhân / Chia trong 4 µs

- 32 thanh ghi đa dụng 8-bit

- Thanh ghi PC và DP 16-bit

- UART, ADC, …

Có hai bộ vi điều khiển thành viên khác của họ 8051 là 8052 và 8031

8052: vi điều khiển 8052 chứa tất cả đặc tính của 8051 nhưng nó bổ sung thêm 128byte RAM, 4Kb ROM và 1 bộ định thời nữa

8031: Không có sẵn ROM Để sử dụng, bạn phải tự thêm ROM cho 8031 Bên cạnh

đó, nó chỉ có 2 port 8-bit thay vì 4 port như 8051

1.1.2 Cấu trúc vi điều khiển 8051

1.1.2.1 Sơ đồ khối và chức năng của khối vi điều khiển 8051

6

Suite du document ci-dessous

Trang 7

Preparing Vocabulary FOR UNIT 6

10

Trang 8

Hình 1.4 Sơ đồ khối của vi điều khiển 8051

- CPU (Central Processing Unit): đơn vị xử lý trung tâm → tính toán và điều khiển

quá trình hoạt động của hệ thống

- OSC (Oscillator): Mạch dao động → tạo tín hiệu xung clock cung cấp cho các khối trong chip hoạt động

- Interrupt control: điều khiển ngắt → nhận tín hiệu ngắt từ bên ngoài (INT0\, INT1\),

từ bộ định thời (Timer 0, Timer 1) và từ cổng nối tiếp (Serial port), lần lượt đưa các tín hiệu ngắt này đến CPU để xử lý

- Other registers: Các thanh ghi khác → lưu trữ dữ liệu của các port xuất/nhập, trạng thái làm việc của các khối trong chip trong suốt quá trình hoạt động của hệ thống

- RAM (Random Access Memory): Bộ nhớ dữ liệu trong chip → lưu trữ các dữ liệu.

- ROM (Read Only Memory): Bộ nhớ chương trình trong chip → lưu trữ chương trình hoạt động của chip

- I/O ports (In/Out ports): Các port xuất/nhập → điều khiển việc xuất nhập dữ liệu dưới dạng song song giữa trong và ngoài chip thông qua các port P0, P1, P2, P3

- Serial port: Port nối tiếp → điều khiển việc xuất nhập dữ liệu dưới dạng nối tiếp giữa trong và ngoài chip thông qua các chân TxD, RxD

- Timer 0, Timer 1: Bộ định thời 0, 1 → dùng để định thời gian hoặc đếm sự kiện (đếm xung) thông qua các chân T0, T1

- Bus control: điều khiển bus → điều khiển hoạt động của hệ thống bus và việc di

Trang 9

chuyển thông tin trên hệ thống bus.

- Bus system: Hệ thống bus → liên kết các khối trong chip lại với nhau

1.1.2.2 Sơ đồ chân và các chức năng của vi điều khiển 8051

Hình 1.5 Sơ đồ chân 8051

Port 0:

- Port 0 (P0.0 – P0.7) có số chân từ 32 – 39

- Port 0 có hai chức năng:

• Port xuất nhập dữ liệu (P0.0 - P0.7) → không sử dụng bộ nhớ ngoài

• Bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) → có sử dụng bộ nhớ ngoài

- Ở chế độ mặc định (khi reset) thì các chân Port 0 (P0.0 - P0.7) được cấu hình là port xuất dữ liệu Muốn các chân Port 0 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao (mức 1) đến tất cả các bit của port trước khi bắt đầu nhập dữ liệu từ port

- Khi lập trình cho ROM trong chip thì Port 0 đóng vai trò là ngõ vào của dữ liệu (D0 – D7)

Port 1:

Trang 10

- Khi lập trình cho ROM trong chip thì Port 1 đóng vai trò là ngõ vào của địa chỉ byte thấp (A0 – A7).

Port 2:

- Port 2 (P2.0 – P2.7) có số chân từ 21 – 28

- Port 2 có hai chức năng:

• Port xuất nhập dữ liệu (P2.0 – P2.7) → không sử dụng bộ nhớ ngoài

• Bus địa chỉ byte cao (A8 – A15) → có sử dụng bộ nhớ ngoài

- Ở chế độ mặc định (khi reset) thì các chân Port 2 (P2.0 – P2.7) được cấu hình là portxuất dữ liệu Muốn các chân Port 2 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao (mức 1) đến tất cả các bit của port trước khi bắt đầu nhập dữ liệu từ port

- Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là ngõ vào của địa chỉ byte cao (A8 – A11) và các tín hiệu điều khiển

Port 3:

- Port 3 (P3.0 – P3.7) có số chân từ 10 – 17

- Port 3 có hai chức năng:

• Port xuất nhập dữ liệu (P3.0 – P3.7) → không sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt

• Các tín hiệu điều khiển → có sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt

- Ở chế độ mặc định (khi reset) thì các chân Port 3 (P3.0 – P3.7) được cấu hình là portxuất dữ liệu Muốn các chân Port 3 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao (mức 1) đến tất cả các bit của port trước khi bắt đầu nhập dữ liệu từ port

- Khi lập trình cho ROM trong chip thì Port 3 đóng vai trò là ngõ vào của các tín hiệu điều khiển

Trang 11

- Chức năng của các chân Port 3:

P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếpP3.1 TxD B1H Chân phát dữ liệu của port nối tiếp

Bảng 1.2 Chức năng của các chân Port 3

PSEN = 0 → trong thời gian CPU tìm - nạp lệnh từ ROM ngoài

PSEN = 1 → CPU sử dụng ROM trong (không sử dụng ROM ngoài)

- Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN thường được nối với chân OE của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài

Trang 12

EA = 0 → Chip 8051 sử dụng chương trình của ROM ngoài

EA = 1 → Chip 8051 sử dụng chương trình của ROM trong

- Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào của điện áp lập trình (Vpp = 12V – 12,5V cho họ 89xx; 21V cho họ 80xx, 87xx)

• XTAL1 → ngõ vào mạch tạo xung clock trong chip

• XTAL2 → ngõ ra mạch tạo xung clock trong chip

RST = 0 → Chip 8051 hoạt động bình thường

RST = 1 → Chip 8051 được thiết lặp lại trạng thái ban đầu

Trang 13

riêng cho chương trình và dữ liệu, cả hai bộ nhớ chương trình và dữ liệu đều đặt trongchip, tuy nhiên ta có thể mở rộng bộ nhớ chương trình và bộ nhớ dữ liệu bằng cách sửdụng các chip nhớ bên ngoài với dung lượng tối đa là 64K.

- Bộ vi xử lý → có không gian bộ nhớ chung cho dữ liệu và chương trình

- Bộ vi điều khiển → có không gian bộ nhớ riêng cho dữ liệu và chương trình

→ chương trình và dữ liệu nằm riêng trên ROM và RAM trước khi đưa vào CPU để thực thi

- Tổ chức bộ nhớ của chip 8051:

→→ chương trình và dữ liệu nằm chung trên RAM trước khi đưa vào CPU để thực thi

Trang 14

Hình 1.6 Không gian bộ nhớ của vi điều khiển 8051

Bộ nhớ nội trong chip bao gồm ROM và RAM RAM trên chip bao gồm vùng RAM đa chức năng (general purpose RAM: 30H-7FH ) , vùng RAM với từng bit được định địa chỉ (bit address locations gọi tắt là vùng RAM định địa chỉ bit: 20H-2FH ) , các dãy thanh ghi ( bank : 00H-1FH) và các thanh ghi chức năng đặc biệt SFR(spectial function register : 80H-FFH )

8051 chứa 210 vị trí bit được định địa chỉ trong đó 128-bit chứa trong các byte

ở địa chỉ từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa trong các thanh ghi đặc biệt Ngoài ra 8051 còn có các port xuất/nhập có thể định địa chỉ từng bit, điều này làm đơn giản việc giao tiếp bằng phần mềm với các thiết bị xuất/nhập đơn bit

Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H đến 7FH, bên dưới vùng này từ địa chỉ 00H đến 2FH là vùng nhớ có thể được sử dụng tương tự Bất kỳ

vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp Bất kỳ vị trí nhớ nào trongvùng RAM đa mục đích đều có thể được truy xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp

Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram nội từ địa chỉ 80H đến FFH Cần lưu ý là không phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ có 21 địa chỉ được định nghĩa

Trang 15

Hình 1.7 128 byte cao của bộ nhớ dữ liệu

Các dãy thanh ghi:

32 vị trí thấp nhất của bộ nhớ nội chứa các dãy thanh ghi Các lệnh của 8051 hỗtrợ 8 thanh ghi từ R0 – R7 thuộc dãy 0 (bank 0) Đây là dãy mặc định sau khi reset hệ thống Các thanh ghi này ở các địa chỉ từ 00H – 07H

Các lệnh sử dụng các thanh ghi từ R0 – R7 là các lệnh ngắn và thực hiện nhanh hơn

so với các lệnh tương đương sử dụng kiểu định địa chỉ trực tiếp Các giá trị thường được sử dụng nên chứa ở một trong các thanh ghi này Dãy thanh ghi đang được sử dụng được gọi là dãy thanh ghi tích cực Dãy thanh ghi tích cực có thể được thay đổi bằng cách thay đổi các bit chọn dãy trong thanh ghi PSW

1.1.2.4 Các thanh ghi đặc biệt

8051 có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram nội từ địa chỉ 80H đến FFH Cần lưu ý là không phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ có 21 địa chỉ được định nghĩa Hình 4 mô tả các thanh ghi đặc biệt trong vùng nhớ dữ liệu 80H đến FFH và giá trị của chúng sau khi Reset

Trang 16

Hình 1.9 Các thanh ghi đặc biệt

Lệnh chia DIV AB chia A bởi B, thương số cất trong thanh chứa A và dư số cấttrong thanh ghi B Thanh ghi B còn được xử lý như một thanh ghi nháp Các bit được định địa chỉ của thanh ghi B có địa chỉ từ F0H đến F7H

Thanh ghi trạng thái chương trình (PSW):

Thanh ghi trạng thái chương trình PSW (địa chỉ: D0H) là thanh ghi mô tả toàn bộ trạng thái chương trình đang hoạt động của hệ thống Bảng 2 Bảng 3 sẽ mô tả

Trang 17

thanh ghi này.

Bảng 1.3 Thanh ghi trạng thái chương trình PSW

PSW.7 CY D7H Cờ nhớ (Carry Flag): được Set nếu có Bit

nhớ từ Bit 7 trong phép cộng hoặc có Bit mượn cho Bit 7 trong phép trừ

PSW.6 AC D6H Cờ nhớ phụ: được Set trong phép cộng

nếu có Bit nhớ từ Bit 3 sang Bit 4 hoặckết quả trong 4 Bit thấp nằm trong khoảng 0AH->0FH

PSW.4 RS1 D4H Chọn dãy thanh ghi (Bit 1)

PSW.3 RS0 D3H Chọn dãy thanh ghi (Bit 0)

00=Bank 0: Địa chỉ 00H->07H01=Bank 1: Địa chỉ 08H->0FH10=Bank 2: Địa chỉ 10H->17H11=Bank 3: Địa chỉ 18H->1FH

PSW.2 OV D2H Cờ tràn (Overflow Flag): được Set khi

phép toán có dấu có kết quả > +127 hoặc

< -128

PSW.0 P D0H Cờ kiểm tra chẵn lẻ: được Set hoặc

Clear bởi phần cứng sau mỗi 1 chu kỳ lệnh, để chỉ ra rằng có 1 số chẵn hoặc số

lẻ Bit 1 trong thanh chứa

Bảng 1.4 Chi tiết các bit trong thanh ghi PSW

Thanh ghi ngăn xếp (Stack Pointer):

Con trỏ stack SP (stack pointer) là 1 thanh ghi 8 bit ở địa chỉ 81H SP chứa địa chỉ của dữ liệu hiện đang ở đỉnh của stack Các lệnh liên quan đến satck bao gồm lệnh

Trang 18

cất dữ liệu vào stack và lệnh lấy dữ liệu ra khỏi stack Việc cất vào stack làm tăng SP trước khi ghi dữ liệu và việc lấy dữ liệu ra khỏi stack sẽ giảm SP Vùng stack của

8051 được giữ trong RAM nội và được giới hạn đến các địa chỉ truy xuất được bởi kiểu định địa chỉ gián tiếp Các lệnh PUSH và POP sẽ cất dữ liệu vào stack và lấy dữ liệu từ stack, các lệnh gọi chương trình con (ACALL, LCALL) và lệnh trở về (RET, RETI) cũng cất và phục hồi nội dung của bộ đếm chương trình PC (Program counter)

Con trỏ dữ liệu DPTR:

Con trỏ dữ liệu DPTR (data pointer) được dùng để truy xuất bộ nhớ chương trình ngoài hoặc bộ nhớ dữ liệu ngoài DPTR là một thanh ghi 16 bit có địa chỉ là 82H(DPL, byte thấp) và 83H (DPH, byte cao)

Thanh ghi các cổng P0-P3:

Các port xuất/nhập của 8051 bao gồm Port 0 tại địa chỉ 80H, Port 1 tại địa chỉ 90H, Port 2 tại địa chỉ A0H và Port 3 tại địa chỉ B0H Tất cả các port đều được định địa chỉ từng bit nhằm cung cấp các khả năng giao tiếp mạnh

Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer):

Bộ đệm truyền thông được chia thành hai bộ đệm, bộ đệm truyền dữ liệu và bộ đệm nhận dữ liệu Khi dữ liệu được chuyển vào thanh ghi SBUF, dữ liệu sẽ được chuyển vào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho đến khi quá trình truyền dữ liệu qua truyền thông nối tiếp kết thúc Khi thực hiện việc chuyển dữ liệu từSBUF ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu của truyền thông nối tiếp

Thanh ghi của bộ định thời/bộ đếm:

8051 có 2 bộ đếm/định thời (counter/timer) 16 bit để định các khoảng thời gian hoặc để đếm các sự kiện Các cặp thanh ghi (TH0, TL0) và (TH1, TL1) là các thanh ghi của bộ đếm thời gian Bộ định thời 0 có địa chỉ 8AH (TL0, byte thấp) và 8CH (TH0, byte cao) Bộ định thời 1 có địa chỉ 8BH (TL1, byte thấp) và 8DH (TH1, byte cao) Hoạt động của bộ định thời được thiết lập bởi thanh ghi chế độ định thời TMOD(Timer Mode Register) ở địa chỉ 88H Chỉ có TCON được định địa chỉ từng bit

Các thanh ghi ngắt:

8051 có một cấu trúc ngắt với hai mức ưu tiên và năm nguyên nhân ngắt Các

ngắt bị vô hiệu hóa sau khi reset hệ thống và sau đó được cho phép ngắt bằng cách ghi

Ngày đăng: 23/05/2023, 15:06

🧩 Sản phẩm bạn có thể quan tâm

w