1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giao tiếp giữa máy tính và bộ thí nghiệm vi Điều khiển 8951

129 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giao tiếp giữa máy tính và bộ thí nghiệm vi điều khiển 8951
Tác giả Nguyễn Ngọc Hải, Vũ Thái Dương
Người hướng dẫn Th.s Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Điện tử
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2002
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 129
Dung lượng 13,05 MB

Nội dung

Khi vi điều khiển thị hành chương trình, các ngõ ra được kết nối với các modul thí nghiệm điều khiển nếu có như động cơ bước, led 7 đoạn, đèn giao thông, Ngoài ra dữ liệu ở ngõ ra cá

Trang 1

BO GIAO DUC VA DAO TAO TRUONG DAI HOC SU’ PHAM KY THUAT

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

ĐỎ ÁN TÓT NGHIỆP NGÀNH LUẬN VĂN TÓT NGHIỆP

GIAO TIEP GIU’A MAY TINH VA

BO THI NGHIEM VI DIEU KHIEN 8951

GVHD: NGUYEN THANH HAI

SVTH: NGUYEN NGOC HAI

Trang 2

Bộ Giáo Dục Và Đào Tạo Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam

‘Trung Dai Học Sư Phạm Kỹ Thuật Độc Lập~Tự Do-Hạnh Phúc

Trang 4

4 wee thế „ad

TRUONG DAI HOC SU PHAM KY THUAT

KHOA : ĐIỆN - ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ

NHẬN XÉT LUẬN VĂN TỐT NGHIỆP

pc.€2A.>38

Giáo viên hướng đẫn : Th.a Nguyễn Thanh Hải

Họ và tên sinh viên: Nguyễn Ngọc Hải

Trang 5

Ngày thang năm 2002

Giáo viên hướng dẫn

Trang 6

BO GIAO DUC VA DAO TAO

TRUONG DAI HOC SU PHAM KY THUAT

KHOA : ĐIỆN_ ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ

NHẬN XÉT LUẬN VĂN TỐT NGHIỆP

CỦA GIÁO VIÊN DUYỆT

Giáo viên duyệt

Họ và tên sinh viên : Nguyễn Ngọc Hải

Trang 7

Ngày tháng năm 2002

GIÁO VIÊN DUYỆT

Trang 8

LOI CAM TA

Trải qua thời gian thực hiện Luận Văn Tốt Nghiệp và kết quả đã hoàn

thành tốt Luận Văn Tốt Nghiệp là kết quả của quá trình phấn đấu và học tập

không ngừng trên giảng đường đại học Kết quả mà chúng em đạt được ngày hôm nay chính là nhờ công ơn chăm sốc, giáo dục của Cha Mẹ, quý Thầy Cô, cùng với sự giúp đỡ, khích lệ của anh chị em, bạn bè Đã giúp chúng em vượt qua những khó khăn và trở ngại để hoàn thành tốt luận văn theo đúng thời

gian đã dé ra

Chúng em vô cùng biết ơn quý Thầy Cô của Trường Đại Học Sư

Phạm Kỹ Thuật TP-HCM nhất là quý Thay Co Khoa Điện - Điện Tử

đã không ngại khó khăn truyền thụ cho chúng em những kiến thức quý báu

trong những nấm qua

Chúng em xin chán thành cám on Thay: Nguyễn Thanh Hải đã dành nhiều thời gian quý giá để chỉ bảo và hướng dẫn tận tình cho chúng em hoàn thành Luận Văn một cách tốt nhất mặc dù gặp rất nhiễu khó khăn

Nguyễn Ngọc Hải - Võ Thái Dương.

Trang 9

LOI NOI DAU

Ngày nay, khoa học kỹ thuật phát triển các ngành kỹ thuật mũi nhọn như tin học, điện tử phát triển như vũ bảo nhờ vào sự phát triển của công nghệ bán dẫn tích hợp Các linh kiện rời dần được thay thế bằng các vi mạch tích hợp, đặc biệt là các bộ vi xử lí, vi điều khiển ngầy càng phát triển Các bộ vi điều khiển được ứng dụng nhiều trong các thiết bị dân dụng như tivi, máy giặt làm cho việc điều khiển tỉnh vi hơn, tiết kiệm năng lượng hạ thấp giá thành sản phẩm

Môn học vi xử lí, vi điều khiển cũng được đưa vào giảng dạy trong, các trường đại học và cao đẳng ngày càng nhiều đưới hình thức một môn học hoặc chuyên để Tuy nhiên, để có thể sử dụng vi điều khiển thiết kế một hệ thống thì đòi hỏi ngươi thiết kế phải hiểu rõ phần cứng lẫn phần mềm để ứng dụng điểu khiến các hệ thống nhỏ Tuy nhiên thời gian môn học ít, thiết bị chưa được trang bị nhiễu

Là sinh viên nám cuối ngành điện-điện tử, chúng em đã được thầy (cô) trang bị kiến thức về điện, điện tử và kiến thức sư phạm đặc biệt là chúng em được học qua lớp thực tập ví diéu khiển nên đã có những hiểu

biết cơ bản về vi điều khiển Mặt khác, chúng em nhận thấy bộ thí

nghiệm vi điều khiển của trường được trang bị khá mạnh sử dụng vi điều khiển 80535 nhưng giao diện còn sử dụng trên môi trường DOS do đó người dùng gặp nhiều khó khán trong việc soạn thảo chương trình, biên dịch mất nhiều thời gian kết nối các modun mở rộng Từ đó, chúng em chọn để tài tốt nghiệp “ứng dụng vi điểu khiển .”nhằm mục đích tìm hiểu kỹ hơn về vi điều khiển và để cũng cố lại kiến thức đã học đồng thời chúng em mong muốn sẽ khắc phục những nhược điểm của những

bộ thực tập như đã nêu trên

Với mục đích chúng em học hỏi những kiến thức về chuyên ngành điện tử nên chắc chắn trong luận văn tốt nghiệp sẽ còn nhiều sai sót Rất mong sự chỉ bảo của quý thây cô và các bạn sinh viên

Trang 10

Như đã giới thiệu ở “lời nói đâu” nhiệm vụ được để ra trong để tài

là đi tứnh toán và thiết kế bộ thí nghiệm vi điều khiển có giao tiếp máy

tính cũng như chương trình để bộ thí nghiệm có thể hoạt động độc lập

Khi giao tiếp với máy tính bộ thí nghiệm nhận chương trình từ máy

tính và thi hành chương trình này theo lệnh điểu khiển Khi vi điều

khiển thị hành chương trình, các ngõ ra được kết nối với các modul thí

nghiệm điều khiển nếu có như động cơ bước, led 7 đoạn, đèn giao

thông,

Ngoài ra dữ liệu ở ngõ ra các Port này được đưa ngược lên máy tính tien thi rên màn bình nhằm mô phỏng hoạt động của các modul nói

trên để khắc phục nhược điểm thiếu thốn các thiết bị

Board mạch này có thể tạo ra các tín hiệu giả lập (mô phỏng các tứn hiệu bên ngoài) cung cấp cho người sử dụng ví dụ tạo tín hiệu xung vuông, tín hiệu định thời cung cấp cho chương trình ứng dụng của người

sử dụng

Khi hoạt động độc láp board thí nghiệm có khả năng nhận đữ liệu

và chương trình từ bàn phím

2 Yêu Cầu Của Đề Tài:

eNgười sử dụng bộ thí nghiệm này có thể dễ dàng sửa đổi, kiểm tra lỗi, chạy thử chương trình của mình theo mong muốn

C6 nhiéu ngõ vào ra để người sử dụng kết nối và điều khiển

những modul nhỏ như: điều khiển động cơ bước, led 7 đoạn, đèn giao thông

«Phần mềm giao diện đẹp dễ sử dụng cho người lập trình, sau khi

lập trình chương trình biên dịch thành mã máy, nạp xuống bộ nhớ RAM

và điều khiển vi điều khiển hoạt động theo chương trình đó

eĐảm bảo tính sư phạm Đảm bảo một số tính năng như tính thẩm

Trang 13

1- Nguyên tắc hoạt động chung:

Khối vi điều khiển: là khối trung tâm điểu khiển mọi hoạt động

của mạch Khi giao tiếp với máy tính, khối này nhận lệnh từ máy tính,

chương trình của người viết truyền từ máy tính vào bộ nhớ RAM và thực

thị, Khí hoạt đồng đóc lấp nó nhận lệnh và dữ liệu từ bàn phím

Khối giao tiếp máy tính bao gồm khối truyền dữ liệu nối tiếp UART và khối giao tiếp đương truyền Khối UART có nhiệm vụ chuyển tin hiệu xong song thành nối tiếp và ngược lại Khối giao tiếp đường

truyền có nhiệm vụ chuyển mức tín hiệu từ chuẩn RS232 của máy tính sang chuẩn TTL

Khối giao tiếp vào ra (I/O): gồm các vi mạch 8255 có nhiệm vụ

giao tiếp với các ứng dụng bền ngoài như bàn phím, ma trận led và các

port

Khối bộ nhớ: Gém có bộ nhớ chương trình (ROM) ding để lưu

chương trình điểu khiển (chương trình monitor ), chương trình ứng dụng

và bộ nhớ dữ liệu/chương trình (RAM) dùng để lưu chương trình thử

Khối đệm: có nhiệm vụ đệm dòng trước khi xuất ra tải

Khối giải mã địa chỉ: dung để phân vùng không gian bộ nhớ

Khố reset: dùng để đặt lại trạng thái ban đầu của mạch

Khối dao động tạo tín hiệu xung Clock cho vi điều khiển hoạt

động

Khối bàn phím và hiển thị: dùng để nhập và xuất dữ liệu cho các

hoạt động của vi điều khiển

Khối ma trận led: dùng cho ứng dụng hiển thị các chỉ thị ký tự

Khối CPU phụ: chỉ gồm một vi điều khiển 8951 nhận tín hiệu từ

ngõ ra của các port I/O truyền lên máy tính và tạo các tín hiệu giả lập

Khối chuyển mạch: có nhiệm vụ chuyển mạch kết nối giữa máy

tính với vi điều khiển chính hoặc phụ

Khối nguồn: ổn áp và cung cấp năng lượng cho toàn mạch

1- Phương Án Lựa Chọn Của Từng Khối:

2.1) Khối Giao Tiếp Máy Tính:

2-77, TT: Tits Deng & Nyuyin Ngee Tete Trang 2

Trang 14

Để người sử dụng có thể dễ dàng thay đổi chương trình hoặc điều

khiển trực tiếp bằng máy tính nên chúng em sử dụng khối giao tiếp máy

tính Day cũng là một phân mới mà đa số các KIT vi điều khiến trước đây chưa làm được

Để giao tiếp giữa máy tính với thiết bị ngoại vi ta có nhiều phương

án để lựa chọn

Sử dụng cổng máy in (truyền song song)

Sứ dụng Card cắm trên khe cắm mổ rộng (truyền song song)

Sử dụng cổng COM (truyền nối tiếp)

2.1.1.) Phương Ấn Sử Dung Cổng Song Song (Hay Còn

Trang 15

Cổng song của máy tính có tổng cộng 25 đường trong đó có 17

đường tín hiệu Các đường dẫn này có thể tận dụng để trao đổi dữ liệu

có tốc độ nhanh với các mạch điện ghép nối

Cổng song song được điều khiển bởi 3 thanh ghi : thanh ghi dữ liệu

thanh ghi trang thái và thanh ghi diéu khiển Địa chỉ từng thanh ghi của

cổng chính là địa chỉ cơ sở của cổng cộng với độ lệch của thanh ghi đó Giao diện song song thường chiếm một trong hai địa chỉ cơ sở sau: 378H

Hình 2.2: cấu trúc thanh ghi dữ liệu cổng song song

B)Thanh ghi trạng thái:

Độ lệch bing 1

[SV GTC We Thi Dựng & G1puymnSAp Sle Team]

Trang 16

Hình 2.4: Cấu trúc thanh ghi diéu khiển

Các đường tín hiệu của cổng máy in đều tương thích với mức TTL

và cho phép dòng tải khoảng 10mA, việc truy nhập đến các thanh ghi

cổng LPT bằng các ngôn ngữ lập trình rất đơn giản

Ưu nhược điểm:

| PV IS: Ve Fide Drang & Nguyen Ngo OCH : Trang 5

Trang 17

Ladin vin tht nghiipe : GVHD Nouyin Thanh Hae

Việc sử dụng cổng song song để giao tiếp với thiết bị ngoại vi có ưu

điểm tốc độ truyền dữ liệu nhanh việc điều khiển đơn giản

Phương án sử dụng slot card:

sử dụng Slot Card khi bắt đầu làm luận văn này chúng em đã làm

một Card giao tiếp máy tính sử dụng vi mach lập trình được 8255A cắm

trên khe cấm mở rồng với địa chỉ có thể thay đổi được trong khoảng

s00h 31h Card chay tt va có thể xuất dữ liệu ra hoặc đọc vào trên cả

4 Port cla 8255A : Port A, Port B va Port C, Ching em đã thử quét Led

Trong máy tính việc truyền nối tiếp được thực hiện qua cổng COM

Thông thường ở phía sau máy tính đều có hai cổng COM dưới dạng phích cắm 9 chân hoặc 25 chân

Xem hình 2.6

[TV IT Ve Tae Drang & NMjupin Ole

Trang 19

Lutn vin tél nghey & Si: lễ WIAD Nguyin Thanh Hail ey

1 Data Carrier Detect DCD | Phát hiện tín hiệu mang |_ Vào

Carrier Detect dữ liệu Receiver Data RxD Nhận dữ liệu Vào

| hoat dong giống với

7 Request tosend | RST Yêu cầu gửi ; bộ truyền | Ra

đặt đường này lên mức

hoạt động khi sẵn sàng truyền dữ liệu

8 Clear ToSend | CTS Xoá để gửi ; bộ nhận | Vào

đặc đường này lên mức

hoạt động để thông báo

9 Ring Inddicotor | RI Báo chuông , cho biết | Vào

là bộ nhận đang nhận tín hiệu rung chuông

Trang 20

Hình 2.6: Hình đạng bên ngoài của cổnh COM

Sơ lược về truyền nối tiếp :

Như ta đã biết khi truyễn song song thì các bit được phát đồng thời trên các đường dây riêng lẻ còn truyền nối tiếp thì các bit được phát đi

từng bit một ở từng thời điểm và tuần tự trên cùng một đường truyền

Truyền nối tiếp có hai phương pháp chính là truyền đồng bộ và bất đồng

bộ

Truyền đồng bộ nơi thu sẽ dịch các bit ký tự vào thanh ghi dich

cùng nhịp với nơi phát Việc truyền như vậy được thực hiện do ta cung cấp xung clock ngõ vào CLK cho cả hai thanh ghi dịch

Bất lợi của phương pháp truyền đồng bộ là cần phải gởi tín hiệu xung Clock song song với dữ liệu trên một kênh truyền thứ hai

Trang 21

Stop vao sau cde bit dữ liệu

Việc tryển dữ liệu được tiến hành trên đường dẫn truyền TxD và đường dẫn nhận RxD các đường dẫn còn lại đóng vai trò là đường dẫn

bat tay điều khiến dòng dữ liệu nối tiếp

Do tứn hiệu được xử lý trén máy tính hay trong vi điều khiển ở dang song song nền trước khi truyền ta phải chuyển từ tín hiệu song song

thành nối tiếp hoặc tín hiệu sau khi nhận được từ nối tiếp phải chuyển

thành song song Công việc này do các bộ UART đầm nhận

Dữ liệu sau khi xử lý can truyền đi được đưa đến UART ở dạng

song song nó có nhiệm vụ thêm các bit Start, Stop, Parity nếu có rồi truyền đi theo đúng tốc độ chuẩn quy định

Ngược lại khi nhận được một ký tự nó tách bit Start, Stop, kiểm tra Parity để lấy dữ liệu ra Nếu ở chế độ ngắt nó sẽ báo cho máy tính biết

để xử lý Nếu đó là quá trình hỏi vòng nó sẽ đợi máy tính đọc và nhận

ký tự tiếp theo

2.2.) Khối Điều Khiển Trung Tâm (CPU):

Như ta đã nói ở phần trước, mục đích của đề tài là đi thiết kế hệ thống KIT thực tập vi điều khiển Một hệ thống vi điều khiển tối thiểu

chỉ gồm có chịp vi điều khiển 8951 và các mạch phụ trợ như mạch reset,

mạch dao động thạch anh và các ngõ ra của các port điều khiển Như vậy, hệ thống này hoạt động được là nhờ chương trình cụ thể bên trong chip (ROM nội) ngoài ra để vi điều khiển có thể hiểu được chương trình đọc từ ROM nội thì ta phải nối chân EA\ lên Vcc Như vậy việc điều khiển chỉ phụ thuộc vào chương trình Ví dụ chương trình cụ thể tạo dao động ở port 1

Trang 22

Delay: mov r7,#Offh

Del: mov r6,#Offh

những đường địa chỉ cao A8-A15 Như vậy bộ vi điều khiển này chiếm

không gian địa chỉ là 64 kbyte, lúc nay dé vi điểu khiển hiểu được chương trình thực hiện từ bộ nhớ ngoài thì chân EA\ được nối xuống GND Ti đó ta thiết kế KIT thực tập sử dụng vi điều khiển AT89C51 sử dụng bộ nhớ ngoài và giao tiếp /O qua các IC ngoại vi 8255

Hình dưới chỉ ra một sơ đổ nguyên lý của mạch điện sử dụng bộ vi điều khiển sử dụng bộ nhớ chương trình bên ngoài Bên cạnh bộ CPU là mạch reset, mạch dạo động và mạch chốt địa chỉ Vì vi điều khiển có chung đường dữ liệu và đường địa chỉ mức thấp nên ta cần phải tách riêng biệt hai đường này để điều khiển Việc dồn hai đường dữ liệu và địa chỉ trên cùng port l theo phương pháp phân chia theo thời gian TDM (time division mutilplexing) Dé déng bé giữa bên phát và bên thu vi điều khiển truyền đi đường đồng bộ đó là chân ALE

Ở chu kỳ đầu tiên T1 tín hiệu ALE từ bộ phát (vi điều khiển) tạo ra một xung báo cho phía thu (ROM,RAM ) biết trên bus AD chỉ là những đường địa chỉ Ở chu kỳ sau tín hiệu ALE báo cho phía thu biết trên bus

AD chỉ là những tín hiệu dữ liệu Để tách địa chỉ ra khỏi dữ liệu ta sử dụng IC chốt 74HC573

Khi chân E ở mức logic [1] tín hiệu ở ngõ vào của 74HC573 thay

đổi sẽ làm thay đổi ở ngõ ra

Trang 23

Lectin ven đất nghibps GVHD: Nouyin Ghanh Hee

Khi chân E ở mức logic [0] tín hiệu vào ngõ vào thay đổi ngõ ra vẫn

giữnguyên giá trị cũ Vì vậy ta sử dụng IC chốt 74HC573 kết hợp với

chân ALE làm bộ giải mã để tách riêng hai tín hiệu địa chỉ và dữ liệu

Hình 2.7: giải đa hợp hai bus địa chi va dữ liệu

©_ Hoạt động của vi điều khiển:

Chương trình hoạt động của hệ thống do người thiết kế sau khi được

nạp vào bộ nhớ chương trình (bộ nhớ nội hoặc bộ nhớ ngoại) của vi điều khiển Khi hoạt động CPU sẽ hoạt động theo chương trình này

Khi vừa reset hệ thống bộ đếm chương trình PC sẽ bằng 0000

và con trỏ trồ về địa chỉ 0000h và bắt đầu thực hiện tại địa chỉ này

Dữ liệu của ô nhớ này được đưa vào thanh ghi lệnh (ïnstruction register) sau đó dữ liệu đó sẽ đưa vào bộ giải mã lệnh (ïnstruction detector) bộ giải mã sẽ cho biết dữ liệu từ ô nhớ đó là dữ liệu hay lệnh và dữ liệu đó chiếm bao nhiêu byte, khi đó nó sẽ tự động tăng con trồ chương trình lên bấy nhiêu lần Sau đó nó đi thực hiện nhận

dữ liệu và xử lý tùy theo lệnh đó yêu cầu Sau khi thực hiện xong lệnh đó chương trình sẽ trả lại giá trị con trổ chương trình và tiếp tục thực thi lệnh kế tiếp

2.3.) Khối Dao Động:

Họ vi điều khiển MCS-51 đã trang bị khối kết hợp với dao

động bên ngoài Tuỳ theo các ứng dụng của người sử dụng mà

người thiết kế sẽ tạo tần số dao động hợp lý bằng cách mắc thêm một thạch anh và hai tụ ổn định tân số như hình vẽ

lÈ/2⁄c72š\/32⁄/7752/798:42//0585//'E:7/TNNRNNNRN:TZ77

Trang 24

| Luin vim Wil nyhiip cóc IVAD Nguyin Thanh Head

Tan số dao động riêng bên trong IC đã được thiết kế cho loại

89C51 trong khoảng từ 1-12Mhz Vì vậy ta có thể mắc vào thạch anh

nằm trong khoảng tan số này thì mạch hoạt động sẽ ổn định

Hinh 2.8: Kết nối với mạch dao động ngoài

Độ chính xác về tán vố của bộ cộng hưởng thạch anh thường cỡ 0,01%, Nếu ứng dụng hệ thống ví điều khiển cần chính xác về thời gian

ta có thể mắc thêm một biến dung tính chỉnh có giá trị từ 5-20 pF như hình vẽ dưới

Hình 2.9: Kết nối với mạch dao động ngoài

Cũng có thể lấy tân số dao động của mạch ra ngoài để ứng dụng

trong những công việc khác tuỳ theo yêu cầu của người sử dụng bằng

cách đệm qua cổng NAND, hoặc cũng có thể sử dụng tân số từ bên ngoài để đồng bộ hoạt động của mạch

| IVI Ve Thee Trang _& Nguyen gee Othe Trang 13]

Trang 25

Hình 2.10: Mạch xuất tín hiệu ra ngoài

bền ngoài | bên trong

Hình 2.11: 4ch sử dung dao động từ bên ngoài

2.4.) Mạch Khởi Đông Lại:

điện trở khoảng 5-10kQ xuống mass

Như vay dé reset được hệ thống khi cấp nguồn ta mắc thêm một

mạch tích phân RC như hình vẽ

bên ngoài| bền trong

USA, +

2414 30-100k

Hình 2.12:Sơ đồ kết noi mach Reset

Trang 26

Khi hệ thống bị reset một số thanh ghi bị reset về giá trị ban đầu 0 quan trọng nhất là thanh ghi PC (bộ đếm chương trình) được nạp giá trị 0000h Chương trình bắt đầu thực thi tại địa chỉ này Nội dung RAM

trong mạch khóng ảnh hưởng bởi hoạt động này

IMOD Thanh ghi chế độ bộ định thời 0000 0000b TCON Thanh ghi điều khiển bộ định thời 0000 0000b TL0 Thanh ghi bộ định thời 0 (low byte) 00h TH0 Thanh ghi bộ định thời 0 (high byte) 00h TLI “Thanh ghi bộ dinh thdi 1 (high byte) 00h

THI Thanh ghỉ bộ định thời 1 (Iow byte) 00h

2.5.) khối Bộ Nhớ:

Như ta đã nói ở phần trước họ vi điều khiển MCS-51 có khả năng quần lý được tối đa 64 kbyte không gian bộ nhớ ngoài Để cho hệ thống hoạt động được cần phải có chương trinh monitor chita trong ROM va

[TVGEC Ve Tha Drang & Nguyen 1p GEP Trane 15]

Trang 27

Luin vein lit nyhibpe : GVHD Nouyin Thanh Hii

Vì khi nhấn nút reset hệ thống bộ đếm chương trình PC trở về địa chỉ 0000h và thực hiện tại địa chỉ đó Do đó, phải bố trí EPROM đầu

tiên có địa chỉ từ 0000h đến IFFFh (gọi là MONITOR EPROM) chứa chương trình monitor để mạch hoạt động

EPROM thé hai sẽ đất tại địa chỉ kế của con thứ nhất: chiếm vùng

địa chỉ từ 2000h đến 3I''Í:h (gọi là USER EPROM) EPROM này chứa các ứng dụng của ngươi sử dụng và các chương trình Demo mà không

cần thiết cho hoạt động của chính của mạch

Để vị điều khiển nhận biết được đây là vùng nhớ chương trình để

thực thi được ta phải kết nối chán PSEN\ của vi xử lý đến chân CE\ của

EPROM như hình dưới

ROM CHUONG TRINH

Vùng nhớ RAM sử dụng 16kbyte gồm hai IC 6264 Hai IC nay chiếm không gian địa chỉ tiếp theo của hai EPROM :

IC1 chiếm không gian địa chỉ từ 4000h đến 5FFEFh

IC2 chiếm không gian đại chỉ từ 6000h đến 7FFFh

Để người dùng có thể dễ dàng sửa đổi và chạy thử chương trình của

mình thì chương trình này phải được nạp vào bộ nhớ RAM Vậy vùng

Trang 28

Lukin vin Ue nyhiips : = GVHD: Nyuyin Thanh Kid

nhớ của hai IC này có thể vừa được xem như là bộ nhớ dữ liệu vừa là bộ nhớ chương trình khi vi điều khiển thực thi chương trình từ RAM ngoại

Để thực hiện được điểu này chỉ có thể thực hiện bằng cách cho cho không gian bộ nhớ chương trình và dữ liệu gối lên nhau Vì chan PSEN\

được dùng để đọc bộ nhớ chương trình và chân RD\ dùng để đọc bộ nhớ

dữ liệu Nên để bộ nhớ RAM có thể vừa là bộ nhớ chương trình vừa là

bộ nhớ dữ liệu thì ta nối chân PSEN\ và RD\ tới 2 ngõ vào của cổng AND và ngõ ra của cổng AND này được nối tới ngõ vào OE\ của bộ nhớ

RAM như sơ đồ kết nối

OM CHUONG TRINH RAM CHƯƠNG TRÌNH

IC1 (8255A) dùng làm quét phim và hiển thị

IC2 (8255B) ding làm hiển thị lên ma trận Led

1C3 (8255C)và IC4 (8255D) dùng làm các ngõ I/O điều khiển tùy

Trang 29

IC 74LS138 1a loai IC gidi ma (Decoder/Demultiplexer) ngõ vào là

số đếm nhị phân tương ứng với ngõ ra là những đường điều khiển Vì vậy, nó được ứng dụng làm bộ giải mã địa chỉ trong các hệ thống vi điều khiển các ngõ ra tác động vào chân chọn CS (Chip Select) của các IC

IC 74LS138 c6 sơ đồ chân như sau:

Chức năng các chân của IC 74LS138:

*Vẹc, GND: dùng cấp nguồn cho IC hoạt động Vẹc được nối đến cực dương của nguồn (+5V do là IC họ TTL), GND được nối đến cực âm của nguồn (0V)

*Ao, Ai, Az: cdc ngé vao chọn trạng thái ngõ ra (có thể coi như đây

là các đường địa chỉ của IC 74LS138) Tổ hợp trạng thái logic của 3 ngõ vào này ta sẽ được 8 trạng thái logic khác nhau ở 8 ngõ ra của IC (2Ÿ = 8)

*EI\, E2\, E3: Ba ngõ vào điều khiển IC IC chỉ được phép hoạt

động bình thường khi cả 3 chân này đều ở mức logic cho phép IC hoạt

động (cụ thể là E1, E2 ở mức logic thấp, E3 ở mức logic cao) Chỉ cân 1

trong 3 chân này ở mức logic không phù hợp thì IC sẽ bị cấm ngay lập tức (tất cả các ngõ ra đều ở mức logic cao) bất chấp trạng thái ở các ngõ

vào còn lại

*Oạ — O;: các ngõ ra của IC Tùy thuộc vào trạng thái của các

đường địa chỉ mà ta có trạng thái ở ngõ ra tương ứng Khi IC đang hoạt

động bình thường (cả 3 chân điểu khiển đều ở mức logic cho phép) thì tại một thời điểm nhất định chỉ có một ngõ ra duy nhất được ở mức logic thấp, tất cả các ngõ còn lại đều phẩi ở mức logic cao

Trang 30

H: High Voltage Level

L: Low Voltage Level

Trang 31

3.1.2) Nguyên tắc hoạt động của IC 74LS138:

Dựa vào bảng trạng thái ta thấy: chỉ cần 1 trong 3 chân cho phép (ŒI, E2, E3) ở trạng thái cấm (không cho phép IC hoạt động) thì tất cả

các ngõ ra của IC 74LS138 đều ở mức logic cao bất chấp trạng thái logic

của các chân địa chỉ (Ao, A, A;) Chẳng hạn như khi chân E1 ở mức logic cao thì tất cả các ngõ ra của IC đều ở mức logic cao, bất chấp trạng

thấi của các chân còn lại như: E2, E3, Áo, Ai, Az

Ta nhận thấy khi cả 3 đường địa chỉ đều ở mức logic thấp 000 (với điểu kiện là các ngõ vào điều khiển đều phải ở mức logic thích hợp để

IC hoat dong) thì chí cá duy nhất một ngõ ra đầu tiên là ở mức logic thấp, tÁI cả các ngõ ra còn lại đu ở mức logic cao

Khi địa chi dua vao IC táng lên một (001) thì mức logic thấp này được chuyển đến ngõ ra thứ hai và cũng chỉ có duy nhất ngõ ra này ở

mức logic thấp

Khi địa chỉ đưa vào IC là 111 thi mức logic thấp sẽ ở ngõ ra cuối cùng (O;)

Như vậy, mức logic thấp ở ngõ ra sẽ di chuyển tương ứng với địa

chi dua vao IC

cả hai chân này làm việc độc lập với nhau Trạng thái logic ở ngõ vào

và ngõ ra của IC không đảo nhau

IC 74HC573 có sơ đồ chân như hình:

Trang 32

Ladin view tél nyhid ¥ GAD, Nouyin Thanh Hei

3.2.2.) Chức năng các chân của IC như sau:

*Vcc, GND: Hai chân này dùng để cấp nguồn nuôi cho IC, Vẹc được nối với +5V, GND được nối mass

*LE: (Latch Enable) chân cho phép chốt dữ liệu Khi chân này ở mức logic cao thì dữ liệu mới được phép nhập vào IC, khi nó ở mức logic thấp thì dữ liệu mới không được phép nhập vào và dữ liệu cũ (đã được đưa vào trước đó) vẫn còn ở ngõ ra của nó

*OF: (Output Enable) chân cho phép xuất dữ liệu Khi chân này ở mức logic thấp thì dữ liệu ở ngõ ra của Flip-Flop (bên trong IC) được đưa ra ngoài Ngược lại, khi chân này ở mức logic cao thì dữ liệu không được phép đưa ra ngoài và tất cả các ngõ ra đều ở trạng thái tổng trở

cao

*D, ~ Dy: (Data Inputs) cdc ng vao cia IC Da liéu dugc dua vao

1C thông qua các ngõ này

#O¡ — Ó¿: (outputs) các nzõ ra tượng ứng với các ngõ vào trên Cụ

thể là ngõ ra O¡ tương ứng với ngõ vào Dị, O; tương ứng với D¿, O;

Hình 3.4: Sơ đồ mô tả hoạt động bên trong của IC 74HC573

Bang cdc trạng thái hoạt động của IC 74HC573:

Trang 33

H: High Voltage Level

L: Low Voltage Level

7: High Impedence (tổng trở cao),

X: Immaterial (khong quan trong)

Dạ: ngõ vào thứ n của ÍC

ra: ngõ ra thứ n (tương ứng ngõ vào thứ n)

3.2.3.) Nguyên tắc hoạt dong của IC 74HC573:

Dựa vào bảng trạng thái ta nhận thấy dữ liệu mới chỉ được phép

truyền qua IC khi cả hai chán điều khiển (LE và OE) ở mức logic thích

hợp: LE ở mức logic cao, OE ở mức logic thấp Khi cả hai chân điều

khiển ở trạng thái này thì dữ liệu ở ngõ vào sẽ được đưa vào bên trong

IC (truyền qua các Flip-Flop) và đưa thẳng ra ngoài thông qua các cổng

đệm ngõ ra 3 trạng thái

Khi chân OE ở mức logic thấp (cho phép) mà chân LE cũng ở mức logic thấp (cấm) thì dữ liệu ở ngõ ra của IC là dữ liệu cũ (vừa mới được truyền qua IC) Lúc này dữ liệu mới ở ngõ vào sẽ không được phép nhập vào IC

Ngược lại, khi chân OE ở mức logic cao thì ngõ ra của IC sẽ ở trạng

thái tổng trở cao, bất chấp trạng thái logic của các ngõ vào còn lại Mặc

đù ngõ ra ở trạng thái tổng trở cao nhưng dữ liệu ở ngõ vào (nếu có) vẫn

được phép đưa vào IC (đưa đến ngõ ra của các Flip-Flop ở bên trong IC) Dữ liệu này sẽ được phép truyền đến ngõ ra khi chân OE về lại

mức logic thấp

Khi cả hai chân điều khiển đều ở trạng thái cấm (chân OE ở mức

logic cao, chân LE ở mức logic thấp) thì ngõ ra sẽ ở trạng thái tổng trở

cao và ngõ vào sẽ không được phép nhập dữ liệu mới vào Như vậy, ở

CC Z⁄28/35⁄7787T72N.X5//7212777]/288W8NN Trang 22]

Trang 34

D¿-Dạ: Data bus (Bi-Direction)

RESET: Reset input

Trang 35

8255 giao tiếp với vi điều khiển thông qua 3 bus : bus dữ liệu bit

(Dz-D) bus địa chỉ (A¡,Aa), bus điều khiển (RD\,WR\.SC\.Reset)

Mã lệnh, thông tin trạng thái và dữ liệu đều được truyền trên 8

đường dữ liệu D;-Dọ Vi điểu khiển gởi dữ liệu đến 8255 hoặc đọc dữ liệu từ 8255A tùy thuộc vào lệnh điểu khiển Các đường tín hiệu

RID\.WR\ của 8255 được kết nối với các đường RD\, WR\ của vi điều

khiển

Tín hiệu Reset dùng để reset 8255 khi mới cấp điện Khi bị Reset

các thanh phí bén trong của 8255 đều bị xóa và 8255 ở trạng thái sẵn sang làm việc Khi giao tiếp với vị điều khiển, để đồng bộ với vi điều

khiến ngõ vào tín hiệu Reset nay được kết nối đến chân reset củavi điều

khiển

lin higu Chip select CS\ dung để lựa chọn 8255 khi vi điểu khiển,

giao tiếp với nhiều 8255

8255 có 3 Port xuất nhập (I/O) 6 tén la Port A, Port B, Port C, méi

Port 8255 có 8 bít, Port A gồm PAg-PA;, Port B gồm PBạ-PB¿, Port C gồm các bit PCạ-PC; Các Port này có thể là các Port Input hay Output

tùy thuộc vào từ điều khiển, từ điều khiển do vi điều khiển gởi đến chứa

trong thanh ghi lệnh (còn gọi là thanh ghi điều khiển) để điều khiển

8255

các đường địa chỉ A¡Aạ của 8255 dùng để lựa chọn các Port va

thanh ghỉ A,Ag=00; dùng để chọn Port A, A,Ao=01; dùng để chon Port

B, A¡Aœ=10; dùng để chon Port C, A¡Ag=11¿ dùng để chọn thanh ghi điều khiển

Trong sơ đồ khối của 8255, các Port LO của 8255 chia ra làm 2

nhóm: nhóm A gồm Port A và bit cao của Port C, nhóm B gồm Port B và

4 bit thấp của Port C Để sử dụng các Port của 8255 người lập trình phải

gởi từ điều khiển ra thanh ghi điều khiển để 8255 định cấu hình cho các

Port đúng theo yêu cầu mà người lập trình mong muốn

Trang 36

Các bit DạD,Dạ dùng để định cấu hình cho nhóm B;

Bit Dp dùng để thiết lập 4 bit thấp của Port C

Dạ=0: Port C (bốn bit thấp)xuất dữ liệu (outpu0

Do=1: Port C (b6n bit thấp) là port nhập dữ liệu (Input)

Trang 37

Latin vin lit nyhisp _ SWHD, Nouyin Thank Hea

Bit D¡ dùng để thiết lập Port B

D¡=0: Port B là Port xuất dữ liệu (output)

D,=1: Port B là Port nhập dữ liệu (input)

Bit D2 ding để thiết lập Mode điều khiển của nhóm B:

D;=0: nhóm B hoạt động ở mode 0

D;=1: nhóm B hoạt động ở mode 1

Các bit D¿D;D„Dạ dùng để định cấu hình cho nhóm A:

Bít D; dùng để thiết lập 4 bit cao của Port C

Dy=0: Port C là Port xuất dữ liệu (output)

Dy=1: Port C Ja Port nhap dif liéu (input)

Bịt Dạ dùng để thiết lập Port A,

Dạ=0: Port A 1a Port xuất dữ liệu (output)

Dặ= 1: PorLA là Port nhập dữ liệu (input)

Bít ÐụD dùng để thiết lập Mode điều khiển của nhóm B:

DeDs=00:nhém A hoạt động ở mode 0

D;D;=01: nhóm A hoạt động ở mode I

DạD¿=1x: nhóm A hoạt động ở mode 2

3.3.3.) Giao Tiếp Giữa Vi điều khiển Với 8255

Vi mạch 8255 có thể giao tiếp với vi xử lý theo hai kiểu xuất nhập

(/O) và kiểu bộ nhớ

Khi vi điều khiển giao tiếp với 8255 theo kiểu I/O thì nó chỉ dùng 8

đường địa chỉ từ Ao đến A; có thể định được 2? IC 8255 (vì 8255 chỉ có

hai đường địa chỉ) Khi giao tiếp theo kiểu bộ nhớ thì có thể nó dùng 16 đường Ao đến A;; để giao tiếp, vì vậy dung lượng giao tiếp theo kiéu /O

thấp hơn dung lượng giao tiếp theo kiểu bộ nhớ

3.3.3.1) Giao tiếp kiểu UO:

Cũng giống như bộ nhớ Vi điều khiển có thể giao tiếp với nhiều vi

mạch 8255 khi ta sử dụng 8 bit địa chỉ thấp của vi điều khiển để giao

šp với 8255, và xem mỗi một địa chỉ truy xuất một ô nhớ thì tương ứng

vi điều khiển có khả năng truy xuất 255 ô nhớ (với 256 địa chỉ) Mỗi vi mạch 8255 chiếm 4 địa chỉ 3 port và 1 thanh ghi điều khiển, nên số

lượng vi mạch 8255 có thể giao tiếp với vi điều khiển là 64 IC

khi kết nối giữa vi điều khiển và vi mạch 8255 thì đường dia chi Ao

va A, ding dé lựa chọn các ô nhớ bên trong 8255 (cổng và thanh ghi

điều khiển) còn các đường Az-A; dùng để cho phép IC nào được phép

hoạt động, thông thường các đường địa chỉ này được đưa vào IC giải mã

Trang 38

82551 chiếm vùng dia chi tit 004 dén 034 c6 địa chi cia port A =

004, port B = Oly, port C = 024 va địa chỉ của thanh ghi diéu khién =

0u,

8255-11 chiếm một vùng địa chỉ từ 04H đến 07H, địa chỉ của: port A=04H, port B=05H, port C=06H va dia chi cia thanh ghi diéu

khién=07H

Từ bảng đồ bộ nhớ trên, ta nhận xét: hai địa chỉ A0, A1 của hai IC

8255 đều giống nhau về địa chi Hai IC này phân biệt nhau bởi đường

A2 Vì vậy, để có thể kết nối được hai IC với vi điều khiển ta sử dụng

thêm một IC giải mã 1= 2 đường và ngõ ra IC giải mã được đưa vào chân CS\ của 8255 để chỉ cho phép một IC làm việc trong một thời điểm

Sơ đồ ghép nối

5 8255

Trang 39

3.3.3.2) Giao tiếp kiểu bộ nhớ;

Khi thiết kế giao tiếp 8255 với vi điều khiển theo kiểu bộ nhớ, về

chức năng của 8255 không có gì thay đổi chỉ thay đổi về địa chỉ truy xuất Kiểu I/O, địa chỉ của port hay thanh ghi có độ dài 16 bit, kiểu bộ

nhớ, địa chỉ của port hay thanh ghi sẽ có độ dài 16 bit giống như bộ nhớ Khi thiết kế I/O theo kiểu bộ nhớ thì mỗi port hay thanh ghi điều

khiển của 8255, được xem là từng ô nhớ Khi đó vi điều khiển giao tiếp với 8255 giống như bộ nhớ dụng

Kiểu bộ nhớ chỉ sử dụng trong các hệ thống nhỏ đơn giản

[ [ “| wim] [ons vam | [mm | [aos | [ros | [ss

Các ứng dụng của 8255 là truyền dữ liệu, giải mã hiển thị, giải mã

bàn phím, giao tiếp điều khiển tùy theo yêu cầu

3.4.) KHẢO SÁT BỘ NHỚ BÁN DẪN:

Vi điều khiển (Microcontroller) là IC chuyên về xử lý dữ liệu và điều khiển theo một chương trình, muốn vi điều khiển thực hiện một

công việc gì thì người sử dụng phải lập trình Chương trình phải được lưu

trữ ở một bộ nhớ nào đó, để vi điều khiển nhận lệnh từ chương trình đó

và thi hành, đôi khi trong lúc xử lý, chương trình của vi điều khiển cân

nơi để lưu trữ tạm thời dữ liệu chính của bộ nhớ Các bộ nhớ của vi điều

khiển là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi đữ liệu vào

(PVISE Ve ade Deng & Nguyen Nooo Hei Tra

Trang 40

hoặc chỉ đọc dữ liệu ra Đôi khi bộ nhớ của vi đều khiển không đủ để

lưu trữ những thông tin cân thiết khi chạy chương trình, khi đó phải dùng

kỹ thuật mở rộng bộ nhớ

3.4 1) BG Nhé Chi Doc (Rom: Read Only Memory):

Loại bộ nhớ này được thiết kế để lưu trữ các dữ liệu cố định

Trong lúc hoạt động bình thường dữ liệu mới không thể nào ghi

được vào ROM, mã dữ liệu chỉ đọn ra từ ROM ROM dùng để lưu

trừ các chương trình của máy tính do không bị mất dữ liệu khi mất điện

8Us ĐIAcHÍ CC “"F

“ở 03 BUS DU LIBU

BUS DIEU KHIEN

Hình 3.9: So đồ đồ logic ROM có dung lượng 32 x 4 bit

ROM có 3 bus: bus đữ liệu, bus địa chỉ, bus điều khiển Với bộ nhớ ROM ở trên bus địa chỉ có 4 đường nên có dung lượng bộ nhớ là 2'=16 Bus dữ liệu có 8 đường, từ dữ liệu là 8bit hay 1byte, vậy bộ nhớ ROM

này có dung lượng là 16byte Bus điều khiển cho phép ROM hoạt động

đọc hay Viết, để đọc dữ liệu của ô nhớ nào phải cung cấp địa chỉ của ô

nhớ đó tới các ngõ vào địa chỉ tác động đến ngõ vào cho phép CS\

3.4.1.1) Cấu Trúc Bên Trong Của ROM:

lb24⁄2724/#:⁄770./078:W7//777 ONgoo Mate Trang 29

Ngày đăng: 19/11/2024, 11:21

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w