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.
là
hình
và
ngoài
trong
lý
và
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