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 1BO 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 2Bộ 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 6BO 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 7Ngày tháng năm 2002
GIÁO VIÊN DUYỆT
Trang 8LOI 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 9LOI 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 10Như đã 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 131- 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 20Hì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 22Delay: 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 29IC 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 313.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 33H: 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 34D¿-Dạ: Data bus (Bi-Direction)
RESET: Reset input
Trang 358255 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 36Cá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 3882551 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