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

DATN bộ kít VI ĐIỀU KHIỂN

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 (9.18 MB, 80 trang )

CHƯƠNG 1: MỤC ĐÍCH VÀ YÊU CẦU CỦA BỘ KIT.
1.1. MỤC ĐÍCH
Kỹ thuật vi điều khiển là môn học cơ bản quan trọng đối với sinh viên
các nghành Điều khiển, Tự động hóa, Điện tử, Tin học v.v… nhằm trang bị
cho sinh viên những kiến thức cần thiết về một họ vi điều khiển, ở đây là họ
8051, như cấu trúc, nguyên tắc hoạt động, cùng các mạch phụ trợ, tập lệnh,
cách lập trình bằng hợp ngữ, các phương thức điều khiển vào ra và các
phương pháp kết nối thiết bị ngoại vi. Dựa trên nền tảng kiến thức của môn
học kỹ thuật vi điều khiển, sinh viên tiếp thu những môn học kỹ thuật chuyên
nghành và tiếp cận dễ dàng hợn với những kỹ thuật, trang thiết bị hiện đại.
Đồng thời cho phép sinh viên có cái nhìn trực quan và kiểm chứng, khẳng
định sự đúng đắn các kiến thức đã học. Do vậy việc đưa vào giáo trình phần
xây dựng thiết kế Kit vi điều khiển là hết sức quan trọng và rất thiết thực đối
với sinh viên chuyên nghành tự động hóa, điện tử, đo lường…Các Kit vi điều
khiển đều được thiết kế dựa trên các họ vi điều khiển mà sinh viên đang học
trong trường. Sinh viên có thể dùng các Kit vi điều khiển này để điều khiển
các quá trình nhiệt độ, điều khiển động cơ, điều khiển các đối tượng giao
thông, điều khiển các quá trình sản xuất…
Trên thế giới có rất nhiều nguồn cung cấp các mạch Kit nói trên như:
Từ các hãng của nước ngoài, ví dụ như bộ KIT MDA-EMS51 của hãng Midas
của Hàn Quốc, KIT và phần mềm phát triển cho họ vi điều khiển PIC của
MikroElektronika (Website hay một
hãng nổi tiếng khác là OLIMEX (Website ) với các
sản phẩm KIT phát triển cho các dòng AVR, PIC, MAXQ, MSP430, ARM…
Đặc điểm của các sản phẩm này là có các tính năng mạnh, mẫu mã đẹp, phục
vụ tốt nhu cầu thực hành của môn học. Tuy nhiên giá thành của thiết bị là rất
đắt (khoảng 700$ MDA-EMS51, và việc đặt mua không thuận tiện).
1
Do các trung tâm nghiên cứu và các trường đại học trong nước tự chế
tạo. Trong các trường đại học, các thiết bị thực hành môn học vi điều khiển có
thể do các giáo viên giảng dạy môn học chế tạo do các sinh viên tự chế tạo


dưới sự hướng dẫn của giáo viên, Ưu điểm của các sản phẩm chế tạo trong
nước giá thành rẻ mà chất lượng, mẫu mã không thua kém nước ngoài. Cấu
hình của sản phẩm và nội dung thực hành phù hợp với mục đích, chương trình
đào tạo, với điều kiện học tập của sinh viên cả nước nói chung và sinh viên
trường Đại học SPKT Hưng Yên nói riêng.
Xuất phát từ tình hình thực tế và sự cần thiết đáp ứng nhu cầu thực hành trong
quá trình học tập môn học vi điều khiển nói trên, việc thiết kế, xây dựng một
bộ KIT vi điều khiển với nay đủ các thành phần cơ bản, là vấn đề hết sức cần
thiết đối với các nghành điện tử, tự động hóa trong trường Đại học SPKT
Hưng Yên. Đây là vấn đề trọng tâm trong quyển đồ án này.
1.2. YÊU CẦU THIẾT KẾ KIT VI ĐIỀU KHIỂN PHỤC VỤ THÍ
NGHIỆM
1.2.1. Phần cứng.
Bởi vì mục đích của sản phẩm là phục vụ cho việc đào tạo nên cấu hình
cứng phải rõ ràng, dàn trải. Kích thước của bộ KIT gọn nhẹ, dễ dàng di
chuyển và bảo quản. Các thành phần của bộ KIT được thể hiện rõ ràng, dễ
nhận biết, một đặc điểm nữa là nó phân thành các modul nhỏ và liên kết với
modul trung tâm bằng BUS, điều này cũng giúp người học có thể nhìn thấy
một cách trực quan các thành phần của bài thí nghiệm sẽ tiến hành. Đồng thời
việc tổ chức thành các modul nhỏ cũng tiện cho việc sửa chữa, thiết kế mở
rộng, và có thể dễ dàng trọng việc thương mại hóa sản phẩm này.
1.2.2. Các thành phần của bộ KIT.
Bộ KIT có đầy đủ các thành phần cơ bản của một hệ vi điều khiển và
các nguồn tài nguyên phong phú, cho phép người sử dụng có thể tự do phát
triển các ứng dụng của mình.
1. IDE-MCS51-DK1S-MAINBOARD
2. IDE-MCS51-DK1S-RAM/EEPROM
3. IDE-MCS51-DK1S-KEYBOARD
4. IDE-MCS51-DK1S-LCD
5. IDE-MCS51-DK1S-LED7SEG

6. IDE-MCS51-DK1S-MATRIX8x8
7. IDE-MCS51-DK1S-DC/STEPMOTOR
8. IDE-MCS51-DK1S-RS232
9. IDE-MCS51-DK1S-ADC/DAC
10.IDE-MCS51-DK1S-LED
11.IDE-MCS51-DK1S-LINE-SENSOR
12.IDE-MCS51-DK1S-PROGRAM
13.IDE-MCS51-DK1S-SUPPLY
14.IDE-MCS51-DK1S-POWER
1.2.3. Các bài thí nghiệm thực hành trên bộ KIT:
Các bài cơ bản: Giúp sinh viên làm quen với hệ lệnh của chip vi điều
khiển, nhập các lệnh, nạp chương trình và chạy xem kết quả thực hiện của các
lệnh đó.
Các bài nâng cao: Gồm các bài thí nghiệm phức tạp hơn thực hiện sử
dụng các thành phần ngoại vi trên bộ KIT. Các bài thí nghiệm thực hiện việc
điều khiển một quá trình tương tự hoặc số, Ví dụ: điều khiển LED 7 SEG,
Matrix LED8x8, Điều khiển vào ra số- tương tự, điều khiển động cơ v.v…
Thực hiện các bài thí nghiệm:
Các bài tập mẫu xây dựng trước: Đi kèm với sản phẩm bộ KIT là một
hệ thống các bài tập mẫu được xây dựng cho các ứng dụng trên bộ KIT như
điều khiển các thành phần ngoại vi của KIT, điều khiển vào/ra tương tự-số…
Sinh viên có thể đọc hướng dẫn sử dụng và thực hiện các bài tập mẫu này trên
bộ KIT.
Các bài tập do sinh viên tự lập trình: Sau khi đã nắm rõ cấu hình của
bộ KIT và sơ đồ bộ nhớ của các thành phần trên bộ KIT, sinh viên có thể tự
lập trình các bài thí nghiệm trên bộ KIT theo ý định của riêng mình.
Công cụ lập trình:
Bằng máy tính PC: Có thể sử dụng ngôn ngữ ASM với trình biên dịch
hợp ngữ sẵn có như: Keil, Reads51, Ride, Prog-Studio,v.v… để lập trình các
chương trình cho bộ KIT từ máy tính bằng ngôn ngữ C, ASM , sau đó biên

dịch thành file dạng Hex rồi nạp xuống cho bộ KIT để thực hiện các chương
trình đó.
CHƯƠNG 2: THIẾT KẾ KIT VI ĐIỀU KHIỂN
2.1. CHỌN PHƯƠNG ÁN THIẾT KẾ.
Họ vi điều khiển mà bộ KIT chọn làm thành phần trung tâm là họ 8051,
vì những lí do sau nay:
- Họ 8051 là họ vi điều khiển phổ biến nhất hiện nay, được sử dụng
rất rộng rãi trong các ứng dụng công nghiệp cũng như trong việc chế tạo các
sản phẩm dân dụng.
- Họ 8051 đã và đang là môn học được nằm trong chương trình đào
tạo của các trường trung học, cao đẳng và đại học trong cả nước, đây còn là
một đối tượng cụ thể cho sinh viên khi bắt đầu nhập môn vi điều khiển. Vì
vậy, việc chọn họ 8051 làm thành phần trung tâm của bộ KIT là phù hợp với
chương trình đào tạo và điều kiện học tập của sinh viên.
Vì những lí do trên, và xuất phát từ mục đích, yêu cầu của đồ án là thiết
kế một bộ KIT vi điều khiển phục vụ mục đích đào tạo môn học này, ta quyết
định chọn phương án sử dụng chip vi điều khiển AT89Cxx của hãng ATMEL
để làm thành phần trung tâm của KIT, cùng với các thành phần bộ nhớ
ROM/RAM bên ngoài và các thiết bị ngoại vi phong phú.
Chip vi điều khiển AT89Cxx là một bộ vi điều khiển cũng thuộc họ
8051, do đó nó có tất cả những đặc trưng cơ bản của họ này.
5
2.2. XÂY DỰNG SƠ ĐỒ KHỐI CỦA KIT.
Hình 2.2.1: Sơ đồ khối của bộ KIT vi điều khiển
Trong sơ đồ khối của bộ KIT như trên chức năng của các khối như sau:
Khối CPU: Đây là khối trung tâm của hệ thống. Nó bao gồm chip vi
điều khiển AT89Cxx và AT89Cx051, gồm các cổng giao tiếp mở rộng. Khối
này làm nhiệm vụ trung tâm điều hành hoạt động của cả bộ KIT.
Khối Program: Đây là khối giao tiếp giữa hệ vi điều khiển của bộ KIT
và máy tính. PC giúp cho người sử dụng có thể phát triển các ứng dụng trên

bộ KIT từ máy tính. Người sử dụng dùng PC để nạp các chương trình ứng
dụng cho bộ KIT. Chương trình ứng dụng của người sử dụng được nạp cho bộ
KIT từ máy tính thông qua phần mềm nạp đi kèm theo KIT.
Bàn phím: Đây là khối thiết bị đầu vào giao tiếp giữa vi điều khiển và
người sử dụng. Bàn phím cho phép người dùng sử dụng nó để điều khiển hoạt
động của các ứng dụng giải mã bàn phím, nhập thông số cho KIT, hoặc một
số ứng dụng do người dùng sử dụng.
Khối LCD: Màn hình tinh thể lỏng 16x2 (16 ký tự và 2 dòng). Cho
phép hiển thị các thông số cần thiết của các ứng dụng. Hiển thị mã ASCII.
LCD tạo ra sự tiện lợi, thân thiện cho người sử dụng trong làm quen cũng như
thí nghiệm trên KIT.
Khối ADC: Có chức năng chuyển đổi tín hiệu điện áp tương tự 0 - 5V
thành tín hiệu số 8bit để đưa vào vi điều khiển xử lí. Tín hiệu vào 0-5V có thể
được đưa vào từ bên ngoài thông qua chân cắm hay thông qua công tắc
chuyển mạch để nối các tín hiệu tương tự có sẵn trên KIT nhờ biến trở. Ta có
thể ứng dụng đo nhiệt độ phòng qua cảm biến nhiệt độ …
Khối DAC: Là khối cho phép chuyển đổi tín hiệu số 8 bit thành tín
hiệu tương tự 0-10V đưa ra ngoài, có thể hiển thị được trên máy hiện sóng.
Khối ĐK Động cơ 1 chiều và động cơ bước: Là khối có bộ đệm tầng
khuếch đại để điều khiển động cơ bước và động cơ một chiều. Có bộ đĩa
encoder đếm xung tốc độ quay của động cơ một chiều.
Khối LED 7 SEG: Là khối hiển thị LED 7 thanh, có thể sử dụng để
hiển thị các giá trị theo chương trình ứng dụng của người sử dụng như: Đồng
hồ, Bộ đếm…
Khối LED Matrix(8x8): Là một ma trận LED gồm 8 hàng x 8 cột, tại
một điểm của Matrix LED có 2 đèn với 2 màu xanh và đỏ nếu điều khiển cho
sáng cả hai đèn ta sẽ pha màu thành màu cam.
Khối LED đơn: Là khối gồm 16 LED đơn được bố trí theo ứng dụng
đèn giao thông ngoài ra người sử dụng có thể phát triển điều khiển đèn nháy
theo ứng dụng riêng.

Khối RS232: Là khối cho phép người sử dụng giao tiếp với PC qua
chuẩn truyền RS232 thông qua cổng COM 9 chân, Bằng việc người dùng lập
trình giao tiếp sử dụng VB, DelPhi, C, Pascal… là có thể giao tiếp giữa vi
điều khiển và Máy tính.
Khối Công suất(Thyristor, Triac, Relay): Là khối điều khiển công
suất, giao tiếp với phần tử công suất cao, nguồn xoay chiều.
Khối nguồn nuôi: Đây là nguồn nuôi cho toàn bộ KIT. Đầu vào
220V/50Hz, đầu ra +5V/ +12V, -12V, 12V/50Hz.
2.3. THIẾT KẾ VÀ LỰA CHỌN LINH KIỆN TỪNG KHỐI.
2.3.1. Khối xử lý trung tâm KIT. (Mainboard).
2.3.1.1. Chức năng:
Đây là khối tiếp nhận và xử lí mọi thông tin liên quan đến hoạt động
của KIT. Khối xử lí trung tâm làm việc không ngừng trong suốt thời gian làm
việc do đó độ bền bỉ và khả năng xử lí nhanh chóng linh hoạt với mọi tình
huống phụ thuộc vào phẩm chất linh kiện mà chúng ta sử dụng cũng như
nguồn cung cấp cho hệ thống. Chính và vậy chọn bộ xử lí trung tâm làm đối
tượng đầu tiên để ta thiết kế không ngoài lý do trên, nó sẽ quyết định cho khả
năng hoạt động cho hệ thống của chúng ta.
2.3.1.2. Yêu cầu chọn linh kiện, tính toán:
a, Yêu cầu chọn linh kiện.
- Có nền tảng cơ bản của một hệ thống vi điều khiển.
- Khả năng ưu việt so với hệ thống số.
- Dễ sử dụng cũng như thiết kế các ứng dụng.
- Có tài liệu liên quan.
- Không yêu cầu cao trong thiết kế phần cứng.
- Mua được trên thị trường Việt Nam.
b, Tính toán thiết kế.
Việc chọn IC trung tâm là họ 8051 và sử dụng loại IC
AT89Cxx/AT89Cx051 làm khối xử lí trung tâm là theo yêu cầu và mục đích
của đề tài.

Ở đây ta sử dụng Socket thay cho việc hàn cứng IC lên KIT. Để tiện
cho việc thay đổi IC hay thay đổi chương trình ứng dụng, tránh làm hư hại IC.
Vi điều khiển AT89Cxx với thị trường Hà Nội, và cả khu vực miền Bắc
nói chung ta chọn AT89Cxx là chip dễ dàng mua được, bộ nhớ 4Kbyte đủ cho
các ứng dụng trong lĩnh vực thí nghiệm và nghiên cứu trên KIT. AT89Cxx có
4K Flash ROM làm bộ nhớ chương trình, 128 byte RAM, 32 đường vào ra số,
2 bộ định thời, cấu trúc ngắt 2 mức ưu tiên và 5 nguồn ngắt. Vùng nhớ Flash
ROM có thể nạp và xóa 1000 lần. Vi điều khiển AT89Cxx hỗ trợ tần số làm
việc lên tới 24Mhz. Có chế độ Power Down để tiết kiệm điện năng của hệ
thống tuy nhiên vẫn duy trì nội dung của RAM nhưng không cho mạch dao
động cấp xung vào nhằm vô hiệu hóa các hoạt động khác cho chip cho đến
khi có Reset cứng tiếp theo. Chế độ Idle hay còn gọi là chế độ nghỉ dừng CPU
trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp và hệ thống
ngắt tiếp tục hoạt động.
Từ Datasheet của nhà sản xuất Port0 của IC là hở collector. Vì vậy ta
phải có điện trở treo bên ngoài mới có thể sử dụng cho mục đích tải ngoài. Ở
đây ta chọn điện trở treo có giá trị trong khoảng từ 1K- 10K, ở giá trị này
mạch sử dụng tiết kiệm năng lượng nhất. Dòng qua các chân của IC cũng phù
hợp khoảng 0,5mA.
Do thực nghiệm cho thấy khi IC chạy thực tế điện áp mức 1(mức cao)
của IC chỉ khoảng 2,5-3V như vậy với một số ứng dụng yêu cầu cao về mức
tín hiệu thì điện áp này không đủ. Vì vậy ta phải sử dụng IC đệm có chức
năng nâng điện áp đầu ra mà không làm ảnh hưởng tới tín hiệu của IC. IC có
chức năng đệm được dùng phổ biến hiện nay đó là IC 74HC245. Trong đề tài
này chúng em dùng đệm ở các cổng P1,P2 của AT89Cxx và P1,P3 của
AT89Cx051.
Như vậy chúng ta đều có chức năng đệm cũng như không dùng đệm.
Giúp sinh viên có thể thấy sự khác nhau này.1
Cổng BUS giao tiếp với các Modul khác được sử dụng trong đề tài là
PORT 20 chân chống cắm ngược, dùng cáp mềm để nối rất thuận tiện cho

việc thay đổi cổng và ứng dụng của người dùng. Khi thiết kế chức năng của
các cổng là tương tự nhau. Do cổng P3 có thêm chức năng đặc biệt, hay tùy
vào ứng dụng chúng ta dùng cổng cho phù hợp
Hình 2.2.2: Cấu tạo chân BUS
Ngoài ra chúng em còn thiết kế thêm chân cắm 8 đơn. Nhằm tránh
trường hợp đóng cứng các ứng dụng do người thiết kế. Mà sinh viên hoàn
toàn có thể kết nối ra ngoài Panel để phát triển ứng dụng riêng.
Sơ đồ board: phụ lục 3.1
2.3.2. Khối RAM/EEPROM.
2.3.2.1. Chức năng.
Để giao tiếp mở rộng bộ nhớ của vi điều khiển AT89C51, giúp các bạn
sinh viên thực hành mở rộng bộ nhớ biết được nguyên lý và cách thức thực
hiện thiết kế phần cứng cũng như phần mềm.
2.3.2.2. Phân tích yêu cầu, lựa chọn linh kiện
Các yêu cầu của khối RAM/EEPROM:
- Phù hợp với việc luyện tập và giảng dạy.
- Thiết kế dễ dàng, dễ chế tạo.
- Kết nối và lập trình dễ dàng, khoa học.
Với các yêu cầu trên ta có thể lựa chọn những linh kiện phù hợp: sử
dụng RAM 6264 và EEPROM 24C64 với những đặc điểm như sau:
AT24C64 cung cấp 32.768/65.536 bits xóa và lập trình được bằng
điện. Bộ nhớ chỉ đọc được tổ chức thành 4096/8192 Words của 8 bits. Đặc
tính tầng của thiết bị cho phép giao tiếp với 8 thiết bị khác trên 2 dây nối tiếp.
Thiết bị được tối ưu hóa cho sử dụng trong công nghiệp và trong thương mại,
nơi yêu cầu cao về chuẩn tiêu thụ nguồn thấp mà AT24C64 sẵn có. Có nhiều
kiểu đóng vỏ PDIP/ TSSOP/ SOIC giao diện ghép nối sử dụng 2-Wise Serial.
- Tổ chức bên trong: 4096 x 8, 8192 x 8.
- 2- Dây giao diện nối tiếp.
- Schmitt Trigger, Lọc nhiễu đầu vào.
- Giao thức chuyển đổi dữ liệu hai chiều.

- Tương thích 100 kHz (1.8V, 2.5V, 2.7V) and 400 kHz (5V).
- Chế độ ghi 32 byte/trang .
- Thời gian tự viết chu trình (10ms max).
- Độ tin cậy cao.
- Sự chịu đựng: 1 Triệu lần ghi xóa.
- Duy trì dữ liệu: 100 năm.
- Bảo vệ ESD:>3,000V (Bảo vệ phóng tĩnh điện).
- 8-DIP, 8/14-SOIC, 8-TSSOP.
Hình 2.2.3: Sơ đồ khối bên trong của AT24C64:
Mô tả các chân:
− SERIAL CLOCK (SCL): SCL là đầu vào được sử dụng sườn dương
của dữ liệu xung Clock vào mỗi EEPROM và sườn âm xung clock dữ
liệu ra của thiết bị khác.
− SERIAL DATA (SDA): Là chân trao đổi dữ liệu nối tiếp 2 chiều. Đầu
ra collector hở vì vậy muốn sử dụng trao đổi dữ liệu chân này phải treo
điện trở treo.
− DEVICE/PAGE ADDRESSES (A2, A1, A0): Chân địa chỉ khi không
dùng các chân này được nối với GND.
− WRITE PROTECT (WP): Khi nối GND thì ta có thể ghi đọc bình
thường, Nếu nối chân này Vcc Tất cả các hoạt động ghi vào bộ nhớ đều
bị cấm. Nếu nối dương thì hoạt động ghi bình thường.
SCL: xung clock tác động cạnh xuống cho phép dữ liệu đi ra, tác động
cạnh lên cho phép dữ liệu đi vào.
START: Chân SCL ở mức 1 trong khi SDA có một cạnh xuống thì
được gọi là START.
STOP: Chân SCL ở mức 1 trong khi SDA có một cạnh lên thì được gọi
là STOP.
ACK: là bit dữ liệu tích cực ở mức thấp.
NOACK: là bít dữ liệu tích cực ở mức cao.
Hoạt động của AT24C64:

- Địa chỉ của IC:
- Quá trình ghi dữ liệu:
a, Ghi một byte:
b, Ghi nhiều byte:
Quá trình ghi bắt đầu bằng START. Sau đó là byte địa chỉ của IC, riêng
bit số 0 phải là mức thấp đó là lệnh ghi. Sau khi gửi xong một byte thì IC
AT24C64 sẽ gửi tín hiệu trả lời ACK để chắc chắn rằng IC AT24C64 đã nhận
được byte đó. Sau byte địa chỉ là hai byte địa chỉ vùng nhớ của IC AT24C64.
Rồi sau đó mới là dữ liệu. IC sẽ tự động tăng địa chỉ vùng nhớ để nhận dữ
liệu tiếp theo. Để kết thúc quá trình ghi bằng STOP.
Chú ý: Đối với IC AT24C64 thì chỉ cho phép ghi tối đa 32 byte liên
tiếp, để tiếp tục ghi dữ liệu ta phải khởi động lại lệnh ghi và địa chỉ vùng nhớ
cần ghi.
Thời gian giữa STOP và START để bắt đầu lần ghi tiếp theo tối thiểu
là 5ms.
- Quá trình đọc:
a, Đọc một byte:
b, Đọc nhiều byte:
Quá trình đọc bắt đầu bằng cách gửi địa chỉ IC AT24C64 và địa chỉ
vùng nhớ giống như quá trình ghi. Nhưng không gửi byte dữ liệu mà là
START và byte địa chỉ IC AT24C64 lần này bit 0 tích cực ở mức cao đó là
lệnh đọc. Rồi sau đó nhận dữ liệu. Sau khi nhận được một byte dữ liệu thì
phải trả lời bằng một ACK để cho IC AT24C64 biết đã gửi xong và IC tự
động tăng địa chỉ vùng nhớ và gửi byte dữ liệu tiếp theo. Nếu trả lời NOACK
thì IC sẽ kết thúc gửi dữ liệu.
RAM 6264
Ram là bộ nhớ truy xuất ngẫu nhiên, có nghĩa là bất kì ô nhớ nào cũng
dễ dàng truy xuất như những ô nhớ khác.
Khuyết điểm của Ram là dữ liệu lưu trữ trong Ram sẽ mất khi mất điện.
Ưu điểm chính của Ram là có thể đọc và ghi nhanh chóng.

Cấu Trúc Của RAM
Hình 2.2.4: Sơ đồ cấu trúc của RAM
Tương tự như bộ nhớ ROM, bộ nhớ RAM cũng gồm có một số thanh
ghi. Mỗi thanh ghi lưu trữ 1 từ dữ liệu duy nhất và một dữ liệu duy nhất.Dung
lượng của bô nhớ Ram là 1K,2K ,8K, 16K ,32K, 64K, 128K, 256K, 512K, và
1024K.và từ 72 dữ liệu là 8 hoặc 4 bit.
a. Hoạt động đọc dữ liệu từ Ram
Mã địa chỉ của ô nhớ cần đọc dữ liệu được đưa đến đầu vào địa chỉ cuả
Ram đồng thời đầu tín hiệu điều khiển R/W phải ở mức logic 1 và đầu vào
cho phép(CS) phải ở mức logic1.khi đó dữ liệu mới xuất hiện ở đầu ra dữ
liệu.
Khi R/W=1 sẽ không cho phép bộ đệm đầu vào, do đó dữ liệu đầu vào
không ảnh hưởng gì đến ô nhớ đang truy xuất.
b. Hoạt động ghi dữ liệu lên Ram
Để ghi dữ liệu vào thanh ghi đã được lựa chọn bởi các đầu vào địa chỉ
của bộ nhớ Ram, đòi hỏi đầu vào R/W=0 và CS=1.Tổ hợp hai mức logic này
sẽ cho phép bộ đệm đầu vào để đưa từ dữ liệu (4bit) ở các đầu vào sẽ được
nạp thanh ghi được chọn
Khi R/W ở mức thấp sẽ không cho phép bộ đệm đầu ra và đầu ra ở
trạng thái tổng trở cao (trong lúc ghi dữ liệu). Khi ghi dữ liệu vào ô nhớ thì dữ
liệu trước đó sẽ mất đi .
c. Chip selet (cs)
Hầu hết các bộ nhớ đều có hoặc nhiều đầu vào CS, được dùng để cho
phép hoặc không cho phép bộ nhớ hoạt động trong nhiều trường hợp kết nối
nhiều bộ nhớ. Khi không chọn chip thì IC cho tất cả các đầu vào dữ liệu và
đầu ra dữ liệu ở trạng thái tổng trở cao.
d.Những chân data input-output
Để giảm số chân cho một IC nhà chế tạo kết hợp 2 chức năng data
input và data output thành một chân Input/output, chúng có chức năng của các
chân I/O.Khi hoạt động đọc, các chân I/O hoạt động như là các chân xuất dữ

liệu. Khi ghi dữ liệu, các chân I/O hoạt động như là các chân dữ liệu.
2.3.2.3. Tính toán và thiết kế
Các thông số 6264:
- Nguồn cung cấp Vcc: 5VDC
- Dòng điện tối đa Icc: 100mA
Các thông số AT24C64:
- Nguồn cung cấp Vcc: 5VDC
- Dòng điện tối đa Icc: 3.0mA
Tổng công suất của khối là:
( )
Wm5153100.5I.UP =+==
Sơ đồ nguyên lý mạch điện của khối RAM/EEPROM như sau:
Hình 2.2.5: Sơ đồ nguyên lý mạch RAM/EEPROM
Sơ đồ board: phụ lục 3.3
2.3.3. Khối Bàn phím (Keypad4x4).
2.3.3.1. Chức năng.
Cho phép chúng ta có thể nhập dữ liệu từ bên ngoài vào Vi điều khiển
hoạt động của bộ KIT với dạng ma trận phím để tiết kiệm đầu vào và cùng
với các phím đơn có thể dùng làm phím chức năng của KIT.
2.3.3.2. Thiết kế mạch bàn phím.
Ma trận bàn phím 4x4. ta sử dụng một cổng 8 bit để quét bàn phím như
vậy ta đã có thể sử dụng được 16 phím rất tiết kiệm đầu vào.
Hàng và cột được nối với một cổng. Nửa byte thấp nối cột (Px.0 đến
Px.3), còn nửa byte cao nối hàng (Px.4 đến Px.7).
Ví dụ nếu phím 1 được nhấn thì Px.0 và Px.4 được nối GND. Tương tự
như các phím khác. Bàn phím sử dụng trong đề tài có sẵn mua được tại thị
trường.
Trong đề tài còn thiết kế 8 phím đơn để sinh viên có thể so sánh phần
cứng cũng như phương pháp lập trình, và phù hợp với từng ứng dụng. Trong
phần này chúng em có thiết kế với 8 phím đơn tương ứng với 8 bit của một

cổng. Khi một phím được nhấn tương ứng với bit đó được nối GND.
Hình 2.2.6: Các cách nối nút nhấn
Cách 1 là tốt nhất nên dùng, bằng một điện trở kéo lên dương (treo).
Như ở cách 1 khi công tắc đóng chân vào Vi điều khiển được nối GND, khi
công tắc hở chân đó được nối 5V (mức 1). Dùng điện trở 10K thỏa điều kiện
sinh dòng 0,5mA rất tiết kiệm năng lượng.
Ở cách 2 thì đòi hỏi một điện trở kéo xuống GND rất nhỏ. Tuy nhiên
điện áp tại chân Vi điều khiển > 0,9V dòng sinh ra lớn > 1,6mA. Khi công tắc
đóng sẽ tiêu tốn năng lượng (5V/470 = 10mA).
Cách 3 chỉ đảm bảo mức 1 khi công tắc đóng, còn khi công tắc hở mức
logic không xác định rất rễ bị nhiễu.
Từ 3 phương án trên ta chọn phương án thứ nhất (CÁCH 1)
Từ cách chọn này ta có công suất của khối bàn phím.
Ở modul này thì tối đa chỉ có 3 phím được nhấn nên ta có tổng công
suất của modul này là:
P = U.I = 5. 0,5 . 3= 7,5mW
Sơ đồ Board: phụ lục 3.4
2.3.4. Khối hiển thị LCD.
2.3.4.1. Chức năng.
Trong những năm gần đây LCD đang ngày càng được sử dụng rộng rãi
thay thế dần cho các đèn LED, LED 7 đoạn, Do khả năng hiển thị số, ký tự
và đồ họa tốt hơn những cách hiển thị khác, dễ dàng lập trình cho các ký tự đồ
họa.
Vì vậy mà khối hiển thị LCD là một khối rất quan trọng trong bộ KIT
này, nó sẽ giúp thực hiện các bài luyện tập ghép nối LCD với 89C51 và lập
trình hiển thị các số, ký tự và đồ họa trên LCD một các dễ dàng và trực quan.
2.3.4.2. Phân tích yêu cầu lựa chọn linh kiện.
Với mục đích thực hành, thí nghiệm nên khối hiển thị LCD cần có
những yêu cầu sau:
- Kích thước nhỏ gọn.

- Dễ dàng ghép nối và quan sát,
- Đảm bảo việc thực hiện các bài luyện tập cho người sử dụng,
- Thiết kế, chế tạo dễ dàng, giá thành hạ.
2.3.4.3. Tính toán, thiết kế.
Các thông số của SD – DM1602A:
- Điện áp cung cấp: V
DD
= 4.5 ÷ 5.5V
- Điện áp điều khiển: V
0
= V
DD
– 15.0V ÷ V
DD
+ 0.3V
- Dòng điện: 2mA
- Điện áp đèn BL: 4.2V
- Dòng điện đèn BL: 185mA
- Công suất đèn BL: P
BL
= 777mW
Từ các thông số trên ta chọn nguồn cung cấp: V
DD
= 5V
Điện trở đèn BL:
Ω=== 22
185.0
2.4
I
U

R
Sử dụng công tắc để bật đèn BL khi cần thiết và biến trở để thay đổi
điện áp V0 điều chỉnh độ tương phản của màn hình hiển thị.
Tổng công suất của khối LCD là:
( )
mW7877772.5PI.UP
BL
=+=+=
Hình 2.2.7: Sơ đồ nguyên lý mạch hiển thị LCD
Các chân DB0 đến DB7 được nối với 8 bit tương ứng Px.0 đến Px.7
của vi điều khiển, chân RS được nối vào chân P3.7, chân RW nối với chân
P3.6 và chân CS nối với chân P3.3 của vi điều khiển qua cáp nối 20 chân.
Sơ đồ board: phụ lục 3.5
2.3.5. Khối LED đơn (Mô hình giao thông).
2.3.5.1. Chức năng.
Hiển thị trạng thái logic tại các cổng. Hiển thị các ứng dụng đơn giản
kết hợp với các modul khác như trạng thái Run/Stop hoặc Left/Right. v.v…
Trong phần này hướng thiết kế tạo một mô hình giao thông ngã tư để các bạn
có thể lập trình điều khiển một hệ thống giao thông từ đơn giản là hiển thị
trạng thái các đèn cho đến kết hợp với modul led 7 thanh hiển thị thời gian
cho từng đèn. Hoặc ứng dụng riêng do người dùng phát triển.
2.3.5.2. Thiết kế và tính toán.
Không giống như Diode, LED sáng (Phân cực thuận) sẽ gây sụt áp trên
nó vào khoảng 1,7 ÷ 2,5V tùy màu LED. Và dòng định mức trong khoảng 10
÷ 40 mA. Khi đó ta có mạch điều khiển LED như sau.
Hình 2.2.8: Sơ đồ kết nối LED đơn
Giả sử mạch kết nối với đệm 74HC245 thì có mức logic 0 (từ 0 –
0,4V), và mức1 (từ 4,5 – 5V). Chọn dòng qua LED là 15 mA cho LED thật
sáng và điện áp rơi trên LED là 2V.
Xét hình a: LED sáng khi mức logic tại đầu IN là mức logic 0 vậy điện

áp đầu ra 74HC245 là 0,4V. Nên giá trị điện trở R1 là:
Ω=
−−
=

130
10.20
4,025
R
3
1
Suy ra chọn R1 = 150Ω.
Xét hình b: LED sáng khi mức logic tại đầu IN1 có mức logic1, ứng
với điện áp là 4,6V, nên giá trị điện trở R1 là:
Ω=

=

130
10.20
26,4
R
3
1
Suy ra chọn R1 = 150Ω.
Tuy nhiên khi thiết kế mạch như hình b thì phải đảm bảo dòng tại chân
vào IN phải đáp ứng được 20mA.
Ta có các cách mắc nối LED như sau.
Hình 2.2.9: Các cách nối LED đơn
Ở cách 3 một đầu ra của Vi điều khiển không thể cho ra dòng lớn hơn

1mA do vậy LED sáng rất mờ có thể không sáng.
Ở cách 2, sụt áp trên LED sẽ rất lớn 2V, 3V còn lại sẽ sụt áp trên Vi
điều khiển, gây tổn thất năng lượng lớn, hoặc LED sẽ bị cháy.
Ở cách 1, đây là cách tốt nhất, có điện trở hạn dòng. Trở được tính như
sau sao cho sụt áp trên nó khoảng từ 2V ÷ 2,5V và sụt áp trên Vi điều khiển
0,9V. Từ những tính toán ở trên điện trở hạn dòng cho LED không nên dưới
100Ω (không LED sẽ cháy).
Từ những phân tích và tính toán trên chúng em lựa chọn phương án 1
(Cách 1).
Với modul led đơn thì ta sẽ tính được công suất max mà mạch tiêu thụ
la khi 16 led cung sáng.
Với dòng trên mỗi Led là 20mA và điện áp nguồn là 5V
P = U.I = 5.16.15 = 1,2W
Sơ đồ board: phụ lục 3.6
2.3.6. Khối Led 7 thanh (LED 7-SEG).
2.3.6.1. Chức năng.
Tương tự như LCD dùng để hiển thị các thông số hay đếm xung, đồng
hồ.v.v… Chúng ta còn có LED 7 thanh được cấu tạo từ 7 led đơn xếp thành
hình số 8. Như vậy ta có thể hiện các con số từ 0 đến 9, hay hiển thị một số
chữ cái đơn giản.
2.3.6.2. Tính toán và thiết kế.
Như vậy ta có điện áp cung cấp cho LED 4V điện áp rơi trên LED 1,7
đến 2V như vậy điện trở hạn dòng cho từng led khoảng 150Ω đến 330Ω. Nếu
ta nối 1 điện trở hạn dòng cho toàn bộ 8 LED tại đầu Anot hoặc Catot chung
thì điện trở được tính như sau:
Do mỗi LED cần 15mA để LED sáng bình thường
Suy ra 8 LED có dòng tổng như sau: 8x15mA = 120mA.
Vậy giá trị điện trở đó được tính như sau:
Ω=


=

= 20
12.0
7.14
I
VV
R
tong
LEDoutH
Ta chọn loại điện trở 22Ω 1W do dòng đi qua lớn(120÷200mA)
- Các thông số HEC4511:
- Nguồn cung cấp Vcc: 5VDC
- Dòng điện tối đa Icc: 25mA
Tổng công suất của khối là:
P = U.I = 25.4. 5 = 500mW
Hình 2.2.10: Sơ đồ nguyên lý mạch Led 7 thanh
Sơ đồ board: phụ lục 3.7
2.3.7. Khối Ma trận (Matrix8x8).
2.3.7.1. Chức năng.
Hiển thị quang báo, thông tin hệ thống hay đồng hồ, đếm.v .v . Giúp
người dùng hiểu cách thiết lập mở rộng phần cứng và hiển thị những ứng
dụng riêng.
2.3.7.2. Thiết kế tính toán.
Mạch phải hiển thị rõ ràng, các ký tự dịch từng cột. Có khả năng hiển
thị nhiều phông.
Các LED trong Ma trận có thể sáng riêng lẻ nhau nếu ta đưa tín hiệu
điều khiển riêng biệt đến hàng và cột riêng biệt. Mỗi LED có thể sáng nếu ta
cấp một điện áp 1,7 ÷ 2V với dòng tối đa là 30mA. Vì LED ma trận có hàng
hiện thị ở mức cao, cột ở mức thấp nên ta cấp điện áp cho hàng và cột để hiển

thị. Vì tất cả các cột đều được điều khiển bởi ngõ ra của 74LS164, hàng điều
khiển bởi các cổng ra của Vi điều khiển, có dòng ra rất thấp. Do đó để đủ
dòng cấp cho LED ta phải thiết kế mạch khuếch đại công suất cho LED
Hình 2.2.11: Sơ đồ nguyên lý mạch Led Matrix
Tính toán cho led ma trận. Ta có phương trình sau:

×