Tải bản đầy đủ (.doc) (36 trang)

đo tần số và hiển thị qua lcd1

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 (372.45 KB, 36 trang )

Đồ Án Môn Vi Điều khiển
File đính kèm 013.rar
LỜI MỞ ĐẦU
Ngày nay bộ vi điều khiển (Micro-controller) đã rất phổ biến trong các
thiết bị điện và điện tử dân dụng, các bộ vi điều khiển khống chế hoạt động
của các thiết bị như TV, máy giặt, đầu đọc laser, điện thoại…Trong hệ thống
sản xuất tự động, bộ vi điều khiển được sử dụng trong robot, dây chuyền tự
động. Các hệ thống càng thông minh thì vai trò của vi điều khiển càng quan
trọng. Nhưng bộ vi điều khiển là gì, nó có tác dụng và hoạt động như thế nào?
Thực ra bộ vi điều khiển (Micro-controller) là một mạch tích hợp trên
một bộ Chíp có thể lập trình được, dùng để điều khiển hoạt động của hệ
thống. Bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo
lường thời gian và tiến hành đọc mở một cơ cấu nào đó.Người lập trình có thể
sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiển. Nhưng thông thường
người ta thường sử dụng hai ngôn ngữ chính để lập trình là: ngôn ngữ lập
trình C và Assembly.
Trong qúa trình học tập và đặc biệt được sự giúp đỡ tận tình của thầy
Nguyễn Anh Dũng - Giảng viên bộ môn Vi điều khiển - nhóm sinh viên
chúng tôi đã quyết định làm đồ án kết thúc môn vi điều khiển là thiết kế mạch
“đo tần số và hiển thị qua LCD”.
Nội dung đồ án gồm 3 phần:
Phần I : cơ sở lý thuyết liên quan đến nội dung đồ án
Phần II : trình tự thiết kế và hoàn chỉnh đồ án
Phần III : kết luận tổng quan về đồ án
Trường ĐHCN Hà Nội Điện Tử 2 – K9
1
Đồ Án Môn Vi Điều khiển
Tuy đã rất cố gắng tìm hiểu,nghiên cứu và hoàn thiện bài tập lớn nhưng
có thể vẫn còn có những sai sót. Chúng tôi rất mong nhận được sự góp ý của
thầy giáo và các bạn để có thêm những kiến thức vững chắc trong lĩnh vực
điện tử đang theo học. Chắc chắn những kiến thức đó sẽ giúp chúng tôi rất


nhiều trong việc nghiên cứu học tập và công tác sau này.
Xin chân thành cảm ơn !
Giáo viên hướng dẫn : Nguyễn Anh Dũng
Sinh viên thực hiện : Ngô Đông Y
Nguyễn Văn Hồng
Phùng Gia Long
Lớp điện tử 2 – K9
Trường ĐHCN Hà Nội Điện Tử 2 – K9
2
Đồ Án Môn Vi Điều khiển
BỘ ĐO TẦN SỐ HIỂN THỊ BẰNG MÀN
HÌNH TINH THỂ LỎNG
I. CƠ SỞ LÝ THUYẾT LIÊN QUAN NỘI DUNG ĐỒ ÁN
A. IC 89S52
1.Giới thiệu về IC 89S52:
IC 89S52 là phiên bản 8051 có ROM trên chip ở dạng bộ nhớ Flash.
Phiên bản này là lý tưởng với những phát triển nhanh vì bộ nhớ Flash có thể
xóa trong vài giây. Ta gọi IC này là bộ vi điều khiển vì trong chúng chứa
ROM, RAM, các cổng nối tiếp và song song. 89S5 không được sử dụng trong
máy tính nhưng được sử dụng rộng rãi trong công nghiệp và trong sản phẩm
máy móc tiêu dùng.
Cùng với họ 89S52 có một số vi điều khiển khác. Về cơ bản chúng đều
giống nhau, chúng chỉ khác nhau ở vùng nhớ nội bao gồm vùng nhớ mã lệnh,
vùng nhớ dữ liệu và một số Timer. Sự khác nhau đó được mô tả bằng bảng
dưới đây:
Vi điều khiển Vùng mã lệnh nội Vùng dữ liệu nội Số Timer
Trường ĐHCN Hà Nội Điện Tử 2 – K9
3
Đồ Án Môn Vi Điều khiển
8051

8031
8751
8052
8032
8732
4K ROM
0K
4K EPROM
8K ROM
0K
4K EPROM
128 bytes
128 bytes
128 bytes
256 bytes
256 bytes
256 bytes
2
2
2
3
3
3
Bảng 1. Giới thiệu một số IC họ 8951
2.Cấu trúc của IC 89S52:
Trung tâm của 89S52 vẫn là vi xử lý trung tâm (CPU). Để kích thích
cho toàn bộ hệ thống hoạt động, 89S52 có bộ tạo dao động nội với thạch anh
được ghép từ bên ngoài với tần số khoảng từ vài Mhz đến 24 Mhz. Liên kết
các phần tử với nhau là hệ thống BUS nội, gồm có BUS dữ liệu, BUS địa chỉ
và BUS điều khiển. 89S52 có 8K ROM, 256 bytes RAM và một số thanh ghi

bộ nhớ… Nó giao tiếp với bên ngoài qua 3 cổng song song và một cổng nối
tiếp có thể thu, phát dữ liệu nối tiếp với tốc độ lập trình được. Hai bộ định
thời 16 bit của 89S52 còn có 2 ngắt ngoài cho phép nó đáp ứng và xử lý điều
kiện bên ngoài theo cách ngắt quãng, rất hiệu quả trong các ứng dụng điều
khiển. Thông qua các chân điều khiển và các cổng song song 89S52 có thể
mở rộng bộ nhớ ngoài lên đến 64Kbs dữ liệu.
Sau đây là sơ đồ khối vi điều khiển:
Trường ĐHCN Hà Nội Điện Tử 2 – K9
4
Đồ Án Môn Vi Điều khiển
Hình 1. Sơ đồ khối Vi điều khiển họ 89S52
3. Sơ lược về các chân IC 89S52:
Trường ĐHCN Hà Nội Điện Tử 2 – K9
5
Đồ Án Môn Vi Điều khiển
IC 89S52 có 40 chân. Có đến 32 chân làm nhiệm vụ xuất nhập, truyền
dữ liệu. Các chân phục vụ ngắt, các chân Timer, trong đó 24 chân làm 2
nhiệm vụ khác nhau. Mỗi chân có thể là đường xuất nhập, đường điều khiển
hoặc là một phần của địa chỉ hay dữ liệu. Thiết kế thường có bộ nhớ ngoài
hay các thiết bị ngoại vi sử dụng những Port để xuất nhập dữ liệu. Tám đường
trong mỗi Port được sử dụng như một dơn vị giao tiếp song song như máy in,
bộ biến đổi tương tự số…. Hoặc mỗi đường cũng có thể hoạt động độc lập
trong giao tiếp với các thiết bị đơn bit khác như: transistor, LED, switch….
Sau đây là hình dạng sơ đồ của IC 89S52:
Trường ĐHCN Hà Nội Điện Tử 2 – K9
6
Đồ Án Môn Vi Điều khiển
Hình 2. Hình dạng sơ đồ IC 89S52
4. Chức năng các chân IC 89S52:
Trường ĐHCN Hà Nội Điện Tử 2 – K9

7
Đồ Án Môn Vi Điều khiển
Sau đây là phần giới thiệu chức năng các chân , các Port tương ứng,
chân PSEN, chân ALE, chân REST…
a. Port 0
Port 0 là cổng song song dùng cho 2 mục đích, nó là các chân từ 32.
Trong những thiết kế nhỏ nó được dùng trong các cổng xuất nhập bình
thường. Ở những thiết kế có sử dụng bộ nhớ ngoài, nó vừa là Bus dữ liệu vừa
là bytes thấp của Bus địa chỉ. Nó còn được dùng chứa những bytes mã khi
nạp ROM nội.
b. Port 1
Port 1 dành cho cổng xuất nhập và chỉ dành cho mục đích này mà thôi.
Nó dùng để giao tiếp với các thiết bị ngoại vi theo từng bit hoặc bytes . Port 1
chiếm các chân từ 1 đến 8.
c. Port 2
Port 2 (chân 21÷ 28) là Port có 2 chưc năng. Ngoài mục đích dành cho
xuất nhập thông thường nó còn dùng làm bytes cao cho các địa chỉ bộ nhớ
ngoài.
d. PSEN (cho phép nạp chương trình)
89S52 có 4 chân tín hiệu điều khiển. PSENT là tín hiệu điều khiển
được xuất ra ở chân 29. Tín hiệu điều khiển này cho phép lập trình ở bộ nhớ
ngoài và thường được nối với các chân OE của EPROM để đọc mã lệnh từ bộ
nhớ ngoài vào thanh ghi đệm của 89S52. Nó xuống mức thấp nhất trong khi
đọc lệnh. Mã lệnh đọc từ EPROM, qua Bus dữ liệu, được chốt vào thanh ghi
của 89S52. Khi thi hành chương trình từ ROM nội PSEN được giữ ở mức cao
(trạng thái không tác động).
e. EA (truy xuất vùng nhớ ngoài)
EA là một tín hiệu vào có thể ở mức cao hay thấp. Nếu ở mức cao
89S52 thi hành chương trình ở ROM nội, 4K/8K chương trình. Nếu ở mức
Trường ĐHCN Hà Nội Điện Tử 2 – K9

8
Đồ Án Môn Vi Điều khiển
thấp, chương trình chỉ được thi hành ở bộ nhớ ngoài. Đối với 80431/ 8231 EA
phải được giữ ở mức thấp vì chúng không có ROM nội. EA cũng chính là
chân nhận điện áp mức cao để nạp EPROM nội.
f. ALE ( cho phép chốt địa chỉ)
ALE là tín hiệu được xuất ra ở chân 20, rất quen thuộc với những ai đã
tùng làm việc với vi xử lý 8085, 8086 của Intel. 89S52 dùng ALE để phân
kênh cho từng Bus địa chỉ và Bus dữ liệu. Khi Port 0 được dùng làm Bus dữ
liệu và bytes thấp của Bus địa chỉ - ALE là tín hiệu dùng để chốt địa chỉ vào
thanh ghi chốt bên ngoài trong nửa đầu của một chu kỳ máy. Sau đó Port 0
sẵn sàng để truy xuất dữ liệu trong nửa chu kỳ còn lại.
Xung ALE có tần số bằng 1/6 lần tần số bộ dao động nội và có thể
dùng như một xung clock cho mục đích nào đó khi hệ thống không làm việc.
Nếu tần số của 89S52 là 12MHz thì tần số xung ALE là 2MHz. Một xung
ALE bị mất khi có một lệnh MOVX được thi hành.
g. Ngõ vào dao động nội
Ngõ vào đao động nội được mô tả như dưới hình hai, có một thạch anh
được nối vào chân 19 (XTAL1) và 18 (XTAL2). Có thể mắc thêm tụ để ổn
định dao động. Thạch anh 12MHz thường dùng cho họ IC MCs-51, trừ IC
80C31BH có thể dùng thạch anh lên đến 16MHz. Tuy nhiên, không nhất thiết
phải dùng thạch anh mà ta có thể dùng mạch dao động TTL tạo xung Clock
đưa vào chân XTAL1 và lấy đảo của nó đưa vào XTAL2.
h. RST (RESET)
Ngõ vào chân RST (chân 19) là chân master reset của 89S52. Khi nó ở
mức cao nhất (trong khoảng ít nhất 2 chu kỳ máy ) các thanh ghi nội được nạp
với giá trị tương ứng theo thứ tự khởi động hệ thống.
i. Nguồn cung cấp
Trường ĐHCN Hà Nội Điện Tử 2 – K9
9

Đồ Án Môn Vi Điều khiển
89S52 sử dụng nguồn cung cấp Vcc=5V được cấp vào chân 40,GND
được nối vào chân 20.
Bit Tên Chức năng
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
P1.0
P1.1
RXD
TXD
INT0
INT1
T0
T1
W/R
RD
T2
T2EX
Nhận dữ liệu
Phát dữ liệu
Ngắt ngoài 0
Ngắt ngoài 1
Ngõ vào Timer/couter 0
Ngõ vào Timer/ couter 1

Đọc dữ liệu từ bộ nhớ ngoài
Đọc dữ liệu vào bộ nhớ ngoài
Ngõ vào của Timer/ couter
Bảng 2. Giới thiệu một số chân IC họ 8951
5. Các thanh ghi có chức năng đặc biệt
Các thanh ghi nội của 89S52 chiếm một phần của vùng nhớ nội, vì vậy
mỗi thanh ghi đều có một địa chỉ. Các thanh ghi chức năng (FSRs) trong vùng
nhớ cao từ 80H đến FFH. Lưu ý có một số bytes trong vùng này không được
định nghĩa. Chỉ có 21 địa chỉ thanh ghi chức năng được định nghĩa (26 địa chỉ
đối với 8052/8032).
a. Các thanh ghi chương trình
Trường ĐHCN Hà Nội Điện Tử 2 – K9
10
Đồ Án Môn Vi Điều khiển
b. Thanh ghi B
c. Con trỏ ngăn sắp xếp
d. Con trỏ dữ liệu
e. Các thanh ghi Port
f. Các thanh ghi bộ định thời
g. Các thanh ghi cổng nối tiếp
h. Các thanh ghi ngắt
i. Thanh ghi PCON
6. Bộ nhớ ngoài
Mở rộng bộ nhớ là một khả năng quan trọng đói với vi điều khiển nhằm
tránh gặp bế tắc trong vấn đề thiết kế. Họ MCs-51 có thể mở rộng 64Kbs và
bộ nhớ mã lệnh 64Kbs dữ liệu. Các IC giao tiếp ngoại vi cũng có thể thêm
vào để tăng năng xuất nhập.
Các chân cho phép giao tiếp với bộ nhớ ngoài RD, WR, PSEN, OE…
B. Tổng quan LCD
Hiện nay trên thị trường có rất nhiều loại LCD với mẫu mã và hình

dạnh khác nhau. Dựa vào kích cỡ và hiển thị ta có thể chia LCD làm 2 loại
chính:
- Loại hiển thị ký tự (character LCD) có các kích cỡ: 16x1, 16x2,
16x4…mỗi ký tự được tạo thành bởi một ma trận các điểm sáng
kích thước 5x7 hoặ 5x10 điểm ảnh.
Trường ĐHCN Hà Nội Điện Tử 2 – K9
11
Đồ Án Môn Vi Điều khiển
- Loại hiển thị đồ họa (Grafic LCD) đen trắng hoặc màu, gồm các kíc
thước 1.47 inch (128x128 điểm ảnh) 1,8 inch (128x160 điểm ảnh), 2
inch (176x220 điểm ảnh), 2,2 inch (240x320 điểm ảnh), 2,4 inch
(240x320 điểm ảnh), 3,5 inch (320x240 điểm ảnh), 4,3 inch
(480x272 điểm ảnh ), 7 inch (800x480 điểm ảnh), 8 inch (800x600
điểm ảnh). Được dùng nhiều trong điện thoại di động, máy ảnh số,
camera…
1. Cấu tạo LCD
Hình ảnh minh họa hình dạng thực tế LCD:
Hình 3. Hình dạng thực tế của LCD 16x2
LCD được nói trong mục này có 16 chân, chức năng của các chân được
cho trong bảng 3.
Chân Ký hiệu I/O Mô tả
1 Vss - Đất
2 Vcc - Dương nguồn 5 V
3 Vee - Cấp nguồn cho điều khiển
4 RS I
RS= 0 chọn thanh ghi lệnh. RS= 1 chọn
thanh ghi dữ liệu
Trường ĐHCN Hà Nội Điện Tử 2 – K9
12
Đồ Án Môn Vi Điều khiển

5 R/W I
R/W= 1 đọc dữ liệu. R/W = 0 ghi dữ
liệu
6 E I/O Cho phép
7 DB0 I/O Các bit dữ liệu
8 DB1 I/O Các bit dữ liệu
9 DB2 I/O Các bit dữ liệu
10 DB3 I/O Các bit dữ liệu
11 DB4 I/O Các bit dữ liệu
12 DB5 I/O Các bit dữ liệu
13 DB6 I/O Các bit dữ liệu
14 DB7 I/O Các bit dữ liệu
Bảng 3. Các chân của LCD
a. Chân Vcc, Vss và Vee.
Cấp dương nguồn -5V và đất tương ứng thì Vee được dùng để điều
khiển độ tương phản của LCD.
b. Chân chọn thanh ghi RS (Register select).
Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để
chọn các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mã lệnh được chọn
để cho phép người dùng gửi đến một lệnh như xóa màn hình, con trỏ về đầu
dòng… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi
dữ liệu cần hiển thị trên LCD.
c. Chân đọc/ghi(R/W).
Đầu đọc/ghi cho phép người dùng ghi thông tin trên LCD. Khi R/W = 0
thì ghi, R/W = 1 thì đọc.
d. Chân cho phép E(Enable)
Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu
trên chân dữ liệu của nó, khi dữ liệu được cấp đến chân đữ liệu thì một mức
Trường ĐHCN Hà Nội Điện Tử 2 – K9
13

Đồ Án Môn Vi Điều khiển
xung từ cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên
các chân chốt dữ liệu. Xung này phải rộng tối thiểu 450ns.
e. Chân D0- D7.
Đây là 8 chân dữ liệu 8 bit, được dùng để gửi thông tin lên LCD hoặc
đọc nội dung của các thanh ghi trên LCD.
Để hiện thị các chữ cái và các con số, chúng ta gửi các mã ASCII của
các chữ cái từ A đến Z, a đến f và các con số từ 0 đến 9 đến các chân này khi
RS = 1.
Cũng có các mã lệnh mà có thể gửi đến LCD để xóa màn hình hoặc đưa
con trỏ về đầu dòng hoặc nhấp nháy con trỏ.
Chúng ta cũng dùng RS = 0 để kiểm tra bit cờ bận để xem LCD có sẵn
sàng nhận thông tin hay không. Cờ bận là D7 và có thể được đọc khi R/W = 1
và RS = 0 như sau:
Nếu R/W = 1, RS = 0 khi D7 = 1(cờ bận bằng 1) thì LCD bận bởi cấc
công việc bên trong và sẽ không nhận bất kỳ thông tin mới nào. Khi D7 = 0
thì LCD sẵn sàng nhận thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bận
trước khi ghi bất kỳ dữ liệu nào lên LCD.
Mã HEX Lệnh đến thanh ghi của LCD
1 Xóa màn hình hiển thị
2 Trở về đầu dòng
4 Giảm con trỏ (Con trỏ dịch sang trái)
6 Tăng con trỏ (Con trỏ dịch sang phải)
5 Dịch hiển thị sang phải
7 Dịch hiển thị sang trái
8 Tắt con trỏ, tắt hiển thị
A Tắt hiển thị bật con trỏ
C Bật hiển thị, tắt con trỏ
E Bật hiển thị, nhấp nháy con trỏ
Trường ĐHCN Hà Nội Điện Tử 2 – K9

14
Đồ Án Môn Vi Điều khiển
F Tăt con trỏ, nhấp nháy con trỏ
10 Dịch vị trí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
18 Dịch toàn bộ hiển thị sang trái
1C Dịch toàn bộ hiển thị sang phải
80 Ép con trỏ về đầu dòng thứ nhất
C0 Ép con trỏ về đầu dòng thứ hai
38 Hai dòng và ma trận 5 x7
Bảng 4. các mã lệnh LCD
2. Các lệnh giao tiếp LCD
Để thực hiện các giao tiếp với LCD cần có các lệnh và địa chỉ lệnh.
Các lệnh được mô tả dưới bảng sau:
Trường ĐHCN Hà Nội Điện Tử 2 – K9
15
Đồ Án Môn Vi Điều khiển
Lệnh
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
Mô tả Thời
gian
thực
hiện
Xóa
màn
hình
0 0 0 0 0 0 0 0 0 1
Xóa toàn bộ màn
hình và đặt địa
chỉ 0 của DD

RAM vào bộ nhớ
1.64
µs
Trường ĐHCN Hà Nội Điện Tử 2 – K9
16
Đồ Án Môn Vi Điều khiển
Trở
về
đầu
dòng
0 0 0 0 0 0 0 0 1 -
Đặt địa chỉ 0 của
DD RAM như bộ
đếm địa chỉ. Trả
hiển thị dịch về
vị trí gốc DD
RAM không thay
đổi
1.64
µs
Đặt
chế
độ
truy
nhập
0 0 0 0 0 0 0 1 1 S
/
D
Đặt hướng
chuyển dịch con

trỏ và xác định
dịch hiển thị các
thao tác này
được thực hiện
khi đọc và ghi dữ
liệu
40µs
Điều
khiển
bật/tắ
t hiển
thị
0 0 0 0 0 0 1 D C B
Đặt bật/ tắt màn
hình
(D) Bật/ tắt con
trỏ
(C) Và nhấp
nháy ký tự ở vị
trí con trỏ(B)
40µs
Dịch
hiển
thị và
0 0 0 0 0 1 S R - -
/ /
C L
Dịch con trỏ và
dịch hiển thị mà
không thay đổi

40µs
Trường ĐHCN Hà Nội Điện Tử 2 – K9
17
Đồ Án Môn Vi Điều khiển
con
trỏ
DD RAM
Đặt
chức
năng
0 0 0 0 1 D N F - -
L
Thiết lập độ dài
dữ liệu (DL) số
dòng hiển thị (L)
và dòng ký tự (F)
40µs
Đặt
địa
chỉ
chi
CG
RAM
0 0 0 1 AGC
Thiết lập địa chỉ
C6 RAM dữ liệu
CG RAM được
gửi đi và nhận
sau thiết lập này
40µs

Thiết
lập
địa
chỉ
DD
RAM
0 0 1 ADD
Thiết lập địa chỉ
DD RAM dữ liệu
DD RAM được
gửi và nhận sau
thiết lập này
40µs
Cờ
bận
đọc
và địa
chỉ
0 1 BF ADD
Cờ bận đọc (BF)
báo hoạt động
bên trong đang
được thực hiện
và đọc nội dung
đếm địa chỉ
40µs
Trường ĐHCN Hà Nội Điện Tử 2 – K9
18
Đồ Án Môn Vi Điều khiển
Ghi

dữ
liệu
CG
hoặc
DD
RAM
1 0 GHI DỮ LIỆU
Ghi dữ liệu vào
DD RAM hoặc
CG RAM
40µs
Đọc
dữ
liệu
CG
hoặc
DD
RAM
1 1 ĐỌC DỮ LIỆU
Đọc dữ liệu từ
CG RAM hoặc
DD RAM
40µs
Bảng 5. Các lệnh giao tiếp LCD
• Ghi chú:
- Thời gian thời gian cực đại khi tần số fCP hoặc fosc là 250KHz.
- Thời gian thực thay đổi khi tần số thay đổi. Khi tần số fEP hay fosc là
270kHz thì thời gian thực hiện được tính 250/270 x 4 = 35 µs…
- Các ký hiệu viết tắt trong bảng là :
DD RAM : RAM dữ liệu hiển thị (Display Data RAM).

CG RAM : RAM máy phát ký tự (character Generator).
ACC : Địa chỉ của RAM máy phát ký tự.
ADD : Địa chỉ của RAM dữ liệu hiển thị phù hợp với địa
Trường ĐHCN Hà Nội Điện Tử 2 – K9
19
Đồ Án Môn Vi Điều khiển
chỉ con trỏ
AC : Bộ đếm địa chỉ (Address Counter) được dùng cho
các địa chỉ DD RAM và CG RAM.
1/D : Tăng 1/D = 0
S=1 : Kèm dịch hiển thị.
S/C=1 : Dịch hiển thị
S/C=0 : Dịch con trỏ
R/L=1 : Dịch sang phải
R/L=0 : Dịch sang trái
DL=1 : 8 bit
DL=0 : 4 bit
N=1 : 2 dòng
N=0 : 1 dòng
F=1 : Ma trận điểm 5x10
F=0 : Ma trận điểm 5x7
BF=1 : LCD bận
BF=0 : LCd có thể nhận lệnh.
C. Tạo tần số sử dụng IC 555
1. Cấu tạo của IC 555:
Cấu tạo LM555 gồm OP-amp so sánh điện áp, mạch lật và transistor để
xả điện. Cấu tạo của IC đơn giản nhưng họat động tốt. Bên trong gồm 3
điện trở mắc nối tiếp chia điện áp Vcc thành 3 phần. Cấu tạo này tạo nên điện
áp chuẩn. Điện áp 1/3 Vcc nối vào chân dương của OP-amp 1 và điện áp 2/3
Vcc nối vào chân âm của OP-amp 2. khi điện áp ở chân 2 nhỏ hơn 1/3 Vcc,

Trường ĐHCN Hà Nội Điện Tử 2 – K9
20
Đồ Án Môn Vi Điều khiển
chân S = [1] và FF được kích. Khi điện áp ở chân 6 lớn hơn 2/3 Vcc, chân R
của FF = [1] và FF được reset.
Hình 4. Sơ đồ nguyên lý của IC 555
2. Giải thích sự dao động:
Ký hiệu 0 là mức thấp bằng 0V, 1 là mức cao gần bằng Vcc. Mạch FF
là loại RS Flip-Flop, Khi S = [1] thì Q= [1] và
Q
= [0].
Sau đó, khi S = [0] thì Q=[1] và
Q
= [0].
Khi R = [1] thì
Q
= [1] và Q = [0].
Tóm lại, khi S = [1] thì Q = [1] và khi R = [1] thì Q = [0] bởi vì
Q
=
[1], transistor mở dần, cực C nối đất. Cho nên điện áp không nạp vào tụ C,
điện áp ở chân 6 không vượt quá V2. Do lối ra của OP-amp 2 ở mức 0, FF
không reset.
3. Giai đoạn ngõ ra ở mức 1:
Trường ĐHCN Hà Nội Điện Tử 2 – K9
21
Đồ Án Môn Vi Điều khiển
Khi bấm công tắc khởi động, chân 2 ở mức 0. Vì điện áp ở chân 2 (V-)
nhỏ hơn V1(V+), ngõ ra của OP-amp 1 ở mức 1 nên S = [1], Q = [1] và
Q

=
[0]. Ngõ ra của IC ở mức 1. Khi
Q
= [0], transistor tắt, tụ C tiếp tục nạp qua
R, điện áp trên tụ tăng. Khi nhấn công tắc lần nữa OP-amp 1 có V- =[1] lớn
hơn V+ nên ngõ ra của OP-amp 1 ở mức 0, S=[0]q và
Q
vẫn không đổi.
Trong khi điện áp tụ C nhỏ hơn V2, FF vẫn giữ nguyên trạng thái đó.
4.Giai đoạn ngõ ra ở mức 0:
Khi tụ C nạp tiếp, OP-amp 2 có V+ lớn hơn V-=2/3 Vcc, R=[1] nên
Q=[0] và
Q
=[1]. Ngõ ra của IC ở mức 0.

Q
=[1], transisitor mở dẫn, OP-amp 2 có V+ = [0] bé hơn V-, ngõ ra
của OP-amp 2 ở mức 0. Vì vậy Q và
Q
không đổi giá trị, tụ C xả điện thông
qua transistor.
Hình5. Sơ đồ chân IC 555
II. TRÌNH TỰ THIẾT KẾ VÀ HOÀN CHỈNH ĐỒ ÁN
1. Lập lưu đồ thuật toán
Trường ĐHCN Hà Nội Điện Tử 2 – K9
22
Đồ Án Môn Vi Điều khiển
Đề tài của chúng tôi là đo tần số hiển thị LCD và yêu cầu đo được 3 dải
tần 10Hz – 100Hz, 100Hz – 500Hz, 1Khz – 5Khz qua thảo luận của nhóm
chúng tôi quyết định chia đề tài thành 2 bài toán. Bài toán thứ nhất là thuật

toán tính tần số để khi có tần số đưa vào sẽ cho kết quả chính xác. Bài toán
thứ hai là thuật toán so sánh để khi có tần số xuất ra chương trình có thể tự
động nhận ra tần số đo được thuộc dải tần nào để hiển thị dải tần tương ứng.
Sau đây là 2 lưu đồ thuật toán tương ứng 2 bài toán trên:
a. Lưu đồ thuật toán tính tần số:
Trường ĐHCN Hà Nội Điện Tử 2 – K9
23
Bắt đầu
Kết thúc
f ?
t ?
Đưa f vàoXuất f
1 timer đếm sự kiện
1 timer đếm thời gian t
Không có f
Có f
2 timer cùng chạy
Timer đếm t tràn
Timer đếm t chưa tràn
2 timer cùng dừngf = (10^6/t)*số sự kiện
f vào
Đồ Án Môn Vi Điều khiển
Hình 6. Lưu đồ thuật toán tính tần số
b. Lưu đồ thuật toán tự động
chuyển dải đo
Trường ĐHCN Hà Nội Điện Tử 2 – K9
24
Bắt
đầu
Đưa f vào đo

Đo dải 3
f ?
Đo dải 2
Đo dải 1
f ?
f ?
Kết
thúc
Ngoài dải tần Xuất fĐưa f vào
Dải 1 – 10 Khz
Dải 100 – 1000 Hz
Dải 10 – 100 Hz
f < 1 Khz
1 Khz < f < 10 Khzf > 10 Khz
f <100 Hz
f >100 Hz
0 < f < 10 Hz f = 0f > 10 Hz
Đồ Án Môn Vi Điều khiển
Hình 7. Lưu đồ thuật toán tự động chuyển dải đo
2. Lập trình
Sau khi vẽ được lưu đồ thuật toán chúng tôi tiến hành lập trình cho
IC 89S52 bằng ngôn ngữ C và viết trên phần mềm KeilC Version 3.
Sau đây là toàn bộ chương trình viết bằng C được nạp vào IC.
#include<reg52.h>
#include<stdio.h>
sbit RS = P0^1;
sbit RW= P0^2;
sbit EN= P0^3;
char x;
int dem,daitan;

float f,n;
unsigned char message[32];
void delay30ms(void) //Tạo trễ 30ms
{
Trường ĐHCN Hà Nội Điện Tử 2 – K9
25

×