1. Trang chủ >
  2. Thể loại khác >
  3. Tài liệu khác >

Chương II:Tổng quan về họ vi điều khiển 8051

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 (1.43 MB, 32 trang )


BTL VXL & VĐK



























GVHD: Ts. Phạm Văn Hùng



2. Sơ đồ cấu trúc chung của họ 8051

Interrupt control : Điều khiển ngắt.

Other registers : Các thanh ghi khác.

ROM : là loại bộ nhớ không mất dữ liệu khi mất nguồn cung cấp, được gọi là

nhớ chương trình bên trong .

RAM : là bộ nhớ dữ liệu bên trong có dung lượng 128Byte dùng để lưu trữ dữ

liệu như biến số, hằng số, bộ đệm truyền thông.

Timer 2, 1 , 0 : Bộ định thời 2 , 1 , 0

CPU : Đơn vị điều khiển trung tâm.

Oscillator : Mạch dao động.

Bus control: Điều khiển Bus

I/O ports: Các ports vào/ ra

Serial port: port nối tiếp

Address/data : địa chỉ/ dữ liệu.



Nhóm : 1



Page 8



BTL VXL & VĐK



GVHD: Ts. Phạm Văn Hùng



3. Sơ đồ chân của 8051



-



Chức năng :

- Chân 40 nối dương nguồn 5V

- Chân 20 nối đất (Mass,GND)

- Chân 29 (PSEN): là tín hiệu điều khiển xuất ra của 8051, nó cho phép chọn

bộ nhớ ngoài và được nối chung với chân OE (output) của EPROM ngoài để

cho phép đọc các byte của chương trình ( ở đây là đọc các lệnh- khác với đọc

dữ liệu).

- Chân 30 (ALE) là tín hiệu điều khiển xuất ra của 8051, nó cho phép kênh

Bus địa chỉ và Bus dữ liệu của Port 0.

- Chân 31 (EA) được đưa xuống thấp cho phép chọn bộ nhớ mã ngoài đối với

8051.

- P0 từ chân 39-> 32 tương ứng là các chân P0_0 -> P0_7

- P1 từ chân 1->8 tương ứng với các chân P1_0 -> P1_7

P2 từ chân 21->28 tương ứng là các chân P2_0->P2_7

P3 từ chân 10->17 tương ứng là các chân P3_0->P3_7

Riêng cổng 3 có 2 chức năng ở mỗi chân như trên hình vẽ :

P3.0 – RxD : chân nhận dữ liệu nối tiếp khi giao tiếp với RS232 (COM)

P3.1 – TxD : phân truyền dữ liệu nối tiếp khi giao tiếp RS232

P3.2 – INT0 : interupt 0, ngắt ngoài 0.

P3.3 – INT1 : interupt 1 ngắt ngoài 1.

P3.4 – T0 : Timer 0 đầu vào timer 0.

P3.5 – T1 : Timer 1 đầu vào timer 1.

P3.6 – WR : Điều khiển ghi dữ liệu

P3.7 – RD : Điều khiển đọc dữ liệu

Nhóm : 1



Page 9



BTL VXL & VĐK



GVHD: Ts. Phạm Văn Hùng



- Chân 18,19 nối với thạch anh tạo thành mạch dao động cho vi điều khiển, vi xử

lý.

- Tần số thạch anh thường dùng trong các ứng dụng là 12Mhz và 11.092MHz

(Giao tiếp với cổng COM), tần số tối đa là 24Mhz.







-



4. Cổng vào ra song song (I/O Port)

8051 có 4 cổng vào ra song song có tên lần lượt là P0, P1, P2, P3 tất cả các

cổng này đều là cổng ra vào 2 chiều 8 bit. Các bít của mỗi cổng là một chân trên

chíp như vậy mỗi cổng sẽ có 8 chân trên chíp. Hướng dữ liệu dùng cổng đó làm

cổng ra hay cổng vào là độc lập giữa các cổng và giữa các chân trong cùng 1

cổng.

Các chân P0 không có điện trở treo cao (pullup resistor) bên trong, mạch lái

tạo mức cao chi có khi sử dụng cổng này với tính năng là bus dồn kênh địa chỉ/

dữ liệu. Như vậy với chức năng ra thông thường, P0 là cổng ra open drain, với

chức năng vào, P0 là cổng cao trở. Nếu muốn sử dụng cổng P0 làm cổng vào /ra

thông dụng thì ta phải thêm trở tử 4K7 đến 10K. Các cổng P1, P2, P3 đều có

điện trở pullup bên trong, do đó có thể dùng với chức năng cổng vào/ra thông

thường mà không cần thêm điện trở bên ngoài.

Cổng truyền thông nối tiếp ( Serial Port) :

Cổng nối tiếp trong 8051 chủ yếu được dùng trong các ứng dụng có yêu cầu

truyền thông với máy tính, hoặc với 1 vi điều khiển khác. Liên quan đến cổng

nối tiếp chủ yếu có 2 thanh ghi : SCON và SBUF. Ngoài ra, một thanh ghi khác

là thanh ghi PCON (không đánh địa chỉ bít) có bít 7 tên là SMOD quy định tốc

độ truyền của cổng nối tiếp có gấp đôi lên (SMOD=1) hay không (SMOD=0).

Cổng có đặc điểm :

Truyền song công : có nghĩa là tại một thời điểm có thể vừa truyền vừa nhận dữ

liệu.

Phương thức truyền không đồng bộ: là dữ liệu được truyền đi theo từng kí tự.

Bộ đệm truyền nhận dữ liệu đều có tên là SBUF

SCON là thanh ghi bit được dùng để lập trình việc đóng khung dữ liệu, xác định

chế độ làm việc của cổng truyền thông nối tiếp.



Bảng dưới đây mô tả chi tiết các bit khác nhau của thanh ghi SCON :

Bit

Nhóm : 1



Tên



Địa chỉ



Chức năng

Page 10



BTL VXL & VĐK



7

6

5

4

3

2

1

0



SM0

SM1

SM2

REN

TB8

RB8

TI

RI



GVHD: Ts. Phạm Văn Hùng



9FH

9EH

9DH

9CH

9BH

9AH

99H

98H



Xác định chế độ cổng nối tiếp (bit 0)

Xác định chế độ cổng nối tiếp (bit 1)

Cho phép truyền thông đa xử lý

Bít cho phép nhận

Sử dụng trong chế độ 2 và 3

Sử dụng trong chế độ 2 và 3

Cờ truyền :nhận được sau khi truyền xong 1 byte

Cờ nhận: Nhận được sau khi nhận đủ 1 byte



Các chế độ làm việc của cổng truyền thông

SM0

0

0

1

1

II.



SM1

0

1

0

1



Chế độ

0

1

2

3



Khung dữ liệu

8-bit Shift Register

8-bit UART

9-bit UART

9-bit UART



Tốc độ Baud

Oscillator/12

Cài đặt bởi timer 1(*)

Oscillator/64(*)

Cài đặt bởi timer 1(*)



Giới thiêu về Vi điều khiển 89C52



AT 89C52 là họ vi xử lý do hãng Intel sản xuất. Các sản phẩm AT89C52

thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và các toán số

học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu

nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những tập lệnh

số học 8 bit gồm cả lệnh nhân và chia. Nó cung cấp những hỗ trợ mở rộng trên

chip dùng cho những biến 1 bit như là kiểu dữ liệu riêng biệt cho phép quản lý

và kiểm tra từng bit trực tiếp trong hệ thống điều khiển.

AT89C52 cung cấp những đặc tính chuẩn như : 4 Kbyte bộ nhớ chỉ đọc có thế

xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2

TIME/COUNTER 16 Bit, 5 vecto 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 AT89C52 được tóm tắt như sau :

• 4Kbyte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ

ghi/xóa

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

• 3 mức khóa bộ nhớ lập trình

• 2 bộ Timer/counter 16 bit

• 128 Byte RAM nội

Nhóm : 1



Page 11



BTL VXL & VĐK















GVHD: Ts. Phạm Văn Hùng



4 Port xuất /nhập I/O 8 bit.

Giao tiếp nối tiếp

64KB vùng nhớ mã ngoài

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

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



Chương III: LED BẢY THANH

1. Giới thiêu chung led 7 thanh

LED 7 thanh được dùng nhiều trong các mạch hiện thị thông báo, hiện thị

số, kí tự đơn giản... LED 7 được cấu tạo từ các LED đơn sắp xếp theo các thanh

nét để có thể biểu diễn các chữ số hoặc các kí tự đơn giản như từ số 0 đến 9 và

A đến F chả hạn. LED 7 thanh dùng để hiện số thì rất đẹp và dễ nhìn. Tùy vào

kích thước của số và kí tự mà mỗi thanh được cấu tạo bởi một hay nhiều LED

đơn. Các LED đơn đó được ghép và được đặt tên bằng các chữ cái a...g và có

một dấu chấm dot ( dấu chấm này có thể sáng và tắt tùy theo yêu cầu) được cấu

tạo bởi 1 LED đơn. Qua đó người ta chỉ cần 8 bit tương ứng với 8 LED đơn để

điều khiển được và hiện thị số từ 0 đến 9 và các kí tự từ A đến F.



Ở trên

dạng

LED7

thực tế

mạch

nguyên

cấu tạo.







hình







ngoài

trong











Cấu tạo của LED chúng ta

nhìn

trên rất đơn giản chúng chỉ gồm

các

LED đơn được xếp lại với nhau thành hình như trên hình vẽ. Các LED đơn

này chỉ chung nhau Anot hoặc Katot và riêng nhau các chân con lại Anot hặc

Katot. Nhiệm vụ của chúng ta là cho sáng các LED đơn đó để cho nó thành số

hay kí tự đơn giản.

Hiện nay LED 7 được sản xuất theo 2 kiểu là Anot chung và Katot chung

và được điều khiển làm việc tương tự như bơm dòng hay nuốt dòng của các

LED đơn có trong LED7 (Thường hay thiết kế theo kiểu bơm dòng cho

Nhóm : 1



Page 12



BTL VXL & VĐK



GVHD: Ts. Phạm Văn Hùng



LED). Thông thường trong các mạch thiết kế thực tế người thiết kế thường

hay sử dụng loại Anot chung. Phương pháp ghép nối là cấp dòng, đảo trạng

thái thông qua đệm và quét LED

2. Ghép nối led 7 thanh

Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có

thể điều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số và các ký

tự mong muốn.Các ICs điều khiển đều khó khả năng sinh dòng kém tức là

dòng đầu ra của các chân ICs nhỏ hơn khả năng nuốt dòng. Do vậy, nếu ghép

nối trực tiếp các net với các chân cổng IC thì loại Anode chung là thích hợp

hơn cả. Cần phải chú ý dòng dồn về ICs quá mức chịu được thì cũng không

được vì làm nóng và dei ICs điều khiển

* 2 cách ghép nối thường dùng:

+ Cách 1 : Dùng trực tiếp các chân điều khiển (vi xử lý)



Đối với cách này thì nhìn thì rất tốn chân của vi xử lý. Và dòng của LED sẽ

dồn tất cả về vi xử lý. Nếu một hệ thống lớn thì cách này không ổn vì ảnh

hưởng đến vi xử lý và nhiều dòng dồn về vi xử lý sẽ làm vi xử lý nóng và dẫn

tới chết ( chúng ta tưởng tượng xem nếu mà hệ thống nhiều phần điều khiển từ

các chân vi xử lý mà tất cả các tải điều khiển dồn trực tiếp dòng về vi xử lý thì

lúc đó dòng trong 1 thời điểm khá lớn vượt quá ngưỡng cho phép của vi xử lý.



Nhóm : 1



Page 13



BTL VXL & VĐK



GVHD: Ts. Phạm Văn Hùng



Dòng mà vi xử lý chịu đựng được cũng khá nhỏ đâu dưới 100mA ). Các

này chỉ dùng được hệ thống điều khiển ít, mạch dùng vi xử lý khá đơn giản

như hiện thị LED, đếm số từ 0 đến 9 ... chả hạn.

+ Cách 2 : Dùng IC giải mã BCD sang LED 7 thanh



Sử dụng IC giải mã 7447 để giả mã từ mã BCD sang mã LED7. Đối với

cách này thì trông rất ổn. Vừa tiếp kiệm được chân vi xử lý và tránh được dòng

dồn về vi xử lý (dòng ở đây được dồn về 7447). Đây là cách mà người thiết kế

thường dùng trong các hệ thống cần đến hiện thị.

Thông thường các thiết kế, LED 7 thanh được dùng để hiện thị các giá trị

các giá trị số từ 0 đến 9 và đôi khi cần phải hiện thị các kí tự đơn giản như A

đến F trong hệ thống để báo trạng thái của hệ thống. Các giá trị hiện thị bao

gồm nhiều chữ số tức là chúng ta phải dùng đến nhiều LED7 ghép lại thì mới

hiện thị được nhiều số. Ví dụ như muốn hiện thị số 123 chả hạn thì chúng ta

phải dùng đến 3 LED 7 thanh ghép lại.

Như vậy để ghép nhiều LED 7 thanh thay vì chung ta phải dùng 8 chân

riêng rẽ cho mỗi LED. Ví dụ để hiện thị được 3 chữ số lên LED 7 (123 chả hạn)

khi đó ta sẽ mất 3x8 = 24 chân dữ liệu điều khiển để hiện thị được 3 chữ số.

Như vậy sẽ rất tốn chân vi xử lý, do vậy người ta dùng chung các đường dữ liệu

cho các LED 7 thanh và thiết kế thêm các tín hiệu điều khiển cấp nguồn riêng

rẽ cho từng LED 7 một hay là cấp nguồn cho các chân Anot chung hay Katot

chung. Nhìn trên sơ đồ trên ta thấy được kiểu ghép nối giữa các LED. Các

đường dữ liệu vào của 3 LED được chung với nhau và các chân điều khiển

Nhóm : 1



Page 14



BTL VXL & VĐK



GVHD: Ts. Phạm Văn Hùng



nguồn cho các LED được riêng rẽ và được điều khiển bằng transitor ( khuếch

đại dòng). Như vậy đối với mạch trên chúng ta tiếp kiệm được nhiều chân vi xử

lý. Đối với mạch trên và cách ghép nối như trên thì mất tối đa chỉ có 11 chân vi

xử lý.



8 chân dữ liệu của LED 7 được chung nhau và chung được ghép nối qua

2 cách : Thứ nhất dùng vào trực tiếp các chân vi xử lý và thứ 2 là qua các IC

đệm hay IC giải mã...Nhưng trong thiết kế không mấy khi người ta cho trực tiếp

các chân dữ liệu đó vào trực tiếp vi xử lý mà người ta phải cho qua các IC đệm

hay giải mã đối với hệ thống lớn. Chỉ những mạch đơn giản người ta mới cho

vào trực tiếp vi xử lý.Thông thường người ta dùng thêm các IC đệm hay giải mã

như ULN2803, 74LS47

Đối với phương pháp ghép LED như thế này thì làm sao điều khiển được

hiện thị số 123 chả hạn. Nếu chúng ta mới nhìn thì sẽ thấy các LED 7 sẽ hiện thị

giống nhau vì chúng chung nhau đường dữ liệu. Nhưng không phải là vậy. Nếu

chung ta cho từng thời điểm từng LED sáng 1 thì chúng ta sẽ thấy khác đó. Số

123 sẽ được hiện thị lên 3 LED đó. Đó là thuật toán quét LED dựa vào hiện

tượng lưu ảnh trong mắt khi chúng ta quét với tần số lớn.

Như vậy đối với phương pháp này chúng ta tiếp kiệm được một số lượng

lớn chân vi xử lý và đồng thời tiếp kiệm được năng lượng tiêu thụ do phương

pháp quét LED trong thời gian ngắn. Khi đó tối đa trong 1 thời điểm có 1 LED

sáng toàn bộ thôi. Cần phải tính toán giá trị dòng vào cho LED sao cho LED

sáng đẹp bằng cách thêm bớt điện trở.

Nhóm : 1



Page 15



BTL VXL & VĐK



GVHD: Ts. Phạm Văn Hùng



PHẦN 2: NỘI DUNG THIẾT KẾ



1. Sơ đồ nguyên lý

Để thiết kế mạch ta sử dụng phần mềm mô phỏng Proteus có giao diện

như sau:



a. Khối đầu vào

-Nguồn xoay chiều:Trong thực tế nguồn xoáy chiều cần đo là nguồn điện dân

dụng có tần số 50Hz. Trong mô phỏng ta thay thế bằng các xung có tần số khác

nhau và sử dụng bộ chọn để chọn tín hiệu muốn đưa vào.



Nhóm : 1



Page 16



BTL VXL & VĐK



GVHD: Ts. Phạm Văn Hùng



b. Khối so sánh

Khối so sánh tạo xung vuông từ xung hình Sin . Linh kiện sử dụng là

LM393.



Hoạt động: Ngưỡng so sánh được đưa vào chân 3 (+) bằng 2 điện trở

phân áp sao cho giá trị đưa vào chân 3 dạt giá trị 5/2=2,5(V). Xung vào đưa đến

chân 2. Đầu ra sẽ cho giá trị 1 khi đầu vào nhỏ hơn 2,5V và ra mức 0 khi đầu

vào cao hơn 2,5V.

c. Khối phím nhấn

Phím nhấn là loại nút nhấn 4 chân như trong hình



Nhóm : 1



Page 17



Xem Thêm
Tải bản đầy đủ (.docx) (32 trang)

×