1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn

123 482 1
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 đề Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Tác giả Trương Châu Hiếu Đức
Người hướng dẫn Th.S Vũ Thị Hồng Nga
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học kỹ thuật điện tử
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2009
Thành phố Tp.HCM
Định dạng
Số trang 123
Dung lượng 6,06 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Điều khiển thiết bị điện

Trang 1

Lời nói đầu

***

Với sự phát triển mạnh mẽ của Khoa học kĩ thuật trong những thập niên

gần đây, ngành Bưu chính viễn thông đã tạo ra bước ngoặc quan trọng tronglĩnh vực thông tin để đáp ứng nhu cầu của con người Hiện nay, hệ thốngthông tin qua mạng điện thoại đã được toàn cầu hóa, trở nên gần gũi và quenthuộc với con người Nhờ hệ thống thông tin này mà con người đã không bịhạn chế về khoảng cách liên lạc Trong lĩnh vực thông tin đã đáp ứng đượcnhu cầu cần thông tin của con người Vậy trong lĩnh vực điều khiển tự độngthì sao?

Thật vậy, trong việc điều khiển có nhiều cách như: điều khiển bằng tiahồng ngoại, điều khiển bằng vô tuyến… nhưng các cách ấy đều phụ thuộcvào khoảng cách, chỉ có tác dụng trong phạm vi điều khiển gần

Với sự phát triển của KHKT, với mức độ nhu cầu của con người ngàycàng cao, đòi hỏi con người phải điều khiển được một thiết bị điện nào đó

mà không bị hạn chế về khoảng cách điều khiển Từ đó, ý tưởng đề tài làphải thiết kế một hệ thống dùng ngay chính đường truyền có sẵn của mạngthông tin qua điện thoại để điều khiển

Với kết quả khả quan trong việc nghiên cứu, thiết kế đề tài của một số tàiliệu tham khảo và thực tế đã chắc chắn rằng việc sử dụng điện thoại di động

để điều khiển thiết bị điện là một vấn đề hoàn toàn có thể được, có tính khảthi, phù hợp với xu thế mới của con người Đó cũng chính là vấn đề mà sinhviên thực hiện đề tài đang quan tâm

Với lượng kiến thức được truyền đạt trong suốt khóa học, với khả năngcủa bản thân và thời gian cho phép để thực hiện đề tài nên cá nhân sinh viênthực hiện vẫn còn những giới hạn cụ thể trong đề tài

Sau một thời gian thực hiện luận văn tốt nghiệp, bản thân sinh viên đãđược mở rộng và hiểu biết thêm về các thiết bị chế tạo, cũng như phát hiện

ra nhiều thiếu sót Ngoài ra, nó còn giúp cho em tìm hiểu thêm một số ứngdụng thực tế của nhiều thiết bị, linh kiện trong thực tiễn và làm cho kiếnthức của em ngày càng được nâng cao

Qua đó, em xin chân thành cám ơn cô Th.S Vũ Thị Hồng Nga và thầy

Th.S Trần Nguyên Bảo Trân khoa Công nghệ điện tử đã nhiệt tình giúp đỡ

và hướng dẫn em hoàn thành tốt đề tài luận văn tốt nghiệp

Nếu trong quá trình trình bày có gì không đúng hay chưa hợp lý thì kínhmong quí thầy cô sửa chữa và có những ý kiến đóng góp giúp cho nội dungtrình bày ngày càng tốt hơn

ĐHCN Tp.HCM, ngày 05 tháng 04 năm 2009

Sinh viên

Trương Châu Hiếu Đức

Trang 2

Nhận xét của giáo viên hướng dẫn

***

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Tp.HCM, ngày…tháng…năm 2009

Ký tên

Trang 3

Nhận xét của giáo viên phản biện

***

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Tp.HCM, ngày…tháng…năm 2009

Ký tên

Trang 4

Mục Lục

***

Trang

Lời nói đầu……… 1

Nhận xét của GV hướng dẫn……… 2

Nhận xét của GV phản biện……… 3

CHƯƠNG 1: Lý thuyết liên quan……….5

1 Các phương thức giao tiếp qua máy tính 2 Module Sim300C……… 17

2.1 Giới thiệu 2.2 Cấu tạo……….18

2.3 Giao tiếp giữa Module với VXL……… 22

3 Vi xử lý 8951……….24

4 Giải quyết vấn đề……… 44

CHƯƠNG 2: Thực hiện đồ án……… 45

1 Linh kiện

2 Sơ đồ khối của mô hình……….61

3 Sơ đồ mạch nguyên lý……… 62

4 Sơ đồ mạch Layout………74

5 Nguyên lý hoạt động……….76

6 Lưu đồ giải thuật……… 80

7 Chương trình vi xử lý………82

CHƯƠNG 3: Đánh giá – Kết luận…… ………… 118

1 Kết quả thực hiện đề tài 2 Đánh giá đề tài đã thực hiện 3 Kết luận - Hướng phát triển của đề tài……… 119

Trang 5

*Tài liệu tham khảo

CHƯƠNG 1

Lý thuyết liên quan

1 Các phương thức giao tiếp qua máy tính

1.1 Các phương pháp điều khiển vào ra:

Thiết bị ngoại vi được ghép tới Bus của hệ thống vi điều khiển thông quacác phần thích ứng về công nghệ chế tạo và logic Thích ứng về công nghệchế tạo là điều chỉnh công nghệ sản xuất thiết bị ngoại vi và công nghệ sảnxuất của mạch trong hệ vi điều khiển Thích ứng về logic là nhiệm vụ tạo tínhiệu điều khiển ngoại vi từ tín hiệu trên Bus hệ thống

Trong hệ vi điều khiển một vùng nhớ dùng làm nơi chứa địa chỉ cổng vào /

ra và CPU xuất hoặc nhập dữ liệu từ các cổng vào/ra này bằng các lệnh xuất/nhập IN/OUT Lúc này cổng vào ra được xem như một thanh ghi ngoài,chúng được viết vào hoặc đọc ra như ô nhớ RAM qua hai lệnh trên Để phânbiệt hướng xuất hoặc nhập dữ liệu từ cổng vào ra CPU phát ra tín hiệu điềukhiển đọc hoặc viết Để phân biệt vùng nhớ với thiết bị vào ra CPU phát ratín hiệu điều khiển IO/M Khi có các lệnh này thì lệnh IN/OUT mới có tácdụng

Ngoài ra các lệnh qui chế độ nhớ, cũng như khả năng trao đổi dữ liệu giữathiết bị ngoài và hệ vi điều khiển Lúc đó cổng vào ra được gán như địa chỉ ônhớ của bộ nhớ Các thanh ghi liên quan đến cổng vào ra được xem nhưngăn nhớ Khi bộ vi điều khiển gọi địa chỉ và xung điều khiển đọc hay viết

bộ nhớ, nó không cần xác định nơi gởi là bộ nhớ hay thiết bị vào ra Nó chỉđòi hỏi nơi gởi dữ liệu vào trong khỏang thời gian cho phép Bộ logic bênngoài sẽ giải mã địa chỉ kết hợp với xung MR, MW để chọn thiết bị màkhông phân biệt ngăn nhớ hay thiết bị vào ra

Với phương pháp điều khiển vào ra bằng chương trình CPU phải liên tụckiểm tra trạng thái của thiết bị ngoại vi đến khi sẵn sàng Đó là sự lãng phíthời gian của CPU và làm cho chương trình dài và phức tạp Khi bộ vi điềukhiển có nhiều thiết bị ngọai vi CPU không đáp ứng được nhu cầu củachúng Có thể đáp ứng được yêu cầu ngoại vi nhanh chóng và không theotrình tự như định trước nhờ cơ cấu ngắt của CPU

Trang 6

Nhờ tính chất đáp ứng ngắt tức thời của các vi điều khiển, khi có yêu cầungắt từ thiết bị ngoại vi Do đó các ngắt thường được dùng ở những trườnghợp yêu cầu đáp ứng nhanh, thời gian trả lời ngắn thực hiện ở bất cứ thờiđiểm nào

Khi đó CPU phải chuyển đến chương trình con phục vụ yêu cầu ngắt ởcuối bất kỳ lệnh nào trong chương trình chính

Các chương trình con phục vụ ngắt có thể lưu giữ nội dung các thanh ghi

và khôi phục lại khi thực hiện xong chương trình phục vụ ngắt và trước khitrở lại chương trình chính Phần cứng này trở nên phức tạp do phải giảiquyết ưu tiên về vấn đề mã hóa Khi sử dụng hệ ngắt ta xét đến các vấn đềsau:

Yêu cầu ngắt: kiểm tra ngắt ở cuối chu kỳ lệnh, một chu kỳ lệnh có thể kéodài nên tín hiệu yêu cầu ngắt thường được chốt lại cho đến khi bộ vi điềukhiển ghi nhận Ta có thể dùng đầu vào ngắt của vi điều khiển cho nhiềuthiết bị ngoại vi nhưng CPU không xác định được nguồn yêu cầu ngắt

Chuyển điều kiện ngắt đến phục vụ ngắt: tùy vào chế độ ngắt, lọai đầu vàongắt, dữ liệu vào và họ vi điều khiển được chuyển sang chương trình phục

vụ ngắt theo mỗi cách khác nhau

Cất giữ khôi phục trạng thái: tất cả các vi điều khiển khi thực hiện ngắtphải tự động ngắt cất giữ một trạng thái điều khiển, nó là nội dung thanh ghi

bộ đếm chương trình PC Phần còn lại của trạng thái được cất giữ tùy theoyêu cầu cụ thể của phần mềm

Có hai phương pháp cất giữ trạng thái:

+ Dùng ngăn xếp: địa chỉ ngăn xếp được điều chỉnh và nhớ ở thanh ghicon trỏ ngăn xếp

+ Trao đổi giữa hai thanh ghi: chương trình con phục vụ ngắt được gọi đếnbằng một lệnh Khi đó CPU chuyển sang làm việc ở thanh ghi thứ hai

Ưu tiên: vấn đề ưu tiên trong thời điểm có nhiều yêu cầu ngắt, để dữ liệuvào ra của hệ thống không bị xáo trộn, thường mỗi thiết bị ngọai vi được gánmột mức ưu tiên cố định CPU phục vụ theo mức ưu tiên giảm dần Trongmạch điều khiển ngắt, mức ưu tiên ngắt có tám mức được mã hóa từ ba bit

Mã đó được so sánh với nội dung được ưu tiên mà người sử dụng nạp vàochương trình Nếu mức ưu tiên cao hơn mức qui định thì yêu cầu ngắt đượccho phép CPU ngắt

Trang 7

Cho phép ngắt và cấm ngắt: có thể điều khiển các ngắt vi điều khiển bằngphần mềm Nghĩa là ta có thể thực hiện cho phép ngắt hoặc cấm ngắt vi điềukhiển bằng cách thiết lập cơ điều khiển bằng phần mềm.

Bộ vi điều khiển tự động cấm ngắt trong các trường hợp sau:

Để thực hiện một phép chuyển đổi DMAC mỗi DMAC phải giải quyết cácvấn đề sau

+ Thông báo CPU yêu cầu thực hiện DMAC

+ Điều khiển Bus và không gây ảnh hưởng đến họat động bình thường củaCPU và không gây xung đột ở Bus

+ Xác định địa chỉ số từ đã chuyển đổi

Để thực hiện việc chuyển đổi bằng cách thâm nhập trực tiếp, phương phápthông dụng nhất là bắt CPU tự treo thay vì yêu cầu ngắt CPU Thiết bị yêucầu đến DMAC khi nhận được tín hiệu yêu cầu ngắt, DMAC tạo tín hiệuHOLD đến CPU CPU dựa vào tín hiệu HOLD khi thực hiện chu kỳ cuốicùng của lệnh hiện tại sau đó tự treo và thông báo đến DMAC bằng tín hiệuHALT Khi nhận được tín hiệu trả lời HALT của CPU, DMAC lấy quyềnđiều khiển Bus, tạo địa chỉ, ghi nhận số liệu của thiết bị ngọai vi bằngDACK Số liệu được chuyển trực tiếp giữa thiết bị ngọai vi và bộ nhớ

1.2 Sơ lược về cách giao tiếp giữa máy tính và thiết bị ngoại vi:

Có ba cách giao tiếp giữa máy tính và thiết bị ngọai vi Tùy theo trườnghợp ứng dụng cụ thể mà chọn cách giao tiếp thích hợp

Trong máy tính trên board mạch hệ thống thường chế tạo sẵn các Slotnhằm mục đích mở rộng bộ nhớ, cũng như mở rộng phạm vi ứng dụng củamáy vi tính bằng cách gắn thêm trên các board mở rộng vào các Slot này Mỗi Slot đều có các Bus dữ liệu, Bus địa chỉ và các đường tín hiệu điềukhiển như: CLK, IOW, IOR,…Do đó việc thiết kế các SLOT-CARD từ cácđầu cắm Slot sẽ đơn giản số linh kiện ít và tận dụng được các nguồn điệncủa máy vi tính(-5v/+5v, -12v/+12v) nên giá thành rẻ, dễ dàng đưa tín hiệuđiều khiển ra ngòai và tốc độ truyền nhanh

Bên cạnh những ưu điểm nó có một số nhược điểm sau:

Trang 8

+ SLOT-CARD phải cắm vào các Slot trên board mạch hệ thống nên phải

b Giao tiếp bằng cổng máy in (Giao tiếp song song):

Port giao tiếp máy in dùng để giao tiếp với máy in Trong cách giao tiếpnày dữ liệu được truyền song song gồm 8 bit và một số tín hiệu bắt tay Đầunối gồm 25 chân trong đó có 8 chân được nối với 8 đường dữ liệu, một sốchân còn lại được nối với tín hiệu bắt tay (Hand-Shaking) Tất cả các đường

dữ liệu và tín hiệu điều khiển đều ở mức logic tương thích với mức logicTTL Hơn nữa người lập trình có thể cho phép hay không cho phép sử dụngcác ngắt ở ngõ vào, nên việc giao tiếp được dễ dàng Tuy nhiên với mứclogic TTL thì không thể truyền đi xa được mà chỉ truyền được khỏang ngắn,cáp truyền cũng phức tạp hơn cổng COM Đây là nhược điểm của cổng máyin

Khác với cổng máy in, cổng COM là cổng truyền dữ liệu nối tiếp Nóthường được dùng để giao tiếp với thiết bị ngoại vi có tốc độ xử lý dữ liệuchậm như: chuột hoặc modem…cổng này giao tiếp theo chuẩn RS232 Dữliệu được truyền dưới dạng nối tiếp theo từng bit một Tốc độ truyền bit dongười lập trình quyết định (thường là 1200bps, 2400bps, 4800bps,9600bps…) Chiều dài dữ liệu có thể là 5,6,7 hoặc 8 bit kèm theo các bitStart, Stop, Parity tạo thành một khung gọi là Frame Cổng này gồm cácđường phát, đường thu và đường mass chung Vì giao tiếp với tiêu chuẩnRS232 nên khoảng cách truyền xa hơn so với cách truyền song song nhưcổng máy in

Truyền nối tiếp cũng có 2 lọai: đồng bộ hay không đồng bộ Trong cáchtruyền đồng bộ, dãy ký tự được truyền sẽ kèm theo ký tự đồng bộ là SYN(mã ASCII là 22) Phương thức này cho tốc độ truyền khá cao nhưng domạch xử lý truyền và nhận (bao gồm mạch thêm ký tự đồng bộ, phát hiện vàbáo sai…) khá phức tạp nên chỉ dùng trong các ứng dụng có yêu cầu cao vềtốc độ truyền Còn trong các ứng dụng thông thường, nhất là các ứng dụngtrong lĩnh vực điều khiển tự động, thì không có yêu cầu về tốc độ mà yêucầu về độ tin cậy nhưng mạch thực hiện phải đơn giản, rẻ tiền Khi đó, cáchtruyền không đồng bộ rất phù hợp Theo cách truyền này thì các ký tự đượctruyền riêng rẽ, phân làm từng frame có bit bắt đầu, các bit dữ liệu của ký tựcần truyền, bit chẵn lẻ (để kiểm tra lỗi đường truyền), và các bit kết thúc

Trang 9

Chuẩn RS232-C (do EIA: Electronics Industry Associations đưa ra) là mộttrong những phương thức truyền nối tiếp không đồng bộ Theo chuẩn này thìviệc truyền thông được thực hiện ngay tại chỗ bằng cách truyền và nhận mộtchuỗi các xung điện áp liên tục tương ứng với các bit Dữ liệu ở mức TTLđược biến đổi sang các mức điện áp như sau: mức 1 là từ -3v đến -15v (tiêuchuẩn là -12v), và mức 0 là từ +3v đến +15v(tiêu chuẩn là +12v) Việctruyền và nhận các mức điện áp như vậy được thực hiện rất đơn giản Chính

vì vậy mà chuẩn RS232-C đã trở thành giao diện rất phổ biến rộng rãi nhất

Các thuật ngữ có liên quan đến giao thức truyền thông RS232-C:

+ Chu kỳ truyền dữ liệu: tốc độ truyền dữ liệu được tính bằng bit/s, nhưng

để phân biệt với cách truyền đồng bộ, người ta sử dụng đơn vị baud (tươngứng bit/s trong thời gian có dữ liệu truyền)

+ Trạng thái đánh dấu: là khỏang thời gian không có dữ liệu truyền Trongsuốt thời gian này, thiết bị phát sẽ giữ đường truyền ở mức cao

+ Bit bắt đầu: một bit thấp cho biết việc truyền dữ liệu sẽ bắt đầu

+ Các bit ký tự: là dòng dữ liệu gồm 5,6,7 hay 8 bit mã hóa ký tự đượctruyền Bit có trọng số thấp nhất(LSB) là bit đầu tiên được truyền

+ Bit chẳn lẻ: là một bit tùy chọn(có thể có hay không), được phát đi sau cácbit ký tự dùng để kiểm tra các lỗi truyền dữ liệu Trong chế độ kiểm tra tínhchẵn, thiết bị phát sẽ được bật 1 hay xóa về 0 bit chẵn lẻ để tính tổng các bit

1 của ký tự được truyền và bit chẵn lẻ là một số chẵn Còn trong chế độkiểm tra tính lẻ, bit chẵn lẻ thực hiện tính tổng các bit 1 phải là một số lẻ.+ Các bit kết thúc: một hay nhiều bit cao được chèn trong dòng truyền đểbáo việc kết thúc truyền một ký tự, cũng như cho thiết bị nhận có đủ thờigian chuẩn bị để sẵn sàng cho việc nhận ký tự kế tiếp

Trang 10

Hình 1.1: Ví dụ về một ký tự được truyền theo frame gồm: 1 bit bắt đầu,

8 bit dữ liệu, 1 bit chẵn lẻ và 1 bit kết thúc

1.3 Giao tiếp qua cổng nối tiếp:

Cổng nối tiếp trên máy tính thường gọi là cổng COM thường được sửdụng để truyền dữ liệu 2 chiều giữa máy tính và ngoại vi vì các lý do sau:

- Khỏang cách truyền dài hơn so với cổng song song Cổng nối tiếp truyềnmức 1 từ -3v đến -25v và mức 0 từ +3v đến +25v nên tính chống nhiễu caohơn cho phép khỏang cách truyền xa hơn

- Số dây kết nối ít

- Có thể ghép với đường dây điện thọai

- Có thể truyền không dây dùng tia hồng ngọai

- Ghép nối dễ dàng với vi điều khiển hay PLC

Các thiết bị ghép nối nối tiếp được chia làm 2 loại DTE (Data TerminalEquipment) và DCE ( Data Communication Equipment) DCE là các thiết bịnhư modem, còn DTE là các thiết bị như các máy vi tính, vi điều khiển, PLC

là nguồn tạo ra hay tiếp nhận dữ liệu để xử lý Có thể ghép nối DTE vớiDTE hoặc DCE, DCE với DTE hoặc tín hiệu truyền nối tiếp theo dạng xungchuẩn RS232 của EIA (Electronics Industry Associations) Mức logic 0 còngọi là Space giữa +3v và +25v, mức logic 1 còn gọi là Mark giữa -3 và -25 Khi không truyền đường dây sẽ ở trạng thái Mark, khi bắt đầu truyền xungstart được truyền (+10v) sau đó là 8 bit dữ liệu, bit DO được truyền trước,nếu bit dữ liệu mức 1 thì điện áp đường dây tương ứng là +10v, sau các bit

dữ liệu là bit kiểm tra chẵn lẻ rồi bit stop logic 1 (-10v) DTE nhận tín hiệutruyền ngược trở lại theo đường RXD Từ DTE tín hiệu được truyền giữa 2dây TXD và GND theo khuôn dạng sau:

Hình 1.2:

+ Nối 2 DTE với nhau thì sử dụng sơ đồ a

Trang 11

+ Nối DTE với DCE thì chân TXD của DCE nhận tín hiệu, cònchân RXD thì phát tín hiệu như sơ đồ b.

Theo chuẩn RS232-C có 3 loại: DB-25 (Shell), BERG 16 chân và Shell 9 chân

D-Hình 1.3: Các loại chân cắm theo chuẩn RS232-C

Chân

D-25

Chân

Các mạch logic dùng điện áp 5V do đó cần bộ chuyển mạch TTL/CMOS

 RS232 để có điện áp phù hợp cổng COM, có 2 dạng đầu nối đực D-25 vàD-9

Thường sử dụng các sơ đồ kết nối sau:

Trang 12

Hình 1.4: Sơ đồ kết nối.

Trang 13

Các đặc tính kỹ thuật của RS232 như sau:

độ 56000 baud (vi mạch 16550), 230400 baud (vi mạch 16C650), vì vậy cácmodem phải nén dữ liệu trước khi truyền Kết nối giữa máy tính (DTE) vàmodem (DCE) thực hiện theo nguyên tắc các chân cùng tên nối với nhau.Còn kết nối DTE và DTE thường dùng sơ đồ sau:

Trang 14

Khi kết nối DTE với DCE do vận tốc truyền khác nhau cần điều khiển lưulượng Có hai cách dùng phần cứng và phần mềm Khi dùng phần cứng sửdụng hai dây RTS và CTS Nếu DTE muốn truyền sẽ cho RTS tác động nếuDCE chấp nhận sẽ gởi trở về CTS và máy tính sẽ gởi dữ liệu, nếu máy tínhkhông nhận được sẽ không gởi dữ liệu Điều khiển lưu lượng bằng phầnmềm dùng hai ký tự Xon và Xoff Khi modem muốn máy tính ngừng truyền

sẽ gởi đi ký tự Xoff (ASCII 19) còn khi modem rảnh nó sẽ gởi ký tự Xon(ASCII 17)

Việc trao đổi số liệu của máy tính được thực hiện thông qua vi mạchUART (Univeral Asynchronous Receiver /Transmitter) còn với vi điềukhiển hay PLC thì có các vi mạch chuyên dụng hoặc được tích hợp trong vi

xử lý Các máy tính đời mới dùng công nghệ ASIC sử dụng chip đa nănglàm nhiều nhiệm vụ giao tiếp nối tiếp, song song, cổng trò chơi, điều khiểnđĩa, tuy nhiên phần giao tiếp nối tiếp thiết kế tương hợp với các vi mạchUART rời

Các loại vi mạch UART thường gặp là 8250, 8250A, 16450, 16550,

16650, 16750,…6402

1.4 MAX232 và họ IC dùng biến đổi TTLRS232-C:

Họ IC từ MAX220-MAX249 được sản xuất cho truyền thông 232E và V.28/V.24, cụ thể là cho những ứng dụng mà không có sẵn điện áp-12v đến +12v Họ IC này đặc biệt thích hợp cho những hệ thống dùng pin

EIA/TIA-có công suất thấp, do chúng EIA/TIA-có chế độ hạ nguồn làm giảm công suất tiêu tánxuống dưới 5uW MAX225, MAX233, MAX235, MAX245, MAX247không cần các linh kiện phụ bên ngòai, được dùng cho những nơi tiết kiệmkhông gian

Các đặc điểm chính:

- Nguồn cung cấp +5v (MAX231/MAX239 dùng nguồn +5v và +12v)

- Hạ nguồn công suất thấp nhưng vẫn có thể nhận (MAX223/MAX242)

- Hỗ trợ chuẩn EIA/TIA-232E và V.28

- Nhiều bộ nhận và phát

- Phát hiện đứt mạch đường truyền (MAX243)

a Cấu tạo chân:

Trang 15

Hình 1.5: Sơ đồ chân MAX232

Ta thấy rằng MAX232 cần có 4 tụ ngòai (mắc vào giữa C1+ và C1-, C2+

và C2-, V+ và nguồn dương, V- và đất để biến đổi điện áp từ 0v đến 5vthành -12v đến +12v phù hợp cho truyền thông theo chuẩn RS232 Ngoài ra

có 4 bộ khuếch đại đảo nhằm chuyển từ mức TTL ra chuẩn RS232 và ngượclại

Sơ đồ sau đây cho thấy các khối bên trong MAX232 và các linh kiện mắcbên ngòai theo dạng chuẩn:

Trang 16

Hình 1.6: Sơ đồ khối MAX232.

1.5 Các chuẩn truyền tín hiệu khác:

Có hai loại cơ bản là chuẩn giao tiếp RS485 và RS422

Hình 1.7: Chuẩn giao tiếp RS485

Trang 17

Chuẩn RS232 dùng đường truyền không cân bằng vì các tín hiệu lấy chuẩn

là GND chung nên dễ bị ảnh hưởng của nhiễu làm tốc độ và khỏang cáchtruyền bị giới hạn Khi muốn tăng khỏang cách truyền, một phương pháp cóthể sử dụng là dùng 2 dây truyền vi sai vì lúc này 2 dây có cùng đặc tính nên

sẽ lọai trừ được nhiễu chung Hai chuẩn được sử dụng là RS422 và RS485nhưng thông thường sử dụng RS485 Điện áp vi sai yêu cầu phải lớn hơn200mV Nếu Uab > 200mV thì tương ứng với logic 1 và Uab < -200mVtương ứng với mức logic 0 Chuẩn RS485 sử dụng hai điện trở kết thúc là120ohm tại hai đầu xa nhất của đường truyền và sử dụng dây xoắn đôi

Hình 1.8: Chuẩn giao tiếp RS422

Đối với chuẩn RS232, khoảng cách truyền không cho phép đi xa nên khimuốn thực hiện truyền ở khoảng cách xa thì phải chuyển từ RS232 sangchuẩn RS485 để truyền đi và sau đó chuyển từ RS485 sang RS232 để máytính có thể nhận dạng được

Trang 18

+ Để có chức năng như một điện thoại di động, Sim300C được kết nối vớimột tấm bo mạch GSM100 thông qua đế cắm 60 chân Trên thị trường khecắm này được bán rộng rãi, ngoại trừ anten.

+ Phần bo mạch GSM100, trên đó có một cái đế dùng để lắp thẻ Simcardbất kỳ (vina, mobile, viettel…) và một cổng giao tiếp RS232

Hình 1.10: Đế kết nối, khoảng cách chân 0.5mm

Module Sim300C có khả năng hỗ trợ GPRS mã hóa chương trình CS-1,CS-2, CS-3 và CS-4 *(đơn vị: kbps)

Trang 19

Ngoài ra, nó còn hai cổng giao tiếp có thể giúp bạn dễ dàng phát triển cácứng dụng và hai ngõ âm thanh bao gồm hai ngõ vào micrô và hai ngõ ra loa

Hình 1.11: Anten thu sóng của Sim300C

Module Sim300C được thiết kế với khả năng tiết kiệm điện năng, nguồncung cấp khỏang 3.4v - 4.5v (thường là 4v), dòng tiêu thụ thấp với 2.5mA,vùng nhiệt độ thường hoạt động từ -20độC đến +55độC

2.2 Cấu tạo:

Hình 1.12: Đế cắm 60 chân của Sim300C

Trang 20

Hình 1.13: Sơ đồ chân của khe cắm Sim300C.

Chức năng của từng chân được mô tả ở bảng sau:

Chân Chức năng In/Out put Chân Chức năng I/O

Trang 21

Chân Chức năng In/Out put Chân Chức năng I/O

Trang 22

- Có 7 chân là: TXD, RXD, RTS (Request to Send), CTS (Clear to Send),DTR (Data Terminal Ready), DCD (Data Carrier Detection) và RI (RingIndicator).

- Cổng 1 có thể sử dụng GPRS và gởi lệnh AT của Sim300C Nó có chứcnăng đa dạng mà cổng 2 không có chức năng như vậy

- Cổng 1 hỗ trợ đường truyền như sau: 1200, 2400, 4800, 9600, 38400,

57600, 115200 Thường là 115200bps

- TXD của môđun Sim300C gởi dữ liệu đến chân RXD của môđun khác

- RXD của môđun Sim300C nhận dữ liệu từ chân TXD của môđun khác

Port 2:

- Cổng 2 chỉ dùng cho việc truyền (phát) lệnh AT

- Cổng 2 hỗ trợ đường truyền như sau: 9600, 19200, 38400, 57600 và115200bps

- /TXD của DTE (Data Terminal Equipment) gởi dữ liệu đến chân/DGBRXD của DCE

- /RXD của DTE nhận dữ liệu từ chân /DGBTXD của DCE

* Chú ý:

- MIC1P (53): Microphone 1 input +

MIC1N(55): Microphone 1 input

SPK1P(54): Audio 1 output +

- SPK1N(53): Audio 1 output –

- MIC2P (57): Microphone 2 input +

MIC2N(59): Microphone 2 input

SPK2P(58): Audio 2 output +

- SPK2N(60): Audio 2 output –

- SIM_VDD(25): Nguồn SIM Card, ngõ ra có 2 mức điện áp: 3v và 1.8v,dòng là 10mA

- SIM_I/O(29): Ngõ vào/ra dữ liệu của SIM Card

- SIM_CLK(31): Xung Clock SIM Card

- SIM_RST(27): Reset SIM Card

- SIM Presence(33): SIM Card Presence

- SPI_Data(18): Hiển thị ngõ ra dữ liệu (Display data output)

- SPI_CLK(20): Hiển thị clock của LCD (Display clock for LCD)

- SPI_CS(22): Cho phép hiển thị (Display enable)

- SPI_D/C(19): Hiển thị dữ liệu hoặc địa chỉ được chọn (Data or Address)

- SPI_RST(21): LCD reset

- GPIO5(32): General Purpose Input/Output Port

- GPIO8(36): General Purpose Input/Output Port

- VBAT nguồn cung cấp: 3.4v – 4.5v Thường 4v, I = 2.5mA

- VRTC nguồn cung cấp: 1.2v – 2v Thường 1.8v, I = 20uA

Trang 23

Ngõ ra tín hiệu RF của SIM300C như sau:

Frequency Max Min

- Bắt tay phần mềm: dùng ký tự Xon và Xoff để bắt đầu truyền hay kếtthúc truyền

Quy tắc truyền lệnh trên module:

- Mỗi dòng lệnh của module bắt đầu bằng ký tự AT, ngoại trừ lệnh A/ và +++

- Dòng lệnh có thể chứa nhiều lệnh

- Kết thúc lệnh bằng ký tự Enter (mã ASCII là 13) ngoại trừ lệnh A/ và +++

Trang 24

- Dòng lệnh cuối cùng được lưu trong module Có thể dùng lệnh A/ để thựchiện lại lệnh này.

- Thông báo kết quả thực hiện lệnh của module có thể ở dạng từ chữ hay

số (giá trị mặc định là chữ) Có thể sử dụng lệnh V để lựa chọn dạng thôngbáo là chữ hay số

- Để hoạt động đúng, module cần có các thông số xác định Nếu không có

sự thay đổi cần thiết, module họat động theo giá trị mặc định (default) Nếuthông số trong lệnh bị bỏ qua, giá trị thông số mặc định là 0

Thanh ghi S0: xác định số hồi chuông nhận được mà sau đó module sẽ trảlời một cách tự động Gía trị trong thanh ghi này có thể thay đổi trongkhỏang từ 0-255 Mặc định giá trị là 0 (không trả lời)

Thanh ghi S1: chỉ có tác dụng khi thanh ghi S0 khác 0, dùng để đếm số hồichuông thu được

Thanh ghi S2: xác định giá trị thập phân của các ký tự (mã ASCII) đượcdùng làm ký tự thoát Gía trị mặc định là 43(+)

Thanh ghi S3: xác định ký tự được dùng để kết thúc một dòng lệnh, mặcnhiên là 13 (tương ứng là Enter)

Thanh ghi S4: xác định ký tự xuống dòng sau ký tự kết thúc, giá trị mặcnhiên là 10 (line feed)

Thanh ghi S5: xác định phím xóa lui, giá trị mặc nhiên là 8 (backspace) Thanh ghi S6: xác định thời gian đợi sau khi truy cập đường điện thọai vàtrước khi tiến hành quay số đầu tiên trong một lệnh quay số Đây là thời giantrì hoãn cho phép dial tone cung cấp từ đường truyền, gía trị mặc nhiên là 2s Thanh ghi S7: xác định thời gian mà module đợi tín hiệu sóng mang trướckhi gác máy, giá trị mặc định là 30s

Thanh ghi S8: xác định thời gian tạm dừng cho mỗi dấu phẩy ‘,’ trongchuỗi lệnh quay số, giá trị mặc định là 2s

Thanh ghi S9: xác định thời gian mà tín hiệu sóng mang phải hiện diện đểmôđun có thể nhận biết được, giá trị mặc định là 600ms Giá trị này nếu quálớn sẽ gây lỗi trong dữ liệu truyền

Thanh ghi S10: xác định thời gian cho phép tín hiệu sóng mang có thể biếnmất trong chốc lát nào đó mà không cắt cuộc nối Ổn định trong khoảng 100– 25500ms, giá trị mặc nhiên tùy vào khả năng chống nhiễu của từngmodule, thường là 700ms

Thanh ghi S11: xác định tốc độ quay số khi sử dụng phương pháp quay sốtone, giá trị mặc nhiên tùy vào module, thường vào khoảng 70ms

Thanh ghi S12: xác định thời gian an tòan khi truy nhập vào ký tự thoát (+++) Nếu giá trị nhỏ quá có thể nhập không kịp, giá trị lớn quá so với tốc độnhập cũng không thể thoát được

3 Vi xử lý 8951

Trang 25

3.1 Giới thiệu cấu trúc phần cứng họ MSC-51(8951):

Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương

tự như nhau IC8951 là một họ IC vi điều khiển do hãng Intel của Mỹ sảnxuất Các đặc điểm của 8951 được tóm tắt như sau:

8KB EPROM bên trong

128 Byte RAM nội

4 Port xuất/nhập I/O 8 bit

Giao tiếp nối tiếp

64KB vùng nhớ mã ngòai

64KB vùng nhớ dữ liệu ngòai

Xử lý Boolean (hoạt động trên bit đơn)

210 vị trí nhớ có thể định vị bit

4us cho hoạt động nhân hoặc chia

Sơ đồ khối của 8951:

Hình 1.15 : Sơ đồ khối 8951

Trang 26

3.2 Khảo sát sơ đồ chân 8951, chức năng từng chân:

Hình 1.16 : Sơ đồ chân 8951

b Các chức năng từng chân:

8951 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó

có 24 chân có tác dụng kép (một chân có 2 chức năng), mỗi đường có thểhọat động như đường xuất nhập hoặc như đường điều khiển hoặc là thànhphần của các bus dữ liệu và bus địa chỉ

Port 0: là port có 2 chức năng ở các chân 32 - 39 của 8951 Trong các

thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng, nó có chức năng như cácđường IO Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợpgiữa bus địa chỉ và bus dữ liệu

Port 1: là port IO trên các chân 1 - 8, có thể dùng cho giao tiếp với các

thiết bị ngoài nếu cần Port 1 không có chức năng khác, vì vậy chúng chỉđược dùng cho giao tiếp với các thiết bị bên ngòai

Port 2: là port có tác dụng kép trên các chân 21 - 28 được dùng như các

đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng

bộ nhớ mở rộng

Port 3: là port có tác dụng kép trên các chân 10 - 17 Các chân của port

này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặctính đặc biệt của 8951 như ở bảng sau:

Trang 27

Bit Tên Chức năng chuyển đổi

Ngõ tín hiệu PSEN (Program Store Enable):

chương trình mở rộng thường được nói đến chân OE\ (output enable) củaEPROM cho phép đọc các byte mã lệnh

PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mãlệnh của chương trình được đọc từ EPROM qua bus dữ liệu và được chốtvào thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi 8951 thi hànhchương trình trong ROM nội PSEN sẽ ở mức logic 1

Ngõ tín hiệu điều khiển ALE (Address Latch Enable):

Khi 8951 truy xuất bộ nhớ bên ngòai, port 0 có chức năng là bus địa chỉ vàbus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ởchân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ

và dữ liệu khi kết nối chúng với IC chốt

Tín hiệu ra ở chân ALE là một xung trong khỏang thời gian port 0 đóngvai trò là địa chỉ thấp nên chốt địa chỉ hòan tòan tự động

Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và

có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống ChânALE được dùng làm ngõ vào xung lập trình cho EPROM trong 8951

Ngõ tín hiệu RST (Reset):

Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951 Khi ngõ vào tín hiệunày đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạpnhững giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự độngReset

Ngõ tín hiệu EA\ (External Access):

Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0 Nếu

ở mức 1, 8951 thi hành chương trình từ ROM nội trong khỏang địa chỉ thấp

8 KB Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng ChânEA\ được lấy làm chân cấp nguồn 21v khi lập trình cho EPROM trong 8951

Trang 28

Các ngõ vào bộ dao động Xtal1, Xtal2:

Bộ dao động được tích hợp bên trong 8951, khi sử dụng 8951 người thiết

kế chỉ cần kết nối thêm mạch thạch anh và các tụ Tần số thạch anh thường

sử dụng cho 8951 là 12Mhz

Chân 40 (Vcc) được nối lên nguồn +5v

3.3 Cấu trúc bên trong vi điều khiển:

Bảng đồ bộ nhớ dữ liệu trên chip như sau:

Địa chỉ Byte Địa chỉ Bit Địa chỉ Byte Địa chỉ Bit

Trang 29

Bộ nhớ trong 8951 bao gồm ROM và RAM, RAM trong 8951 bao gồmnhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit,các Bank thanh ghi và các thanh ghi chức năng đặc biệt

8951 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệtcho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong

8951 nhưng 8951 vẫn có thể kết nối với 64KB bộ nhớ chương trình và64KB dữ liệu

RAM bên trong 8951 được phân chia như sau:

- Các Bank thanh ghi có địa chỉ từ 00H đến 1FH

- RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH,

RAM có thể truy xuất từng bit:

8951 chứa 210 bit được địa chỉ hóa, trong đó có 128 bit có chứa các byte,

có chứa các địa chỉ từ 20H đến 2FH và các bit còn lại chứa trong nhómthanh ghi có chức năng đặc biệt

Ý tưởng truy xuất từng bit bằng phần mềm là các đặc tính mạnh củamicrocontroller xử lý chung Các bit có thể được đặt, xóa, AND, OR,… với

1 lệnh đơn Đa số các microcontroller xử lý đòi hỏi một chuổi lệnh đọc – sửa– ghi để đạt được mục đích tương tự Ngòai ra các port cũng có thể truy xuấtđược từng bit

Trang 30

128 bit truy xuất từng bit này cũng có thể truy xuất như các byte hoặc nhưcác bit phụ thuộc vào lệnh được dùng.

Các bank thanh ghi:

32 byte thấp của bộ nhớ nội được dành cho các bank thanh ghi Bộ lệnh

8951 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định sau khi reset

hệ thống, các thanh ghi này có các địa chỉ từ 00H đến 07H

Các lệnh dùng các thanh ghi R0 đến R7 sẽ ngắn hơn và nhanh hơn so vớicác lệnh có chức năng tương ứng dùng kiểu địa chỉ trực tiếp Các dữ liệuđược dùng thường xuyên nên dùng một trong các thanh ghi này

Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh ghiđược truy xuất bởi các thanh ghi R0 đến R7 để chuyển đổi việc truy xuất cácbank thanh ghi ta phải thay đổi các bit chọn bank trong thanh ghi trạng thái

Các thanh ghi nội của 8951 được truy xuất ngầm định bởi bộ lệnh

Các thanh ghi trong 8951 được định dạng như một phần của RAM trênchip vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếmchương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác độngtrực tiếp) Cũng như R0 đến R7, 8951 có 21 thanh ghi có chức năng đặc biệt(SFR: Special Function Register) ở vùng trên của RAM nội từ địa chỉ 80Hđến FFH

* Thanh ghi trạng thái chương trình (PSW: Program Status Word):

* Cờ Carry CY (Carry Flag):

Trang 31

Cờ nhớ có tác dụng kép Thông thường nó được dùng cho các lệnh tóanhọc: C=1 nếu phép tóan cộng có sự tràn hoặc phép trừ mượn và ngược lạiC=0 nếu phép tóan cộng không tràn và phép trừ không có mượn.

* Cờ Carry phụ AC (Auxiliary Carry Flag):

Khi cộng những giá trị BCD (Binary Code Decimal), cờ nhớ phụ AC đượcset nếu kết quả 4 bit thấp nằm trong phạm vi điều khiển 0AH – 0FH Ngượclại AC= 0

* Cờ 0 (Flag 0):

Cờ 0 (F0) là 1 bit cỡ đa dụng dùng cho các ứng dụng của người dùng

* Những bit chọn bank thanh ghi truy xuất:

RS1 và RS0 quyết định dãy thanh ghi tích cực Chúng được xóa sau khireset hệ thống và được thay đổi phần mềm khi cần thiết

Tùy theo RS1, RS0 =00, 01, 10, 11 sẽ được chọn Bank tích cực tương ứng

là Bank 0, Bank 1, Bank 2, Bank 3

* Cờ tràn OV (Over Flag):

Cờ tràn được set sau một họat động cộng hoặc trừ nếu có sự tràn tóan học.Khi các số có dấu được cộng hoặc trừ với nhau, phần mềm có thể kiểm trabit này để xác định xem kết quả có nằm trong tầm xác định không Khi các

số không có dấu được cộng bit OV được bỏ qua Các kết quả lớn hơn +127hoặc nhỏ hơn -128 thì bit OV=1

* Bit Parity (P):

Bit tự động được set hay clear ở mỗi chu kỳ máy để lập Parity chẵn vớithanh ghi A Sự đếm các bit 1 trong thanh ghi A cộng với bit Parity luônluôn chẵn

Bit Parity thường được dùng trong sự kết hợp với những thủ tục của Portnối tiếp để tạo ra bit Parity trước khi phát đi hoặc kiểm tra bit Parity sau khithu

* Thanh ghi B:

Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi A cho các phéptóan nhân chia Lệnh MUL AB sẽ nhận những giá trị không dấu 8 bit tronghai thanh ghi A và B, rồi trả về kết quả 16 bit trong A (byte cao) và B (bytethấp) Lệnh DIV AB lấy A chia B, kết quả nguyên được đặt vào A, số dư đặtvào B

Thanh ghi B có thể được dùng như một thanh ghi đệm trung gian đa mụcđích Nó là những bit định vị thông qua những địa chỉ từ F0H – F7H

* Con trỏ ngăn xếp SP (Stack Pointer):

Con trỏ ngăn xếp là một thanh ghi 8 bit ở địa chỉ 81H Nó chứa địa chỉ củabyte dữ liệu hiện hành trên đỉnh ngăn xếp Các lệnh trên ngăn xếp bao gồmcác lệnh cất dữ liệu vào ngăn xếp (PUSH) và lấy dữ liệu ra khỏi ngăn xếp(POP) Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu

và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP Ngăn xếp của 8031/8051 đượcgiữ trong RAM nội và giới hạn các địa chỉ có thể truy xuất bằng địa chỉ giántiếp, chúng là 128 byte đầu của 8951

Để khởi động SP với ngăn xếp bắt đầu tại địa chỉ 60H

Trang 32

MOV SP,#5FH

Với lệnh trên thì ngăn xếp của 8951 chỉ có 32 byte vì địa chỉ cao nhất củaRAM trên chip là 7FH Sở dĩ giá trị 5FH được nạp vào SP vì SP tăng lên60H trước khi cất byte dữ liệu

Khi Reset 8951, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽđược cất vào ô nhớ ngăn xếp có địa chỉ 08H Nếu phần mềm ứng dụngkhông khởi động SP một giá trị mới thì bank thanh ghi 1 có thể cả 2 và 3 sẽkhông dùng được vì vùng RAM này đã được dùng làm ngăn xếp Ngăn xếpđược truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu trữ tạm thời vàlấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con(ACALL, LCALL) và các lệnh trở về (RET, RETI) để lưu trữ giá trị của bộđếm chương trình khi bắt đầu thực hiện chương trình con và lấy lại khi kếtthúc chương trình con…

* Con trỏ dữ liệu DPTR (Data Pointer):

Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngòai là một thanhghi 16 bit ở địa chỉ 82H (DPL) và 83H (DPH) Ba lệnh sau sẽ ghi 55H vàoRAM ngòai ở địa chỉ 1000H:

* Các thanh ghi Port (Port Register):

Các Port của 8951 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H,Port 2 ở địa chỉ A0H và Port 3 ở địa chỉ B0H Tất cả các Port này đều có thểtruy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp

* Các thanh ghi Timer (Timer Register) :

8951 có chứa hai bộ định thời/bộ đếm 16 bit được dùng cho việc định thờiđược đếm sự kiện Timer 0 ở địa chỉ 8AH (TLO) và 8CH (THO) Timer 1 ởđịa chỉ 8BH (TL1) và 8DH (TH1) Việc khởi động timer được SET bởiTimer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển Timer (TCON)

ở địa chỉ 88H Chỉ có TCON được địa chỉ hóa từng bit

* Các thanh ghi Port nối tiếp (Serial Port Register):

8951 chứa một Port nối tiếp cho việc trao đổi thông tin với các thiết bị nốitiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác Mộtthanh ghi đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả hai dữ liệutruyền và nhận Khi truyền dữ liệu ghi lên SBUF, khi nhận dữ liệu thì đọcSBUF

* Các thanh ghi ngắt (Interrupt Register):

Trang 33

8951 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên Các ngắt bị cấm sau khi bịreset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt(IE) ở địa chỉ A8H Cả hai được địa chỉ hóa từng bit.

* Thanh ghi điều khiển nguồn PCON (Power Control Register):

Thanh ghi PCON không có bit định vị Nó ở địa chỉ 87H chứa nhiều bitđiều khiển Thanh ghi PCON được tóm tắt như sau:

- Bit 7 (SMOD): bit có tốc độ Baud ở mode 1, 2, 3, ở Port nối tiếp khi set

- Bit 6, 5, 4: không có địa chỉ

- Bit 3 (GF1): bit cờ đa năng 1

- Bit 2 (GF0): bit cờ đa năng 2

- Bit 1 (PD): set để khởi động mode Power Down và thóat reset

- Bit 0 (IDL): set để khởi động mode Idle và thóat khi ngắt mạch hoặcreset

Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả các

IC họ MSC-51 nhưng chỉ được thi hành trong sự biên dịch của CMOS

8951 có khả năng mở rộng bộ nhớ lên đến 64KB bộ nhớ chương trình và64KB bộ nhớ dữ liệu ngòai Do đó có thể dùng thêm RAM và ROM nếucần

Khi dùng bộ nhớ ngòai, Port 0 không còn chức năng I/O nữa Nó được kếthợp giữa bus địa chỉ (A0 – A7) và bus dữ liệu (D0 – D7) với tín hiệu ALE

để chốt byte của bus địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ Port được cho làbyte cao của bus địa chỉ

* Truy xuất bộ nhớ mã ngòai (Accessing External Code Memory):

Bộ nhớ chương trình bên ngòai là bộ nhớ ROM được cho phép của tínhiệu PSEN\ Sự kết nối phần cứng của bộ nhớ EPROM như sau:

Hình 1.17 : Sự kết nối phần cứng của bộ nhớ EPROM

Trang 34

Trong một chu kỳ máy tiêu biểu, tín hiệu ALE tích 2 lần Lần thứ nhất chophép 74HC373 mở rộng chốt địa chỉ byte thấp, khi ALE xuống 0 thì bytethấp và byte cao của bộ đếm chương trình đều có nhưng EPROM chưa xuất

vì PSEN\ chưa tích cực, khi tín hiệu lên 1 trở lại thì Port 0 đã có dữ liệu làOpcode ALE tích cực lần thứ hai được giải thích tương tự và byte 2 đượcđọc từ bộ nhớ chương trình Nếu lệnh đang hiện hành là lệnh 1 byte thì CPUchỉ đọc Opcode, còn byte thứ hai bỏ đi

* Truy xuất bộ nhớ dữ liệu ngoài (Accessing External Data Memory):

Bộ nhớ dữ liệu ngòai là một bộ nhớ RAM được đọc hoặc ghi khi được chophép của tín hiệu RD\ và WR\ Hai tín hiệu này nằm ở chân P3.7 (RD\) vàP3.6 (WR\) Lệnh MOVX được dùng để truy xuất bộ nhớ dữ liệu ngoài vàdùng một bộ đệm dữ liệu 16 bit (DPTR) R0 hoặc R1 như là một thanh ghiđịa chỉ

Các RAM có thể giao tiếp với 8951 tương tự cách thức như EPROM ngọaitrừ chân RD\ của 8951 nối với chân OE\ (Output Enable) của RAM và chânWR\ của 8951 nối với chân WE\ của RAM Sự nối các bus địa chỉ và dữ liệutương tự như cách nối của EPROM

Hình 1.18 : Sơ đồ nối các bus địa chỉ và dữ liệu

* Sự giải mã địa chỉ (Address Decoding):

Sự giải mã địa chỉ là một yêu cầu tất yếu để chọn EPROM, RAM, 8279,

… Sự giải mã địa chỉ đối với 8951 để chọn các vùng nhớ ngòai như các viđiều khiển Nếu các con EPROM hoặc RAM 8K được dùng thì các bus địachỉ phải được giải mã để chọn các IC nhớ nằm trong phạm vi giới hạn 8K:0000H – 1FFFH, 2000H – 3FFFH,…

Một cách cụ thể, IC giải mã 74HC138 được dùng với những ngõ ra của nóđược nối với những ngõ vào chọn chip CS (Chip Select) trên những IC nhớEPROM, RAM,…

Trang 35

Hình 1.19 : Sơ đồ giải mã địa chỉ.

* Hoạt động Reset:

8951 có ngõ vào reset RST tác động ở mức cao trong khỏang thời gian 2chu kỳ xung máy, sau đó xuống mức thấp để 8951 bắt đầu làm việc RST cóthể kích bằng tay bằng một phím nhấn thường hở

Hình 1.20 : Sơ đồ mạch Reset bằng tay

Trạng thái của tất cả các thanh ghi trong 8951 sau khi reset hệ thống đượctóm tắt như sau:

Trang 36

Thanh ghi Nội dung

3.4 Hoạt động timer của 8951:

Bộ định thời của Timer là một chuỗi các Flip Flop được chia làm 2, nónhận tín hiệu vào là một nguồn xung clock, xung clock được đưa vào FlipFlop thứ nhất là xung clock của Flip Flop thứ hai mà nó cũng chia tần sốclock này cho 2 và cứ tiếp tục

Vì mỗi tầng kế tiếp chia cho 2, nên Timer n tầng phải chia tần số clock

Timer hoặc cờ mà nó kiểm tra bởi phần mềm hoặc sinh ra ngắt Gía trị nhịphân trong các FF của bộ Timer có thể được nghĩ như đếm xung clock hoặccác sự kiện quan trọng bởi vì Timer được khởi động

Các Timer được ứng dụng thực tế cho các họat động định hướng 8951 có

2 bộ Timer 16 bit, mỗi Timer có 4 mode họat động Các Timer dùng để đếmgiờ, đếm các sự kiện cần thiết và sự sinh ra tốc độ của tốc độ Baud bởi sựgắn liền Port nối tiếp

Mỗi sự định thời là một Timer 16 bit, do đó tầng cuối cùng là tầng thứ 16

sự kiện được dùng để xác định số lần xuất hiện của sự kiện đó, tức thời giantrôi qua giữa các sự kiện

Trang 37

Các Timer của 8951 được truy xuất bởi việc dùng 6 thanh ghi chức năngđặc biệt như sau :

Timer SFR Purpose Address Bit Addressable

Thanh ghi điều khiển chế độ timer TMOD (Timer Mode Register):

Thanh ghi mode gồm hai nhóm 4 bit là : 4 bit thấp đặt mode họat động choTimer 0 và 4 bit cao đặt mode họat động cho Timer 1, 8 bit của thanh ghiTMOD được tóm tắt như sau:

Bit Name Timer Mô tả

C/T=1: Đếm sự kiệnC/T=0: Ghi giờ đều đặn

Hai bit M0 và M1 của TMOD để chọn mode cho Timer 0 hoặc Timer 1

M1 M0 MODE Mô tả

Timer 0 : TL0 là Timer 8 bit được điều khiển bởicác bit của Timer 0 TH0 tương tự nhưng được điềukhiển bởi các bit của mode Timer 1

Timer 1 : Được ngừng lại

Trang 38

TMOD không có bit định vị, nó thường được LOAD một lần bởi phầnmềm ở đầu chương trình để khởi động mode Timer Sau đó sự định giờ cóthể dừng lại, được khởi động lại như thế bởi sự truy xuất các thanh ghi chứcnăng đặc biệt của Timer khác.

Thanh ghi điều khiển timer TCON (Timer Control Register):

Thanh ghi điều khiển bao gồm các bit trạng thái và các bit điều khiển bởi

Timer 0 và Timer 1 Thanh ghi TCON có bit định vị Hoạt động của từng bitđược tóm tắt như sau:

Bit Symbol Bit Address Description

cứng ở sự tràn, được xóa bởi phần mềm hoặc bởi phần cứng khi các vectơ xử lí đến thủ tục phục vụ ngắtISR

hoặc xóa bởi phần mềm để chạy hoặcngưng chạy Timer

xuất hiện trên INT1 thì IE1 được xóabởi phần mềm hoặc phần cứng khi CPU định hướng đến thủ tục phục vụngắt ngòai

xóa bằng phần mềm bởi cạnh kích họat bởi sự ngắt ngòai

* Sự bấm giờ bên trong (Interval Timing):

- Nếu bit C/T = 0 thì họat động của Timer liên tục được chọn vào bộ Timerđược ghi giờ từ dao động trên chip Một bộ chia 12 được thêm vào để giảmtần số clock đến 1 giá trị phù hợp với các ứng dụng Các thanh ghi TLx vàTHx tăng ở tốc độ 1/12 lần tần số dao động trên chip Nếu dùng thạch anh12Mhz thì sẽ đưa đến tốc độ clock 1Mhz

Trang 39

- Các sự tràn Timer sinh ra sau một con số cố định của những xung clock,

nó phụ thuộc vào giá trị khởi tạo được LOAD vào các thanh ghi THx vàTLx

* Sự đếm các sự kiện (Event Counting):

- Nếu bit C/T = 1 thì bộ Timer được ghi giờ từ nguồn bên ngòai trongnhiều ứng dụng, nguồn bên ngòai này cung cấp 1 sự định giờ với 1 xung trên

sự xảy ra của sự kiện Sự định giờ là sự đếm sự kiện Con số sự kiện đượcxác định trong phần mềm bởi việc đọc các thanh ghi Timer TLx/THx, bởi vìgiá trị 16 bit trong các thanh ghi này tăng lên cho mỗi sự kiện

- Nguồn xung clock bên ngòai đưa vào chân P3.4 là ngõ nhập của xungclock bởi Timer 0 (T0) và P3.5 là ngõ nhập của xung clock bởi Timer 1(T1)

- Trong các ứng dụng đếm các thanh ghi Timer được tăng trong đáp ứngcủa sự chuyển trạng thái từ 1 sang 0 ở ngõ nhập Tx Ngõ nhập bên ngòaiđược thử trong suốt S5P2 của mọi chu kỳ máy: Do đó khi ngõ nhập đưa tớimức cao trong một chu kỳ và mức thấp trong một chu kỳ kế tiếp thì bộ đếmtăng lên một Gía trị mới xuất hiện trong các thanh ghi Timer trong suốtS5P1 của chu kỳ theo sau một sự chuyển đổi Bởi vì nó chiếm 2 chu kỳ máy

để nhận ra sự chuyển đổi từ 1 sang 0, nên tần số bên ngòai lớn nhất là500KHz nếu dao động thạch anh là 12Mhz

Các chế độ timer và cờ tràn (Timer modes and Overflow):

8951 có 2 Timer là Timer 0 và Timer 1 Ta dùng ký hiệu TLx và THx để

chỉ 2 thanh ghi byte thấp và byte cao của Timer 0 hoặc Timer 1

* Mode Timer 13 bit (Mode 0):

Mode 0 là mode Timer 13 bit, trong đó byte cao của Timer (THx) được đặtthấp và 5 bit trọng số thấp nhất của byte thấp Timer (TLx) đặt cao để hợpthành Timer 13 bit, 3 bit cao của TLx không dùng

* Mode Timer 16 bit (Mode 1):

- Mode 1 là mode Timer 16 bit, tương tự như mode 0 ngọai trừ Timer nàyhọat động như một Timer đầy đủ 16 bit, xung clock được dùng với sự kếthợp các thanh ghi cao và thấp (TLx, THx) Khi xung clock được nhận vào,

bộ đếm Timer tăng lên 0000H, 0001H, ,và một sự tràn sẽ xuất hiện khi có

sự chuyển trên bộ đếm Timer từ FFFH sang 0000H và sẽ set cờ tràn Timer,sau đó Timer đếm tiếp

- Cờ tràn là bit TFx trong thanh ghi TCON mà nó sẽ được đọc hoặc ghi bởiphần mềm

- Bit có trọng số lớn nhất (MSB) của giá trị trong thanh ghi Timer là bit 7của THx và bit có trọng số thấp nhất (LSB) là bit 0 của TLx Bit LSB đổi

- Các thanh ghi Timer TLx và THx có thể được đọc hoặc ghi tại bất kỳthời điểm nào bởi phần mềm

* Mode tự động nạp 8 bit (Mode 2):

Trang 40

- Mode 2 là mode tự động nạp 8 bit, byte thấp TLx của Timer họat độngnhư một Timer 8 bit trong khi byte cao THx của Timer giữ giá trị Reload.Khi bộ đếm tràn từ FFH sang 00H, không chỉ cờ tràn được set mà giá trịtrong THx cũng được nạp vào TLx: Bộ đếm được tiếp tục từ giá trị này lênđến sự chuyển trạng thái từ FFH sang 00H kế tiếp và cứ thế tiếp tục Modenày thì phù hợp bởi vì các sự tràn xuất hiện cụ thể mà mỗi lúc nghỉ thanh ghiTMOD và THx được khởi động.

* Mode Timer tách ra (Mode 3):

- Mode 3 là mode Timer tách ra và là sự khác biệt cho mỗi Timer

- Timer 0 ở mode 3 được chia làm 2 timer 8 bit TL0 và TH0 họat độngnhư những Timer riêng lẻ với sự tràn sẽ set các bit TL0 và TF1 tương ứng

- Timer 1 bị dừng lại ở mode 3, nhưng có thể được khởi động bởi việc ngắt

nó vào một trong các mode khác Chỉ có nhược điểm là cờ tràn TF1 củaTimer 1 không bị ảnh hưởng bởi các sự tràn của Timer 1 bởi vì TF1 đượcnối với TH0

- Mode 3 cung cấp 1 Timer ngọai 8 bit là Timer thứ ba của 8951 Khi vàoTimer 0 ở mode 3 Timer có thể họat động hoặc tắt bởi sự ngắt nó ra ngòai

và vào trong mode của chính nó hoặc có thể được dùng bởi Port nối tiếp như

là một máy phát tốc độ Baud, hoặc nó có thể dùng trong hướng nào đó màkhông sử dụng Interrupt

3.5 Hoạt động port nối tiếp:

8951 có một port nối tiếp trong chip có thể hoạt động ở nhiều chế độ trênmột dãy tần số rộng Chức năng chủ yếu là thực hiện chuyển đổi song songsang nối tiếp với dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữliệu nhập

Port nối tiếp cho hoạt động song song (thu và phát đồng thời) và đệm thu(Receiver buffering) cho phép một ký tự sẽ được thu và được giữ trong khi

ký tự thứ hai được nhận Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ haiđược thu đầy đủ thì dữ liệu sẽ không bị mất

Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến portnối tiếp là: SBUF và SCON Bộ đệm port nối tiếp (SBUF) ở địa chỉ 99Hnhận dữ liệu để thu hoặc phát Thanh ghi điều khiển port nối tiếp (SCON) ởđịa chỉ 98H là thanh ghi có địa chỉ bit chứa các bit trạng thái và các bit điềukhiển Các bit điều khiển đặt chế độ họat động cho port nối tiếp, và các bittrạng thái báo cáo kết thúc việc phát hoặc thu ký tự Các bit trạng thái có thểđược kiểm tra bằng phần mềm hoặc có thể lập trình để tạo ngắt

Thanh ghi điều khiển port nối tiếp:

Bảng tóm tắt thanh ghi SCON:

Ngày đăng: 09/05/2014, 09:57

HÌNH ẢNH LIÊN QUAN

Hình 1.6: Sơ đồ khối MAX232. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.6 Sơ đồ khối MAX232 (Trang 16)
Hình 1.9: Module Sim300C. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.9 Module Sim300C (Trang 18)
Hình 1.13: Sơ đồ chân của khe cắm Sim300C. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.13 Sơ đồ chân của khe cắm Sim300C (Trang 20)
Hình 1.15 : Sơ đồ khối 8951. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.15 Sơ đồ khối 8951 (Trang 25)
Hình 1.17 : Sự kết nối phần cứng của bộ nhớ EPROM. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.17 Sự kết nối phần cứng của bộ nhớ EPROM (Trang 33)
Hình 1.18 : Sơ đồ nối các bus địa chỉ và dữ liệu. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.18 Sơ đồ nối các bus địa chỉ và dữ liệu (Trang 34)
Hình 1.19 : Sơ đồ giải mã địa chỉ. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.19 Sơ đồ giải mã địa chỉ (Trang 35)
Hình 1.21 : Giản đồ thời gian port nối tiếp phát ở chế độ 0. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.21 Giản đồ thời gian port nối tiếp phát ở chế độ 0 (Trang 42)
Hình 1.22 : Các nguồn tạo xung nhịp cho port nối tiếp. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 1.22 Các nguồn tạo xung nhịp cho port nối tiếp (Trang 44)
Hình 2.3: Cấu tạo của IC HA17358. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 2.3 Cấu tạo của IC HA17358 (Trang 47)
Hình 2.9: Sơ đồ địa chỉ của DS12C887. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 2.9 Sơ đồ địa chỉ của DS12C887 (Trang 52)
Hình 2.11: Sơ đồ chân của MAX3238. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 2.11 Sơ đồ chân của MAX3238 (Trang 58)
Hình 2.12: Sơ đồ chân của PT2262. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 2.12 Sơ đồ chân của PT2262 (Trang 59)
Hình 2.16: Sơ đồ khối của PT2272. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 2.16 Sơ đồ khối của PT2272 (Trang 61)
Hình 2.18: Sơ đồ chân của UL2803. - Luận văn điện tử Điều khiển và kiểm tra thiết bị điện bằng điện thoại di động qua soạn tin nhắn
Hình 2.18 Sơ đồ chân của UL2803 (Trang 62)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w