You are on page 1of 28

Trường Đại Học Công Nghiệp Hà Nội

LỜI NÓI ĐẦU

Bước sang thế kỷ XXI thế giới và Việt Nam đều khẳng định có 4
lĩnh vực khoa học được gọi là lĩnh vực công nghệ cao đó là :Công nghệ
điện tử,Công nghệ vật liệu mới ,công nghệ sinh học và công nghệ năng
lượng mới. Ngành công nghệ điện tử ở đây thực chất được hiểu bao gồm
công nghệ NANO ,kỹ thuật điện tử ,kỹ thuật máy tính ,điện tử viễn thông
và điều khiển tự động.Một trong những yếu tố tạo ra những tiền đề đó là
ngành Công nghệ kỹ thuật Điện tử _Tự động hoá . Việc áp dụng hợp lý
các thành tựu của điều khiển tự động và máy tính vào sản xuất sẽ mang
lại lợi ích to lón về nhiều mặt.

I: Đặt vấn đề

Ngày nay kỹ thuật vi diều khiển đã trở nên quen thuộc trong nganh
kỹ thuật và trong dân dụng .từ các dây truyền sản xuất lớn tới các thiết bị
dân dụng .chung ta đều thấy có mặt của vi điều khiển .các bộ vi điều
khiển có khả năng sử lý nhiều hoạt động phức tạp mà chỉ cần 1 con chip
vi mạch nhỏ ,nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những
mạch điện nhỏ gọn ,dễ thao tác sử dụng .

Vi điều khiển không những góp phần vào kỹ thuật điều khiển mà
còn góp phần to lớn vào việc phát triển thông tin .Đó chính là sự ra đời
của hàng loạt các thiết bị tối tân trong ngành điện tử viễn thông ,truyền
hình ,đặc biệt là sự ra đời của mạng internet siêu xa lộ thông tin .góp
phấn đưa con người tới đỉnh cao của nền văn minh nhân loại.

Chính các lý do trên ,việc tìm hiểu vi điều khiển là điều kiện mà các
sinh viên các ngành đặc biệt là ngành điện_điện tử phải hết sức quan
tâm .Đó chính là một nhu cầu cấp bách và cần thiết với mỗi sinh viên .đề
tài được thực hiện chính là đáp ứng nhu cầu đó.

Lớp Điện Tử 4_K10 -1– SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Các bộ vi điều khiển sử dụng các vi điều khiển tuy đơn giản nhưng
vận hành và sử dụng được là một điều rât phức tạp .Phần công việc sử lý
chính vẫn phụ thuocj vào con người đó chính là chương trính hay phần
mềm.Tuy chúng ta thấy các máy tinh cực kỳ thông minh giải quyết các
bài toán phức tạp trong vài phần triệu giây nhưng đó cũng là dựa trên
những sự hiểu biết của con người .Nếu không có sự tham gia của con
người thì hệ thống vi điều khiển cũng chỉ là một vật vô tri.đo vậy khi nói
đến vi điều khiển cũng giống như máy tính bao gôm hai phần là phần
cứng và phần mềm.

Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công
nghệ bán dẫn đã tiến triển rất nhanh từ bộ vi điều khiển 4 bit đơn giản đến
bộ vi điều khiển 32 bit.Với công nghệ tiên tiens ngày nay máy tính có thể
đi đến viêc suy nghĩ tri thức các thông tin đưa vào đó là các máy tính
thuộc thế hệ trí tuệ nhân tạo.

Để tài tìm hiểu vi điều khiển một cách thực tế và tích lũy thêm kinh
nghiệm ,ngay khi đang là sinh viên ,việc làm đồ án là vô cùng cần thiết
Sau đây chúng ta tìm hiểu về đề tài “ ĐO VẬN TỐC TRUNG BÌNH
CỦA MỘT VẬT CHUYỂN ĐỘNG TỊNH TIẾN HIỂN THỊ TRÊN LCD
“ .Đây là một cách hiển thị khá phổ biến hiện nay.

II: Mục đích yêu cầu của đề tài.


Lớp Điện Tử 4_K10 -2– SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Đề tài “ ĐO VẬN TỐC TRUNG BÌNH CỦA MỘT VẬT CHUYỂN


ĐỘNG TỊNH TIẾN HIỂN THỊ TRÊN LCD”

Hệ thống sử dụng 2 cảm biến phát hiện vật đặt tại 2 vị trí khác nhau trên
hướng chuyển động của vật.

III :Cơ sở lý luận:

Dựa trên cơ sở của các đề tài vi điều khiển ,đặc biệt là các tính năng
của chúng cũng như các họ IC giao tiếp ,hiển thị và giải mã …. Nhằm
thiết kế môt hệ thống vi điều khiển góp phần làm phong phú cho việc
hiểu biết về lĩnh vực này đồng thời có thể mở rộng và định hướng về sau .

Đề tài này được thực hiện chủ yếu dựa trên kiến thức về vi điều khiển
,các phương pháp truyền dữ liệu ,tìm hiểu vè các IC được dung .
Các linh kiện được dùng trong đề tài bao gôm:
• Vi điều khiển IC AT89S52
• LCD 16*2
• IC LM358
• Cảm biến(octo)

VI: Giới hạn của đề tài:


Do thời gian nghiên cứu và thực hiện có hạn mặc dù đã nỗ lực nên
đồ án không tránh khỏi những thiếu sót. Vì thế,nhóm chúng tôi rất mong
nhận được những đóng góp từ thầy cô và các bạn để đề tài hoàn thiện
hơn.

Xin chân thành cảm ơn !!!


Hà Nội,ngày 1 tháng 1 năm 2011

Nhóm SVTH :Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng

GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU


KHIỂN
Lớp Điện Tử 4_K10 -3– SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Bộ vi điều khiển viết tên tiếng anh là Micro- Controller là mạch tích hợp
trên 1 chip có thể lập trình được ,dung để điều khiển hoạt đọng của một
hệ thống .Theo các tập lệnh của người lập trình .Bộ vi điều khiển tiến
hành đọc ,lưu chữ thông tin ,đo thời gian và tiến hành đóng mở một co
cấu nào đó

Trong các thiết bị điện và điện tử dân dụng các bộ vi điều khiển ,điều
khiển hoạt động của TV,máy giặt,đầu loicj lazer ,điện thoại,lò vi song…..
Trong hệ thống sản xuất tự động ,bộ vi điều khiển được sủ dụng trong
robot ,dây truyền tự động ,các hệ thống càng thông minh thi vai trò của vi
điều khiển càng quan trọng .

Vi điều khiển 8051 được Intel cho ra đời vào năm 1980 thuộc vi điều
khiển đầu tiên của họ MCS-51. Hiện tại rất nhiều nhà sản xuất như
Siemens, Advanced Micro Devices, Fusisu và Philips tập trung phát triển
các sản phẩm trên cơ sở 8051.

hgAtmel là hãng đã cho ra đời các chip 89C51, 52, 55 và sau đó cải tiến
thêm, hãng cho ra đời 89S51, 52, 89S8252…

Hiện nay các bộ vi điều khiển 8 bit đứng đầu là họ 8051 có số lượng
lớn nhất các nhà cung cấp đa dạng .8051 là một bộ vi sử lý 8 bit có nghĩa
la CPU chỉ co thể làm việc với 8 bit dữ liệu tại mộ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 sử lý. 8051 có tất cả
4 cổng vào – ra I/O mỗi cổng rộng 8 bit .Các nhà sản xuất đã cho xuất
xưởng chỉ với 4K byte ROM trên chip.

Đặc tính Số lượng


Rom 4K byte
Ram 128 byte
Bộ định thời 2
Chân vào/ra 32
Cổng nối tiếp 1
Nguồn ngắt 6

Bảng đặc tính của 8051 đầu tiên

I:Sơ đồ khối và chức năng các khối của 8051/8052/AT89S52

Lớp Điện Tử 4_K10 -4– SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Sơ đồ khối của bộ vi điều khiển AT89S52

II:Bộ vi điều khiển AT89S52 gồm các khối chức năng là :

Lớp Điện Tử 4_K10 -5– SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

1. CPU(Centralprocessing unit):
• Thanh ghi tích lũy A
• Thanh ghi tích lũy phụ B
• Đơn vị logic học(ALU:Arithmetic logical unit)
• Thanh ghi từ trạng thái chương trình(PSW :Program status
word)
• Bốn băng thanh ghi
• Con trỏ ngăn xếp
2. Bộ nhớ chương trình:( bộ nhớ ROM ) gồm 8 Kbyte flash
3. Bộ nhớ giữ liệu:( bộ nhớ RAM ) gồm 256 byte
4. Bộ UART: có chức năng truyền nhận nối tiếp,AT89S52 có
thể giao tiếp với cổng nối tiếp với máy tính thông qua bộ
UART.
5. 3 bộ timer/counter: 26 bit thực hiện chức năng định thời và
đếm sự kiện.
6. WDM ( Wath Dog Timer ): để phục hồi lại hoạt động của
CPU khi nó bi treo.

Thanh ghi WDTPRG

7 6 5 4 3 2 1 0
- - - - - S2 S1 S0
Tùy theo các giá trị khác nhau được ghi vào SO,S1,S2 sẽ có số chu kỳ
máy mà WDT sẽ đếm trong bảng sau
S2 S1 S0 Machine Cyle Count
14
0 0 0 2
0 0 1 215
0 1 0 216
0 1 1 217
1 0 0 218
1 0 1 219
1 1 0 220
1 1 1 221

SƠ LƯỢC VỀ CÁC LINH KIỆN


Lớp Điện Tử 4_K10 -6– SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

I: Sơ đồ chân,chức năng các chân của AT89S52.

Sơ đồ chân IC AT89S52

II: Chức năng của các chân của


1. Port 0 (P0.0 - P0.7)
Port 0: gồm 8 chân (chân 39-32) ngoài chức năng xuất nhập port
còn là bus dữ liệu và địa chỉ (AD0-AD7), chức năng này sẽ được
sử dụng khi 8051 giao tiếp với các thiết bị ngoài có kieents trúc bus
như là các vi mạch nhớ ,mạch PIO …..
2. Port 1 (P1.0 - P1.7)
Port 1 (chân 1 – 8) có chức năng xuất nhập theo bit và theo
byte .Đối với dòng 89Sxx ba chân P1.5,P1.6,P1.7 dduocj dung để
nạp ROM theo chuẩn ISP ,2 chân P1.0 và P1.1 được dùng cho bộ
timer 2.

3. Port 2 (P2.0 – P2.7)


Port 2( chân 21-28)là cổng vào/ra là còn byte cao của Bus địa chỉ
khi sử dụng bộ nhớ ngoài
4. Port 3 (P3.0_P3.7)
Lớp Điện Tử 4_K10 -7– SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

P ort 3(chân 10 – 17) mỗi chân trên port3 ngoài chức năng nhập
còn
có chức năng riêng:

5. Chân /PSEN( program Store Enable):


/PSEN Là chân điều khiển đọc chương trình ở bộ nhớ ngoài nó
được nối với chân /OE để cho phép đọc các byte mã lệnh trên
ROM ngoài
/PSEN sẽ ở mức thấp trong thời gian đọc mã lệnh ,mã lệnh được
đọc từ bộ nhớ ngoài qua Bus dũ liệu (port 0) thanh ghi lệnh để
được giải mã khi thực hiệm chương trình trong ROM nội thì
/PSEN ở mức cao.
6. Chân ALE ( Address Latch Enable):
ALE là tín hiệu điều khiển chốt địa có tần số bằng 1/6 tần số dao
động của vi điều khiển
7. Chân /EA: (External Access )
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong
hay ngoài vi điều khiển . nếu /EN ở mức cao thì vi điều khiển thi
hành chương trình trong ROM nội. nếu /EA ở mức thấp thì vi điều
khiển thi hành chương trình từ bộ nhớ ngoài,
8. RST( Reset );
Ngõ vào RST trên chân 9 là ngõ reset của 8051.khi tín hiệu này
được đưa lên mức cao ,các thanh ghi trong bộ vi điều khiển được
tải những giá trị thích hợp để khởi động hệ thống

9. XTAL1,XTAL2

Lớp Điện Tử 4_K10 -8– SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

AT89S52 có một bộ dao động trên chip,nó thường được gắn với bộ
dao động thạch anh có tần số lớn nhất là 33MHz ,thông thường là
12MHz
10.VCC,GND
AT89S52 dùng nguồn 1 chiều có dải điện áp từ 4V đến 5.5V được
cấp qua chân 40 và 20.

III: Tổ chức bộ nhớ


AT89S52 có bộ nhớ theo cấu trúc Harvard có những vùng chia bộ
nhớ riêng biệt cho chương trình và dữ liệu:
1. Bộ nhớ chương trình
AT89S52 có 8 Kbyte flash ROM trên chip ,khi chân /EA
được đặt ở mức logic cao bộ vi điều khiển sẽ thực hiện
chương trình trong bộ nhớ mày bắt dầu từ địa chỉ
0000H.số lần lập trình cho bộ nhớ này là khoảng 1000
lần.còn nếu chân /EA đặt ở mức thấp thì thực hiện
chương trình ở bộ nhớ chương trình ngoài (EPPOM ngoài
)
2. Bộ nhớ dữ liệu
AT89S52 có 256 byte RAM nội được chia làm thành
• Các bank thanh ghicos địa chỉ từ 00H đến 1FH
• RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến
2FH
• RAM đa dụng từ 30H đến FFH
• Các thanh ghi chức năng đặc biệt từ 80H đến
FFH
IV: Các thanh ghi chức năng
1, Từ trạng thái chương trình(PSW: Program Status Word )

Bit Ký hiệu Địa chỉ Mô tả


PSW.7 CY D7H Cary Flag
PSW.6 AC D6H Auxiliary Cary Flag
PSW.5 FO D5H Flag o
PSW.4 RS1 D4H Register Bank Select 1
PSW.3 RS0 D3H Register Bank Select 0
PSW.2 OV D2H Overlow Flag
PSW.1 - D1H Reserved
PSW.0 P D0H Even Parity Flag

• Cờ nhớ CY:( Cary Flag )


Lớp Điện Tử 4_K10 -9– SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

• Cờ nhớ phụ AC: (Auxiliary Cary Flag )


• Cờ 0 : (Flag o )
• Bit chọn Bank thanh ghi truy xuất RS0,RS1
• Cờ tràn OV : (Overlow Flag )
• Bit Parity : ( P)
2, Thanh ghi B
Ở địa chỉ F0H được dùng cùng thanh ghi A trong các phép toán nhân
.cũng có thể dùng như một thanh ghi trung gian,thanh ghi này được
định địa chỉ theo bit từ F0H đến F7H
3, Con trỏ ngăn xếp SP(Stack Pointer)
Là 1 thanh ghi 8 bit ở địa chỉ 81H để chứa địa chỉ của đỉnh ngăn xếp
4, Con trỏ dữ liệu DPTR( Data pointer )
Dùng để truy xuất bộ nhớ ngoài
5, Thanh ghi của các công ( port register )
• Port 0 ở địa chỉ 80H
• Port 1 ở địa chỉ 90 H
• Port 2 ở địa chỉ A0H
• Port 3 ở địa chỉ B0H
Các thanh ghi của các Port này đều có thể truy xuất theo Bit và theo
Byte
6, Thanh ghi của các bộ định thời( Timer Register )
Chứa 3 bộ đếm định thời (Timer/counter) 16 Bit được dùng cho việc
định
thời hoặc đếm sự kiện
7, Thanh ghi của cổng nối tiếp (Serial port Register)
At89S52 chứa 1 port nối tiếp phục vụ cho việc trao đổi thông tin
với các thiết bị có khả năng giao tiếp nối tiếp
8, Thanh ghi ngắt ( interrupt register)
AT89s52 có 6 nguồn ngắt ,2 mức ưu tiên
9, Thanh ghi điều khiển nguồn PCON (power Control Register)
PCOM gồm 8 bit nằm ở địa chỉ 87H,thanh ghi nay không được định địa
chỉ theo bit.ý nghĩa của từ bit như sau:
Bit Bit tăng tốc độ Bank ở mode1,2,3 của cổng nối tiếp
7(SMOD)
Bit 6,5,4 Không sử dụng
Bit 3(GF1) Bit cờ đa năng 1
Bit 2(GF0) Bit cờ đa năng 2
Bit 1(PD) Bit khởi tạo hế độ Power Down
BiT 0(IDL) Bit khởi tạo chế độ IDLE

Lớp Điện Tử 4_K10 - 10 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

V: Mạch tạo dao động và Reset


1, Mạch tạo dao động:

1 8 X T A L 2

1 9
X T A L 1

AT89S52 có một bộ chia tần số bên trong chip,bộ này sẽ cung cấp
xung clock cho các khối trên chip từ nguồn dao động bên ngoài qua 2
chân XTAL 1 và XTAL 2
Hoạt động ở 2 chế độ:
• Chế độ X1: (chế độ mặc định)
• Chế độ X2:

Sử dụng nguồn tạo dao động bên ngoài

Lớp Điện Tử 4_K10 - 11 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

2,Mach RESET

V C C

+ C 3
1 0 u F

9 S W 1
R S T

1 0 k

Có 4 cách Reset AT89S52 là :


1. Reset khi cấp nguồn
2. Reset bởi WDT
3. Reset bằng phần mền
4. Reset bằng mạch ngoài qua chân RST
Chân Reset là chân 9 của AT89S52
AT89S52 có ngõ vào RST tác động ở mức cao trong khoảng thời gian 2
chu kỳ sau đó xuống mức thấp để nó bắt đầu làm việc .RST có thể được
kích bằng tay bởi một nút nhấn thông thường

Lớp Điện Tử 4_K10 - 12 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Hoạt động định thời của AT89S52

Các bộ định thời (Timer) được sử dụng rộng dãi trong các ứng dụng đo
lường và điều khiển .vi điều khiển AT89S52 có 3 bộ định thời 16 Bit
trong đó 2 bộ timer 0 và 1 có 4 chế độ hoạt động ,timer 2 có 3 chế độ hoạt
động,các bộ định thời dùng để định khoảng thời gian ( hẹn giờ ) đếm sự
kiện sảy ra bên ngoài bộ vi điều khiển hoặc tốc độ Baud cho cổng nối tiếp
của vi điều khiển.
I : Các thanh ghi của bộ định thời:
1,Các thanh ghi của Timer 0 và Timer 1
Thanh ghi chế độ định thời (TMOD)
Thanh ghi TMOD chứa 2 nhóm 4 bit dùng để đặt chế độ làm việc cho
Time 0 và Timer 1

7 6 5 4 3 2 1 0
GATE1 C/#T1 M1 M0 GATE0 C/#T0 M1 M0
_______timer1________ _ _ ________timer0_________
.Thanh ghi TMOD

bit Tên Timer Mô tả

7 GATE1 1 Bit mở cổng cho timer 1,=1thì timer 1 chỉ chạy


khi chân INT1ở mức cao ,=0 hoạt động của
timer không bị ảnh hưởng bởi mức logic trên
6 C/#T1 1 chân INT1
Bit chọn chế độ counter/timer của timer 1
1=bộ đếm sự kiện
5 M1 1 0=bộ định khoảng thời gian
4 M0 1 M1M0:00 chế độ 0 01 chế độ 1
3 GATE0 0 10 chế độ 2 10 chế độ 3
2 C/#T0 0 Mở cửa cho timer 0
1 M1 0
0 M0 0 Bit chọn chế độ counter/timer của timer 0
Bit 1 chọn chế độ của timer 0
Bit 0 chọn chế độ của timer 0

Lớp Điện Tử 4_K10 - 13 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

2, Thanh ghi điều khiển timer(TCON)

TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0


TF1 TR1 TF0 TR0 IT1 IE1 IT0 IE0

Thanh ghi TCON.

Bit Ký Địa Mô tả
hiệu chỉ
TCON.7 TF1 8FH Cờ báo tràn của timer 1,được đặt bởi phần
cứng khi có tràn ,xóa bởi p mềm hoặc p
cứng khi bộ vsl chỉ đến chương trình ngắt
TCON.6 TR1 8EH Bit điều khiển timer 1 hoạt động ,được đặt
xóa bằng phần mềm để diều khiển cho
timer 1 chạy dừng
TCON.5 TF0 8DH Cờ báo tràn cho timer 0
TCON.4 TR0 8CH Bit điều khiển cho timer 0 hoạt động
TCON.3 IT1 8BH Cờ ngắt do timer 1
TCON.2 IE1 8AH Cờ ngắt ngoài 1
TCON.1 IT0 89H Cờ ngắt do timer 0
TCON.0 IE0 88H Cờ ngắt ngoài 0

*Các thanh ghi chứa giá trị của bộ định thời


các timer 0 & timer 1 đều là các timer 16 bit mỗi timer có hai thanh ghi
8bit dùng để chứa giá trị khởi tạo hoặc giá hiệu thời của các timer cụ thể
như timer 0 co TH0 & TL0 ,timer 1 có TH1 & TL1

TH1 TL1
TH0 TL0

Timer 0 Timer 1

Các thanh ghi chứa giá trị của bộ định thời

Lớp Điện Tử 4_K10 - 14 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

3,Các thanh ghi của Timer 2

Thanh ghi T2CON.

T2CON.7 T2CON.6 T2CON.5 T2CON.4 T2CON.3 T2CON.2 T2CON.1 T2CON.0


TF1 EXF2 RCLK TCLK EXEN2 TR2 C/#T2 CP/#RL2

Bit Ký hiệu Địa chỉ Mô tả

T2CON. TF1 CFH Cờ báo tràn của timer 2,TF2 được


7 đặt khi Timer 2 tràn và được xóa
bởi phần mềm TF2 không được
thiết lập khi TCLK hoặc RCLK
được đặt =1
EXF2 CEH Cờ ngắt ngoài Timer 2,TXF2 =1 khi
T2CON. sảy ra sự nạp lại hoặc thu nhận,
6 EXF2=1 cũng gây ra ngắt do Timer
2 nếu như ngắt này được lập trình
cho phép .
RCLK CDH Bit chọn Timer cung cấp xung nhip
cho đường nhận của cổng nối tiếp
T2CON. TCLK CCH Bit chọn Timer cung cấp xung nhip
5 cho đường truyền của cổng nối tiếp
EXEN2 CBH Bit điều khiển hoạt động của
T2CON. Timer2
4 TR2 CAH Bit điều khiển cho timer 2 hoạt
động
T2CON. C/#T2 C9H Bit chọn chế độ đếm hoặc định thời
3 của Timer 2
CP/#RL2 C8H Bit chọn chế độ thu nhận hay nạp
T2CON. lại của Timer 2
2

T2CON.
1

T2CON.
Lớp Điện Tử 4_K10 - 15 – SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

II:,hoạt động của cổng nối tiếp


1,giới thiệu
AT89S52có một cổng nối tiếp trên chip có thể hoạt ở nhiều chế độ khác
nhau với các tốc độ khác nhau
Chức chủ yếu của cổng nối tiếp là thực hiện chuyển đổi song song sang
nối tiếp với dữ liệu xuất & chuyển đổi nối tiếp
sang song song với dữ liệu nhập để có thể giao tiếp với máy tính qua
cổng nối tiếp hoặc qua các thiết bị tương tự
2,các thanh ghi của cổng nối tiếp
Thanh ghi diều khiển cổng nối tiếp (SCON _serial controller)

SM0 SM1 SM2 REN TB8 RB8 TI RI


Thanh ghi SCON

Lớp Điện Tử 4_K10 - 16 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

bit Ký hiệu Địa chi Mô tả


7 SM0 9FH Bit 0 chọn chế độ cho cổng nối tiếp
6 SM1 9EH Bit 1 chọn chế độ cho cổng nối tiếp
00:cổng nối tiếp hd ở chế độ 0
01:___________chế độ 1
10:____________chế độ 2
11:_____________chế độ 3
5 SM2 9DH Bit 2 chọn chế độ cho cổng nối tiếp
4 REN 9CH Bit này cho phép truyền thông đa xử lý
Cho phép thu ,bit này phải được đặt =1
3 TB8 9BH Bit truyền thứ 9
2 RB8 9AH Bit nhận thứ 9
1 TI 99H Cờ ngắt truyền ,TI dược đặt =1 bởi phần
cứng khi kết thúc việc truyền một ký tự
,được xóa bởi phần mềm
0 RI 98H Cờ ngắt truyền,cờ ngắt RI được đặt bằng 1
bởi phần cứng khi kết thúc việc nhận một
ký tự,được xóa bởi phần mềm

*thanh ghi đệm truyền nhận ở cổng nối tiếp (SBUF _serial bufer)
thanh ghi này có chức năng đệm các ký tự khi chúng được nhận về từ
cổng nối tiếp hoặc được truyền đi từ cổng nối tiếp ,việc truyền nhận qua
cổng nối tiếp thực chất là việc truy xuất thanh ghi này

III,ngắt & xử lý ngắt


1,giới thiệu
At89s52 có 6 nguồn ngắt_ngắt ngoài đến từ chân #INT0,ngắt
ngoài đến từ chân #INT1,ngắt do bộ timer 0,ngắt do bộ timer 1,ngắt do
bộ timer 2,ngắt do port nối tiếp
6 nguồn ngắt này được xóa khi reset & được đặt riêng bằng phần mềm
bởi các bit trong thanh ghi cho phép ngắt(IE),thanh ghi ưu tiên ngắt(IP)
2,các thanh ghi ngắt
*thanh ghi cho phép ngắt IE

EA --- ET2 ES ET1 EX1 ET0 EX0

Lớp Điện Tử 4_K10 - 17 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Bit Ký hiệu Địa chỉ Mô tả


bit
IE.7 EA AFH Cho phép hoặc cấm toàn bộ
IE.6 --- AEH Không được định nghĩa
IE.5 ET2 ADH Cho phép ngắt từ timer 2
IE.4 ES ACH Cho phép ngắt port nối tiếp
IE.3 ET1 ABH Cho phép ngắt từ timer1
IE.2 EX1 AAH Cho phép ngắt ngoài 1
IE.1 ET0 A9H Cho phép ngắt từ timer 0
EX0 A8H Cho phép ngắt ngoài 0

*thanh ghi ưu tiên ngắt


Mỗi nguồn ngắt được lập trình riêng để đặt vào một trong hai mức ưu
tiên qua thanh ghi chức năng đặc biệt dược địa chỉ bit IPở địa chỉ B8H
--- --- PT2 PS PT1 PX1 PT0 PX0
Bit Ký hiệu Địa chỉ bit Mô tả
IP.7 --- Không được định nghĩa
IP.6 ---
IP.5 PT2 BDH Ưu tiên cho ngắt từ timer 2
IP.4 PS BCH Ưu tiên cho ngắt từ port nối tiếp
IP.3 PT1 BBH Ưu tiên cho ngắt từ timer1
IP.2 PX1 BAH Ưu tiên cho ngắt ngoài 1
IP.1 PT0 B9H Ưu tiên cho ngắt từ timer 0
IP.0 PX0 B8H Ưu tiên cho ngắt ngoài 0

Phần hiển thi


Hiển thị giá trị vận tốc trung bình đo được trên LCD

Trong những năm gần đây LCD ngày càng được sử dụng rộng dãi thay
thế dần cho các loại đen LED ( các đen LED 7 đoạn hay nhiều đoạn ) đó
là vì:
• Khả năng hiển thi các số ,ký tự và đồ họa tốt hơn nhiều so với các
đèn LED( vì đèn LED chi hiển thị được các số và một số ký tự)
• Nhờ kết hợp một bộ vi điều khiển làm tươi vào LCD làm giải
phóng cho CPU công việc làm tươi LCD trong khi đen LED phải

Lớp Điện Tử 4_K10 - 18 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

được làm tươi bằng CPU (hoặc bằng cách nào đó) để duy trì việc
hiển thị các dữ liệu
• Dễ dàng lập trình cho các ký tự và đồ họa

I. Phân loại LCD:


Có thể chia các mudule LCd thành 2 loại chính là:
• Loại hiển thị ký tự:

• Loại hiển thị đồ họa :

II,Ý nghĩa các chân và mã lệnh điều khiển LCD hiển thị ký tự

Hầu các mudule LCd hiển thị ký tự được thiết kế dựa trên bộ điều
khiển HD44780 của Hitachi nên chúng có tập lệnh và các chân tương
thích nhau

Tên Bit Mô tả
I/D 0=Decrement cursor 1=Increment cursor possition
position
S 0=không dịch chuyển 1=dịch chuyển hiển thị
hiển thị
D 0=tắt hiển thị 1=bật hiển thị
C 0= tắt con trỏ 1= bật con trỏ
Lớp Điện Tử 4_K10 - 19 – SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

B 0=con trỏ không nhấp 1= con trỏ nhấp nháy


nháy
S/C 0= di chuyển con trỏ 1= dịch chuyển hiển thị
R/L 0=dịch trái 1= dịch phải
DL 0=chế độ 4 bit dữ lệu 1= chế độ 4 bit dữ liệu
N 1 dòng 2 dòng
F 0= font chữ 5*7 1=font chữ 5*10
BF 0= không bận 1=đang bận

Các chân của LCD :


• Chân 1,16:VSS nối với GND
• Chân 2,15:VDD nối với VCC
• Chân 3: VEE nối với biến trở
• Chân 4 _RS,5_RW,6_EN nối với 3 chân đầu Port 1 của vi điều
khiển
• Các chân 7,8,9,10,11,12,13,14 dùng để truyền và nhận tín hiệu

III,Nguyên tắc hiển thị ký tự trên LCD

Một chương trình hiển thị ký tự trên LCD sẽ đi theo 4 bước sau :
1. Xóa toàn bộ màn hình
2. Đặt chế độ hiển thị
3. Đặt vị trí con trỏ(nơi bắt đầu của ký tự hiển thị )
4. Hiển thị ký tự

IV, Bộ đếm sản phẩm sử dụng ngắt ngoài(Cảm biến hồng


ngoại)
Cặp thu phát hồng ngoại :

Lớp Điện Tử 4_K10 - 20 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

cảm biên chữ U


Đặc điểm

Loại thân vỏ bằng nhựa có gia cố


Nâng cao khả năng chống lại ánh sáng bên ngoài (3000lx -> 5000lx)
Chức năng ngăn ngừa giao thoa lẫn nhau (Có thể lắp đặt nhiều tầng)
Thêm vào các lỗ lắp đặt (Có thể cố định nhiều hướng)
Chức năng chuyển Light ON/Dark ON bởi dây điều khiển
Có điều chỉnh độ nhạy bên trong (BUP-30S)
IP65 (Tiêu chuẩn IEC)
Giới thiệu:
Cảm biến hồng ngoại (IR Senor) được dùng khá phổ biến trong các ứng
dụng thực tế.tùy từng ứng dụng khác nhau người ta có thể dùng các kỹ
thuật khuếch đại,điều chế điện,điều chế quang….. để nâng cao độ
nhạy,độ tin cậy…. của cảm biến.
Nguyên lý hoạt động:
Bộ khuếch đại thuật toán làm việc như một bộ so sánh ,biến trở 100K có
chức năng điều khiển điện áp ngưỡng so sánh .mỗi khi có một vật đi qua
tức là có sự che,không che khuất tia hồng ngoại từ diode phát sang
photo_transistor dẫn đến sự chuyển mức từ 1 sang 0 ở đầu ra của bộ
khuếch đại thuật toán gây ra ngắt ngoài INT 1.

Sơ đồ nguyên lý của mạch đo vận tốc


trung bình của một vật chuyển động
tịnh tiến

I : Sơ đồ nguyên lý

Lớp Điện Tử 4_K10 - 21 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Mạch nguyên lý

II : Sơ đồ mạch in

Lớp Điện Tử 4_K10 - 22 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Mạch in

III: Phần lập trình hoạt đông của mạch

/*...............................................................................................
Lớp Điện Tử 4_K10 - 23 – SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

Đề số 30: Đo Vận Tốc Trung Bình Của Một Vật Chuyển


Động Tịnh Tiến Hiển Thị Trên LCD
..................................................................................................*/

#include<reg52.h>
#include<stdio.h>
#include<math.h>
int m,n,t,v,a,b,c,d,e;

sbit RS=P1^0;
sbit RW=P1^1;
sbit EN=P1^2;
char x;
void delay30ms(void)
{
TMOD=0x10;
TH1=35535/256;
TL1=35535%256;
TR1=1;
while(!TF1);
TR1=TF1=0;
}
void delay(unsigned long int t)
{
unsigned long int i;
for(i=0;i<t;i++);
}
void busy_flag(void)
{
P2=0xff;
RS=0;
RW=1;
do
{EN=1;
delay(10);
EN=0;
x=P2;
x=x&0x80;
}
while(x==0x80);

Lớp Điện Tử 4_K10 - 24 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

}
void write_command (unsigned char LCD_command)
{
busy_flag();
P2=LCD_command;
RS=0;
RW=0;
EN=1;
delay(10);
EN=0;
delay(10);
}

void write_data(unsigned char LCD_data)


{
busy_flag();
P2=LCD_data;
RS=1;
RW=0;
EN=1;
delay(50);
EN=0;
delay(50);
}

void write_string(char *s)


{
while(*s)
{
write_data(*s);
s++;
}
}

void init(void)
{
write_command (0x03);
write_command(0x38);
write_command(0x06);
write_command(0x0e);
}
void main(void)
Lớp Điện Tử 4_K10 - 25 – SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

{TMOD=0X01;
IE=0x87;
IT0=IT1=1;
TR0=0;
TL0=(65535-5000)/256;
TH0=(65535-5000)%256;
TR0=1;

delay30ms();
init();
while(1)
{
write_command (0x01);
write_command (0x38);
write_string(" DH CONG NGHIEP ");
write_command (0xc0);
write_string (" HA NOI ");
write_command(0x01);

while(1)
if(m==0)
{
v=1000/(t*0.005);
a=v/10000+0x30;
b=v%10000/1000+0x30;
c=v%10000%1000/100+0x30;
d=v%10000%1000%100/10+0x30;
e=v%10000%1000%100%10+0x30;
{

write_command (0x02);
write_string ("VAN TOC:");
write_command (0xc0);
write_data(a);
write_data(b);
write_data(46);
write_data(c);
write_data(d);
write_data(e);
write_string (" m/s");

}
Lớp Điện Tử 4_K10 - 26 – SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

}
}
}
void ngat_timer0(void) interrupt 1
{
TL0=(65535-5000)/256;
TH0=(65535-5000)%256;
if(m==1)
{
t=t+1;
}
}
void ngat_0(void) interrupt 0
{
t=0;
m=1;
}
void ngat_1(void) interrupt 2
{
m=0;

Mục lục
1,LỜI NÓI ĐẦU. ........................................................................…..1
I: Đặt vấn đề ……………………….…………………………...1
Lớp Điện Tử 4_K10 - 27 – SVTH: Nguyễn Đình Cường
Nguyễn Văn Hải
Đoàn Văn Mừng
Trường Đại Học Công Nghiệp Hà Nội

II: Mục đích yêu cầu của đề tài ……………………………….…3


III :Cơ sở lý luận:………………………………………………...3
2.GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU KHIỂN………………...4
I: Sơ đồ khối và chức năng các khối của 8051/8052/AT89S52....5
II:Bộ vi điều khiển AT89S52 gồm các khối chức năng là :……...6
3.SƠ LƯỢC VỀ CÁC LINH KIỆN…………………………………7
I: Sơ đồ chân,chức năng các chân của AT89S52…………………7
II: Chức năng của các chân của…………………………………...7
III: Tổ chức bộ nhớ………………………………………………..9
IV: Các thanh ghi chức năng……………………………………....9
V: Mạch tạo dao động và Reset…………………………………..11
4.HOẠT ĐỘNG ĐỊNH THỜI CỦA AT89S52…….………………..13
I : Các thanh ghi của bộ định thời:………………………………..13
II: Hoạt động của cổng nối tiếp…………………………………...16
III:Ngắt & xử lý ngắt……………………………………………...17
5.PHẦN HIỂN THỊ………………………………………………….18
I: Phân loại LCD:………………………………………………...18
II:Ý nghĩa các chân và mã lệnh điều khiển LCD hiển thị ký tự…..19
III:Nguyên tắc hiển thị ký tự trên LCD…………………………...19
IV: Bộ đếm sản phẩm sử dụng ngắt ngoài(Cảm biến hồng ngoại)..20
6.SƠ ĐỒ NGUYÊN LÝ CỦA MỘT VẬT CHUYỂN ĐỘNG
TỊNH TIẾN………………………………………………………...21
I : Sơ đồ nguyên lý………………………………………………...21
II : Sơ đồ mạch in………………………………………………….22
III: Phần lập trình hoạt đông của mạch……………………………23

Lớp Điện Tử 4_K10 - 28 – SVTH: Nguyễn Đình Cường


Nguyễn Văn Hải
Đoàn Văn Mừng

You might also like