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

đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính

39 520 0

Đ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 đề Đóng Ngắt Thiết Bị Điện Bằng Máy Vi Tính
Tác giả Hoàng Mạnh Giang
Người hướng dẫn Thạc sĩ Trần Văn Trinh
Trường học Trường Đại Học Công Nghiệp TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Điện Tử
Thể loại Đồ án
Năm xuất bản 2007
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 39
Dung lượng 498 KB

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

Nội dung

Việc sử dụng giao diện nối tiếp mang lại nhiều ưu điểm, ngay cả với những mạchghép nối đơn giản, lý do là:  Khả năng chống nhiễu của các cổng nối tiếp cao hơn so với cổng máy in  Thiết

Trang 1

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH

KHOA CÔNG NGHỆ ĐIỆN TỬ

Trang 2

-MỤC LỤC

Phần I: CƠ SỞ LÝ THUYẾT 2

Chương I: CỔNG COM VÀ CÁC PHƯƠNG THỨC TRUYỀN THÔNG NỐI TIẾP 3

I Cổng COM 3

II Các phương thức truyền thông nối tiếp 4

Chương II: GIỚI THIỆU VI ĐIỀU KHIỂN 8051 8

I Cấu tạo vi điều khiển 8051 8

II Tóm tắt tập lệnh của 8051 10

III Hoạt động định thời 12

IV Hoạt động của Port nối tiếp 14

V Hoạt động ngắt của 8051 16

Chương III: GIỚI THIỆU VỀ RS-232 20

I Giới thiệu chung 20

II IC MAX-232 21

Phần II: THIẾT KẾ PHẦN CỨNG VÀ GIAO DIỆN ĐIỀU KHIỂN 22

I Giới thiệu phương án thiết kế 22

II Thiết kế phần cứng 22

III Thiết kế phần mềm và giao diện điều khiển 26

Phần III: PHỤ LỤC 29

I Chương trình viết cho vi xử lý 29

II Chương trình điều khiển trên máy tính 35

Trang 3

LỜI NÓI ĐẦU



Ngày nay, khi công nghiệp ngày càng phát triển thì nhu cầu điều khiển được đặtlên hàng đầu Xuất phát từ nhu cầu đó điện tử tự động hoá ra đời và nó đã được xếptrong nhóm 5 ngành khoa học công nghệ hàng đầu vì những ứng dụng rộng rãi của nó.Song song với sự ra đời của điện tử tự động hoá là sự ra đời và cải tiến không ngừngcủa máy tính Từ những chiếc máy tính đời đầu chỉ thực hiện những phép tính đơngiản ngày nay máy tính có tốc độ xử lý rất cao, nó có thể xử lý hàng tỉ phép tính phứctạp trong vòng một giây Để khai thác được những ưu điểm đó điện tử tự động hoá đã

có sự bắt tay với máy vi tính Nhờ có máy vi tính mà chúng ta có thể làm được nhiềucông việc mà không phải tốn nhiều công sức Xuất phát từ thực tế đó, bằng những kiếnthức đã được học và được đọc ở trường cùng với những kiến thức tìm tòi từ báo chí

sách vở và Internet em đã quyết định tìm hiểu về đề tài “Đóng ngắt thiết bị điện bằng

Trang 4

-PHẦN I: CƠ SỞ LÝ

THUYẾT

Trang 5

CHƯƠNG I: CỔNG COM VÀ CÁC PHƯƠNG THỨC

TRUYỀN THÔNG NỐI TIẾP.

I Cổng COM:

Các máy tính được sản xuất gần đây thường có hai cổng nối tiếp theo chuẩn RS-232,cổng thứ nhất với tên gọi COM1 thường được dùng cho chuột, còn cổng thứ hai COM2thường được dùng cho các mục đích ghép nối khác như modem, máy in hoặc thiết bị đolường Khi cần nhiều hơn hai cổng ta có thể lắp đặp các card mở rộng trên đó có thêm 1-2cổng RS-232 Một số hãng phần cứng giới thiệu các mô-đun vào/ra cho phép tăng thêm haicổng RS-232 hoăc nhiều hơn

Việc sử dụng giao diện nối tiếp mang lại nhiều ưu điểm, ngay cả với những mạchghép nối đơn giản, lý do là:

 Khả năng chống nhiễu của các cổng nối tiếp cao hơn so với cổng máy in

 Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện

 Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối tiếp Thông thường thì việc sử dụng cổng nối tiếp đòi hỏi chi phí nhiều hơn vì cần có sựbiến đổi dữ liệu được truyền theo kiểu nối tiếp thành dữ liệu song song Với những bài toánghép nối không phức tạp, trong đó chỉ sử dụng một vài đường dẫn vào/ra thì ta có thể sử dụngtrực tiếp các đường dẫn phụ trợ có liên quan của giao diện Tổng cộng có đến hai đường dẫnngõ ra và bốn đường dẫn ngõ vào, có thể được trao đổi trực tiếp bằng các lệnh đơn giản

Việc trao đổi dữ liệu qua cổng nối tiếp trong các trường hợp thông thường đều quađường dẫn truyền nối tiếp TxD và đường dẫn nhận nối tiếp RxD Tất cả các đường dẫn còn lại

có chức năng phụ trợ khi thiết lập và khi điều khiển cuộc truyền dữ liệu Các đường dẫn nàygọi là các đường dẫn bắt tay bởi vì chúng được sử dụng theo phương pháp " ký nhận " giữacác thiết bị Ưu điểm đặc biệt của đường dẫn bắt tay là trạng thái của chúng có thể đặt hoặcđiều khiển trực tiếp

Đặc trưng điện áp của các đường dẫn lối vào và lối ra đã được khẳng định trong tiêuchuẩn RS-232 Trạng thái LOW tương ứng với mức điện áp +12V còn trạng thái HIGH tươngứng với điện áp -12V Tất cả các lối ra đều có đặc tính chống chập mạch và có thể cung cấpdòng điện từ 10mA đến 20mA Với các lối ra này, các LED có thể được dấu vào hoặc đượccác khoảng thời gian trễ, nghĩa là trạng thái được đọc sẽ thay đổi khi điện áp lối vào nằm ởbên ngoài vùng này

Thông thường thì giao diện nối tiếp được điều khiền bằng mức tín hiệu hai cực với độlớn bằng +12V và -12V Bởi vì các mạch lối vào thông thường trong máy tính PC nhận dạngmột mức điện áp dưới 1V như là mức LOW, nên cổng nối tiếp cũng được phép làm việc với

5

Trang 6

-mức điện áp TTL ( 0V/5V) Một số máy tính PC, phần lớn là máy tính xách tay làm việc vớingưỡng chuyển mạch từ -3V đến +3V và vì thế có thể chấp nhận các tín hiệu lối vào hai cực.

Bảng dưới đây chỉ ra tất cả các đường dẫn được nối với các chân trên đầu nối 9 chân

và 25 chân (một số chân của đầu nối 25 được bỏ trống):

Chân

(25 chân) (9 chân)Chân vào/raLối Tên gọi Chức năng

1 - - FG, Frame Ground Đất vỏ máy

8 1 ⇒ DCD, Data Carrier

detect

Phát hiện tín hiệu mang dữ liệu

3 2 ⇒ RxD, Receive Data Nhận dữ liệu

2 3 ⇐ TxD, Transmit Data Truyền dữ liệu

20 4 ⇐ DTR,Data terminal

ready

Đầu cuối dữ liệu sẵn sàng; tínhhoạt động giống với RTS nhưngđược kích hoạt bởi bộ nhận khimuốn truyền dữ liệu

7 5 SG, Signal Ground Đất của tín hiệu

6 6 ⇒ DSR, Data Set

Ready

Dữ liệu sẵn sàng; tính hoạt độnggiống với CTS nhưng được kíchhoạt bởi bộ truyền khi nó sẵnsàng nhận dữ liệu

4 7 ⇐ RTS, Request to

Send

Yêu cầu gửi; bộ truyền đạtđường này lên mức hoạt độngkhi sẵn sàng truyền dư liệu

5 8 ⇒ CTS, Clear to Send Xóa để gửi; bộ nhận đặt đường

này lên mức hoạt động để thôngbáo cho bộ truyền là nó sẵn sàngnhận dữ liệu

22 9 ⇒ RI, Ring indicate Báo chuông cho biết là bộ phận

đang nhận tín hiệu rung chuông

II CÁC PHƯƠNG THỨC TRUYỀN THÔNG NỐI TIẾP:

1.Gửi dữ liệu nối tiếp:

Truyền dữ liệu đồng bộ:

Trong việc truyền dữ liệu đồng bộ, hầu hết các thiết bị sử dụng chung một nguồn phátxung clock từ các thiết bị hay nguồn bên trong Nguồn xung clock phải ổn định Mỗi bittruyền sẽ được truyền sau khi phát hiện tín hiệu xung clock truyền tới (xung cạnh lên hoặccạnh xuống) Ngõ nhận sử dụng xung nhịp truyền tới tử thiết bị khi nhận được mỗi bit truyềntới Ngõ nhận có thể chốt tín hiệu truyền tới từ xung cạnh lên hoặc cạnh xuống, hoặc chỉ ramức logic cao hay mức logic thấp Chuẩn đồng bộ sử dụng việc thay đổi của tín hiệu start vàstop trong việc truyền dữ liệu, hai tín hiệu start và stop được chỉ định bên trong chip

Bảng 1.1: Các chân và chức năng trên đầu nối 25 chân và 9 chân

Trang 7

bộ không phù hợp bởi vì khi truyền tín hiệu dứơi dạng xung clock, thì tín hiệu truyền có thêmphần tín hiệu nhiễu

Truyền dữ liệu không đồng bộ:

Trong việc truyền tín hiệu không đồng bộ, sự kết nối không bao hàm nhiều xungclock, bởi vì mỗi ngừng kết nối tín hiệu đựơc cung cấp 1 xung riêng biệt Khi kết thúc phảiđược đồng ý trên tần số xung clock đó, và hầu hết xung clock phải được kết hợp với phầntrăm truyền tín hiệu Mỗi 1 byte được truyền bao gồm 1 bit Start từ xung đồng bộ Và 1 haynhiều bit Stop từ tín hiệu thông báo việc kết thúc việc truyền tín hiệu kết thúc

Truyền tín hiệu không đồng có thể sử dụng nhiều hoặc một vài chuẩn chung Có lẽphổ biến nhất là chuẩn 8-N-1, có nghĩa là khung dữ liệu được truyền đi có 8 bit dữ liệu, 1 bitstop, không kiểm tra chẵn lẻ

2 Định chuẩn dữ liệu

Dữ liệu dạng chữ:

Khi gửi chữ,chương trình sử dụng các đoạn mã để gán một giá trị số tới mỗi chữ kýtự.Có nhiều đoạn mã để chuyển đổi Một trong nhũng mã chung nhất là ASCII (AmericanStandard Code for Information Exchange), bao gồm 128 đoạn mã tương ứng với 7 bit dữliệu.Với loại 8 bit dữ liệu,có thể bit 0 hoặc là bit chẵn lẻ ANSI (American National StandardInstitute) chữ thì có 256 mã, với những đoạn mã cao hơn dành cho thể hiện nhưng ký tự đặcbiệt.Trong IBM ASCII sử dụng chung cho máy tính IBM, nhiều đoạn mã cao hơn thể hiệnnhững đường thẳng …

Chuẩn dùng 16 bit, cho phép thể hiện 65536 ký tự

7

Trang 8

-Hai chuẩn ANSI/ASCII là chuẩn dùng cho Visual Basic’s MSComm control

Mã ASCII Hex:

Ở chế độ này hiển nhiên chọn việc truyền dữ liệu ở dạng chuỗi hoặc một file chứa đựngdạng chữ này Nhưng ta cũng có thể truyền dữ liệu này ở dạng nhị phân, bằng cách biển diễn

dữ liệu này ở chuẩn ASCII Hex Mỗi byte được biểu diễn bằng cách cặp với đoạn mã ASCII

và biểu diễn bằng 2 byte mã hex với 1 ký tự (như ký tự C có nhiều hơn 1 số hexa và lớn hơn 1

số hệ thống) Chuẩn này có thể được biểu diễn với nhiều giá trị sử dụng trong một mã ASCII

từ 30h→39h cho (0 tới 9) và 41h tới 46h (cho A tới F)

Để thay thế việc gửi tín hiệu 1 byte từ giá trị 0→255, việc gửi chia làm 2 lần, mỗi lần cho

1 ký tự trong giá trị mã hex biểu diễn được 1 byte Ngõ nhận của máy tính xử lý giá trị giốngnhư chữ thông thường Sau khi máy tính nhận được các giá trị, máy tính có thể xử lý hoặc sửdụng nhiều thứ ta cần, bao gồm việc chuyển đổi dữ liệu trở lại dạng nhị phân

3 Sử dụng Visual Basic trong truyền thông nối tiếp.

Để sử dụng được Visual Basic trong điều khiển nối tiếp, trước hết cần phải bổ sungthêm thành phần Microsoft Comm Control mà bình thường khi chạy phần mềm Visual Basic6.0 không có Thành phần này có biểu tượng giống như hình chiếc điện thoại bàn

Một số đặc tính cơ bản của thành phần MSComm:

Trong đó, BBBB xác định tốc độ baud, P chỉ tính kiểm tra chẵn lẻ, D là số bit dữ liệu,

và S là số các bit stop Giá trị mặc định là: “9600, N, 8, 1”, có nghĩa là tốc độ truyền là 9600bit/s, không kiểm tra chẵn lẻ, 8 bit dữ liệu, 1 bit stop

PortOpen:

Đặt và trả lại trạng thái của cổng truyền thông (đóng hoặc mở) Cú pháp câu lệnh là:

MSComm.PortOpen = True/FalseTrong đó: Thông số True là để mở cổng, còn False là để đóng cổng và xóa nội dung các

bộ đệm nhận và truyền

Input:

Trang 9

Quy định số ký tự được đọc bởi đặc tính Input, cú pháp câu lệnh như sau:

Inputlen = số ký tự cần đọcNếu đặt Inputlen bằng 0 thì đặc tính Input sẽ đọc hết toàn bộ nội dung của bộ đệm nhận

MSComm.Sthreshold = số ký tự

RThreshold:

Đặt và trả lại số ký tự nhận được trước khi điều khiển truyền thông xác lập đặc tínhComEvent và phát sinh sự kiện OnComm Xác lập bằng 0 để làm mất khả năng phát sinh sựkiện OnComm khi nhận ký tự, xác lập bằng 1 để tạo ra sự kiện OnComm mỗi khi có một ký

tự được đặt vào bộ đệm nhận Cú pháp câu lệnh là:

MSComm.Rthreshold = số ký tựChương trình ví dụ:

Chương trình xuất một ký tự ra cổng COM:

Private Sub Form_Load()

MSComm1.CommPort = 1 ‘Sử dụng COM1MSComm1.Settings = "9600,n,8,1" ‘Cài đặt thông số cho cổngMSComm1.RThreshold = 1 ‘Phát sinh sự kiện OnComm khi bộ đệm

nhận được một ký tựMSComm1.SThreshold = 1 ‘Bộ đệm truyền chỉ chứa tối thiểu 1 ký tựMSComm1.InputLen = 0 ‘Cho phép đọc toàn bộ nội dung bộ đệmMSComm1.PortOpen = True ‘Mở cổng

MSComm1.Output = “A” ‘Truyền đi ký tự AEnd Sub

9

Trang 10

-CHƯƠNG II: GIỚI THIỆU VI ĐIỀU KHIỂN 8051

I.CẤU TẠO VI ĐIỀU KHIỂN 8051

1.TÓM TẮT PHẨN CỨNG HỌ MCS-51 (8051)

MCS-51 là họ IC vi điều khiển do hãng INTEL sản xuất Các IC tiêu biểu cho họ là

8031, 8051, 8951… Những đặc điểm chính và nguyên tắc hoạt động của các bộ vi điều khiểnnày khác nhau không nhiều Khi đã sử dụng thành thạo một vi điều khiển thì ta có thể nhanhchóng vận dụng kinh nghiệm để làm quen và làm chủ các ứng dụng của bộ vi điều khiểnkhác Vì vậy để có những hiểu biết cụ thể về các bộ vi điều khiển cũng như để phục vụ cho đềtài này ta bắt đầu tìm hiểu một bộ vi điều khiển thông dụng nhất, đó là họ MCS-51 và nếu như

họ MCS-51 là họ điển hình thì 8051 lại chính là đại diện tiêu biểu

Các đặc điểm của 8051 được tóm tắt như sau:

 4 KB ROM 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

 64 KB vùng nhớ mã ngoài

 64 KB vùng nhớ dữ liệu ngoài

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

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

 4µs cho hoạt động nhân hoặc chia

Loại Bộ nhớ mã trên Chip Bộ nhớ dữ liệu trên Chip Số Timer

Trang 11

2 Một số thanh ghi chức năng đặc biệt trong vi điều khiển 8051.

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

Các port 0, port 1,port2, port 3 có địa chỉ tương ứng 80H, 90H, A0H, B0H Các Port 0,Port 1, Port 2, Port 3 không còn tác dụng xuất nhập nữa nếu bộ nhớ ngoài được dùng hoặcmột vài tính chất đặc biệt của 8051 được dùng (như Interupt, Port nối tiếp…) Do vậy chỉ còn

có tác dụng xuất nhập I/O

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

8051 có 2 bộ định thời/đếm16 bit, được dùng cho việc định thì hoặc đêm ssự kiện.Timer 0 có bit thấp TL0 ở địa chỉ 8AH và có bit cao TH0 ở địa chỉ 8CH Timer 1 có bit thấp ởđịa chỉ 8BH và bit cao TH1 ở địa chỉ 8DH

Hoạt động định thời được cho phép bởi thanh ghi mode định thời TMOD (TimerMode Register) Ở địa chỉ 89H và thanh ghi điều khiển định thời TCON (Timer ControlRegistor) ở địa chỉ 88H chỉ có TCON có bit định vị

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

Trang 12

8051 chứa một Port nối tiếp trên Chip cho việc truyền thông tin với những thiết bị nốitiếp như là những thiết bị đầu cuối, modem, hoặc để giao tiếp IC khác với những bộ biến đổiA/D, những thanh ghi di chuyển, RAM…Thanh ghi đệm dữ liệu nối tiếp SBUF ở địa chỉ 99Hgiữ cả dữ liệu phát lẫn dữ liệu thu Việc ghi lên SBUF để LOAD dữ liệu cho việc truyền vàđọc SBUF để truy xuất dữ liệu cho việc nhận những mode hoạt động khác nhau được lập trìnhthông qua thanh ghi điều khiển Port nối tiếp SCON

2.4.Các thanh ghi ngắt (Interupt Register):

8051 có hai cấu trúc ngắt ưu tiên, 5 bộ nguồn Những Interupt bị mất tác dụng sau khi

hệ thống Reset (bị cấm) và sau đó được cho phép bởi việc cho phép ghi lên thanh ghi chophép ngắt IE (Interupt Enable Register) ở địa chỉ A8H Mức ưu tiên được đặt vào thanh ghi

ưu tiên ngẳt IP (Interupt Priority Level) tại địa chỉ B8H Cả 2 thanh ghi trên đều có bit địa chỉ

II TÓM TẮT TẬP LỆNH CỦA 8051

Các chương trình được cấu tạo từ nhiều lệnh, chúng được xây dựng logic, sự nối tiếp củacác lệnh được nghĩ ra một cách hiệu quả và nhanh, kết quả của chương trình thì khả quan Tập lệnh họ MCS-51 được sự kiểm tra của các mode định vị và các lệnh của chúng cócác Opcode 8 bit Điều này cung cấp khả năng 28 = 256 lệnh được thi hành và một lệnh khôngđược định nghĩa Vài lệnh có 1 hoặc 2 byte bởi dữ liệu hoặc địa chỉ thêm vào Opcode Trongtoàn bộ các lệnh có 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte

MUL AB : (A) ← LOW [(A) x (B)]; có ảnh hưởng cờ OV

: (B) ← HIGH [(A) x (B)]; cờ Carry được xoá

DIV AB : (A) ← Integer result of [(A) / (B)]; cờ OV

: (B) ← Remainder of [(A) / (B)]; cờ Carry xoá

Trang 13

2 Các lệnh logic:

Tất cả các lệnh logic sử dụng thanh ghi A như là một trong những toán hạng thực thi mộtchu kì máy, ngoài A mất 2 chu kì máy Những hoạt động logic có thể được thực hiện trên bất

kì byte nào trong vị trí nhớ dữ liệu nội mà không thông qua thanh ghi A

Các hoạt động logic được tóm tắt như sau:

ANL <dest-byte>,<src-byte>

ORL <dest-byte><src-byte>

XRL <dest-byte>,<src-byte>

RL A : Quay thanh ghi A qua trái 1 bit

RLC A : Quay vòng thanh ghi A qua trái 1 bit có cờ Carry

RR A : Quay thanh A ghi sang phải 1 bit

RRC A : Quay thanh ghi A sang phải 1 bit có cờ nhớ

3 Các lệnh rẽ nhánh:

JC Rel : Nhảy đến “Rel” nếu cờ carry C =1

JNC Rel : Nhảy đến “Rel” nếu cờ Carry C =0

JB bit,rel : Nhảy đến “Rel” nếu (bit) =1

JNB bit,rel : Nhảy đến “rel” nếu (bit) =0

JBC bit, rel : Nhảy đến “rel” nếu (bit) =1 và xoá bit

ACALL addr 11 : Lệnh gọi tuyệt đối trong Page 2K

LCAL Addr 16 :Lệnh gọi dài chương trình con trong 64 K

RET : Kết thúc chương trình con trở về chương trình chính

RETI : Kết thúc thủ tục phục vụ ngắt quay về chương trình chính

AJMP addr11 : Nhảy tuyệt đối không điều kiện trong 2 K

LJMP addr16 : Nhảy dài không điều kiện trong 64 K

SJMP rel : Nhảy ngắn không điều kiện trong (-128÷127) byte

CJNE A, direct, rel : so sánh và nhảy đến A nếu A ≠direct

DJNE Rn,rel : Giảm Rn và nhảy nếu Rn≠0

DJNZ direct, rel : Giảm và nhảy nếu direct ≠0

4 Các lệnh dịch chuyển dữ liệu:

Các lệnh dịch chuyển dữ liệu trong những vùng nhớ nội thực thi 1 hoặc 2 chu kỳ máy.Mẫu lệnh MOV <destination>, <source> cho phép di chuyển dữ liệu bất kỳ 2 vùng nhớ nàocủa RAM nội hoặc các vùng nhớ của các thanh ghi chức năng đặc biệt mà không thông quathanh ghi A

Vùng Stack của 8051 chỉ chứa 128 byte RAM nội, nếu con trỏ Stack SP được tăng quáđịa chỉ 7FH thì các byte được PUSH vào sẽ mất đi vào các byte POP ra thì không biết rõ

13

Trang 14

-Các lệnh dịch chuyển bộ nhớ nội và bộ nhớ ngoại dùng sự định vị gián tiếp Địa chỉ giántiếp có thể dùng địa chỉ 1 byte (@ Ri) hoặc địa chỉ 2 byte (@ DPTR) Tất cả các lệnh dịchchuyển hoạt động trên toàn bộ nhớ ngoài thực thi trong 2 chu kỳ máy và dùng thanh ghi Alàm toán hạng DESTINATION.

Việc đọc và ghi RAM ngoài (RD và WR) chỉ tích cực trong suốt quá trình thực thi củalệnh MOVX, còn bình thường RD và WR không tích cực (mức 1)

5.Các lệnh luận lý:

CLR C : Xoá cờ Carry xuống 0 Có ảnh hưởng cờ Carry

CLR BIT : Xoá bit xuống 0 Không ảnh hưởng cờ Carry

SET C : Set cờ Carry lên 1 Có ảnh hưởng cờ Carry

SET BIT : Set bit lên 1 Không ảnh hưởng cờ Carry

CPL C : Đảo bit cờ Carry Có ảnh hưởng cờ Carry

CPL BIT : Đảo bit Không ảnh hưởng cờ Carry

ANL C, BIT : Có ảnh hưởng cờ Carry.

ANL C, BIT : Không ảnh hưởng cờ Carry.

ORL C, BIT : Tác động cờ Carry.

ORL C, : Tác động cờ Carry

MOV C, BIT : Cờ Carry bị tác động.

MOV BIT, C : Không ảnh hưởng cờ Carry.

III HOẠT ĐỘNG ĐỊNH THỜI

Các bộ định thời được sử dụng hầu hết trong các ứng dụng hướng điều khiển và 8051 vớicác bộ định thời trên chip không phải là trường hợp ngoại lệ 8051 có hai bộ định thời 16 bit,mỗi bộ có 4 chế độ hoạt động Các bộ định thời được dùng để:

 Định thời trong một khoảng thời gian

 Đếm sự kiện

 Tạo tốc độ baud cho port nối tiếp của chip 8051

1.Thanh ghi chế độ định thời (TMOD)

Thanh ghi TMOD (time mode register) chứa hai nhóm 4-bit dùng để thiết lập chế độhoạt động cho bộ định thời 0 và bộ định thời 1 (xem bảng 4.2 và 4.3) TMOD không đượcđịnh địa chỉ từng bit và điều này cũng không cần thiết Một cách tổng quát, TMOD được nạpmột lần bởi phần mềm ở thời điểm bắt đầu của một chương trình để khởi động chế độ hoạtđộng của bộ định thời Sau đó bộ định thời có thể được dừng, bắt đầu, v.v… bằng cách truyxuất các thanh ghi chức năng đặc biệt khác của bộ định thời

Trang 15

3.2 Chế độ timer 16-bit (chế độ 1)

Chế độ 1 là chế độ timer 16 bit giống như chế độ 0, ngoại trừ lúc này timer hoạt độngnhư timer 16 bit đầy đủ Xung nhịp được đưa vào thanh ghi 16 bit được kết hợp bởi THx vàTLx Khi nhận được xung nhịp thì timer đếm lên: 0000H, 0001H, 0002H, v.v… Tràn xảy rakhi có chuyển tiếp từ FFFFH sang 0000H trong số đếm và nó đặt cờ báo tràn timer lên 1.Timer tiếp tục đếm tiếp Cờ báo tràn là bit TFx trong TCON mà người ta có thể đọc hoặc ghivào bằng phần mềm

3.3 Chế độ timer 8 bit tự nạp lại trị đầu (chế độ 2)

Chế độ 2 là chế độ tự động nạp giá trị đầu Byte thấp của timer TLx làm việc như timer

8 bit trong khi đó byte cao của timer THx giữ giá trị cần nạp lại Khi bộ đếm trnf từ FFH sang00H thì không những cờ timer được đặt lên 1 mà giá trị trong THx còn được nạp vào TLx ,việc đếm tiếp tục từ giá trị này đến chuyển tiếp từ FFH sang 00H kế, và cứ tiếp tục như vậy.Chế độ này tiện lợi vì tràn timer xảy ra theo những khoảng thời gian có chu kỳ một khiTMOD và THx đã được khởi tạo trị đầu

3.4 Khởi động, dừng và điều khiển các bộ định thời:

Bit TRx trong thanh ghi TCON được điều khiển bởi phần mềm để bắt đầu hoặc kết thúccác timer Để bắt đầu các timer ta set bit TRx và để kết thúc timer ta clear TRx Ví dụ timerđược khởi động bởi lệnh SETB TR0 và được kết thúc bởi lệnh CLR TR0 (bit Gate=0) BitTRx bị xóa sau sự reset hệ thống, do đó các timer bị cấm bằng sự mặc định

15

-Bit Tên Bộ định thời Mô tả

7 GATE 1 Bit điều khiển cổng khi được set lên 1, bộ định

thời chỉ hoạt động trong khi INT ở mức cao.

4 M0 1 Bit chọn chế độ thứ hai (xem bảng 4.3)

3 GATE 0 Bit điều khiển cổng cho bộ định thời 0

2 C / T 0 Bit chọn chức năng đếm hoặc định thời cho bộ

định thời 0

Bảng 2.5: Thanh ghi chọn chế độ định thời Bảng 2.6: Các chế độ định thời

Trang 16

Thêm phương pháp nữa để điều khiển timer là dùng bit Gate trong thanh ghi TMOD vàngõ nhập bên ngoài INTx Điều này được dùng để đo các độ rộng xung Giả sử xung đưa vàochân INT0 ta khởi động timer 0 cho mode 1 là mode timer 16 bit với TL0/TH0 = 0000H, Gate

=1, TR0 =1 Như vậy khi INT0 =1 thì timer “được mở cổng” và ghi giờ với tốc độ của tần số1MHz Khi INT0 xuống mức thấp thì timer “đóng cổng” và khoảng thời gian của xung tínhbằng us là sự đếm được trong thanh ghi TL0/TH0

IV HOẠT ĐỘNG CỦA PORT NỐI TIẾP 8051.

Phần cứng truy xuất tới Port nối tiếp qua các chân TxD (P3.1) và RxD (P3.0) Port nốitiếp tham dự hoạt động đầy đủ (sự phát và thu cùng lúc), và thu vào bộ đệm mà nó cho phép 1

ký tự nhận vào và được cất ở bộ đệm trong khi ký tự thứ hai được nhận vào Nếu CPU đọc ký

tự thứ nhất trước khi ký tự thứ hai được nhận vào hoàn toàn thì dữ liệu không bị mất

Hai thanh ghi chức năng đặc biệt cung cấp cho phần mềm truy xuất đến Port nối tiếp

là SBUF và SCON Sự đệm Port nối tiếp (SBUF) ở địa chỉ 99H là 2 sự đệm thật sự: Ghi lênSBUF (nạp dữ liệu phát) và đọc SBUF (truy xuất dữ liệu đã nhận) Đây là hai thanh ghi riêngbiệt và rõ rệt, và thanh ghi phát chỉ ghi còn thanh ghi thu chỉ đọc Sơ đồ khối của Port nối tiếpnhư sau:

1.Thanh ghi điều khiển Port nối tiếp SCON:

Mode hoạt động của Port nối tiếp được set bởi việc ghi lên thanh ghi mode của Port nốitiếp SCON ở địa chỉ 99H Bảng tóm tắt thanh ghi điều khiển Port nối tiếp SCON như sau:

TXD (P3.1) RXD (P3.0)

SBUF(Write – only) Shift Register

SBUF(Read – only)

8051 Internal BusBaud Rate

clock (Transmit) clock (Receive)Baud Rate

Trang 17

SM0 SM1 MODE MÔ TẢ TỐC ĐỘ BAUD

0 0 0 Thanh ghi dịch Cố định (tần số dao động/12)

0 1 1 UART 8 bit Thay đổi (thiết lập bởi bộ định thời)

1 0 2 UART 9 bit Cố định (tần số dao động /12 hoặc /64)

1 1 3 UART 9 bit Thay đổi (thiết lập bởi bộ định thời)

Trước khi dùng Port nối tiếp, SCON phải được định đúng chế độ VD: Để khởi tạo Portnối tiếp chế độ 1 (SM0/SM1 = 0/1), cho phép thu (REN = 1), và set cờ ngắt của việc phát sẵnsàng hoạt động (TI = 1), ta dùng lệnh sau :

MOV SCON, #01010010H

Port nối tiếp của 8051 có 4 mode hoạt động tùy thuộc theo trạng thái của SM0/SM1

Ba trong 4 mode cho phép truyền động bộ với mỗi ký tự thu hoặc phát sẽ được bố tríbởi bit Start hoặc bit Stop

2 Khởi động và truy xuất các thanh ghi Port nối tiếp:

2.1 Cho phép thu:

Bit cho phép thu REN trong thanh ghi SCON phải được set bởi phần mềm để chophép sự thu các ký tự Điều này thường được dùng làm ở đầu chương trình khi các Port nốitiếp và các timer được khởi động

Ta có thể tác động bằng lệnh:

SETB REN hoặc:

MOV SCON, # xxx1xxxxB

2.2 Dùng timer tạo tốc độ Baud cho port nối tiếp:

Muốn tạo ra tốc độ Baud, ta khởi tạo TMOD ở chế độ tự nạp lại 8 bit (mode 2 củatimer) và đặt trước giá trị nạp lại đúng vào byte cao của thanh ghi timer 1 (TH1) để tạo ra tốc

độ tràn chính xác Có những tốc độ Baud rất chậm ta dùng chế độ 16 bit là chế độ 1 của timer,nhưng ta phải khởi tạo lại sau mỗi lần tràn cho TL1/TH1

Hoạt động khác được đếm giờ bởi việc dùng timer 1 ngoài là T1 (P3.5) Công thứcchung để xác định tốc độ Baud trong mode 1 và mode 3 là:

17

-Bit Ký hiệu Địa chỉ Mô tả hoạt động

SCON.7 SM0 9FH Bit 0 của mode Port nối tiếp

SCON.6 SM1 9EH Bit 1 của mode Port nối tiếp

SCON.5 SM2 9DH Bit 2 của mode Port nối tiếp cho phép sự truyền

của bộ xử lý đa kênh ở mode 2 và 3; RI sẽ khôngtích cực nếu bit thứ 9 đã thu vào là 0

SCON.4 REN 9CH REN = 1 sẽ cho phép thu ký tự

SCON.3 TB8 9BH Phát bit 8 Bit 9 phát trong mode 2 và 3, được set

và xóa bởi phần mềmSCON.2 RB8 9AH Thu bit 8 Bit thứ 9 nhận được

SCON.1 TI 99H Cờ ngắt phát Cờ này được set ngay khi kết thúc

việc phát một ký tự; được xóa bởi phần mềmSCON.0 RI 98H Cờ ngắt thu Cờ này được set ngay khi kết thúc

việc thu một ký tự; được xóa bởi phần mềm

Bảng2.8: Chức năng của thanh ghi SCON Bảng 2.9: Các chế độ hoạt động của port nối tiếp

Trang 18

Ví dụ một hoạt động 1200 Baud đòi hỏi một tốc độ tràn là 1200/32 = 38,4 KHz Nếuthạch anh 12MHz lái dao động trên Chip, thì timer 1 được đếm giờ ở tốc độ của tần số 1MHz Bởi vì timer phải tràn ở tốc độ tần số 38,4 KHz và Timer đếm giờ ở tốc độ của tần số 1MHz, nên một sự tràn được yêu cầu với 1000/38,4 = 26,04 clock (làm tròn 26) Bởi vì cáctimer đếm lên và tràn khi có sự chuyển đổi từ FFH  00H của bộ đếm, nên 26 là giá trị cầnnạp cho TH1 (giá trị đúng là -26) Ta dùng lệnh: MOV TH1, #26

Ví dụ sau khi khởi động Port nối tiếp hoạt động giống như một UART 8 bit ở tốc độ

2400 Baud, dùng timer 1 để cung cấp tốc độ Baud:

MOV SCON, #01010010B ; Port nối tiêp mode 1MOV TMOD, #20 ; Timer 1 mode 2MOV TH1, #-13 ; Nạp vào bộ đếm tốc độ

2400BaudSETB TR1 ;Start timer 1Trong SCON có SM0/SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếpthu các ký tự và TI = 1 cho phép phát ký tự đầu tiên bởi việc cho biết thanh ghi đếm rỗng.TMOD có M1/M0 = 1/0 để đặt timer 1 vào mode tự động nạp lại 8 bit Việc set bit TR1 để

mở máy chạy timer Tốc độ Baud 2400 sẽ cho ta tốc độ tràn timer 1 là 2400/32 = 76,8 KHz(ứng với thạch anh 12 MHz) sẽ cho số xung clock sau mỗi sự tràn là 1000/76,8 = 13,02 (lấytròn là 13) Vậy -13 là giá trị cần nạp vào TH1 để có tốc độ Baud là 2400 Baud

V HOẠT ĐỘNG NGẮT CỦA 8051.

Trong nhiều ứng dụng đòi hỏi ta phải dùng ngắt (Interrupt) mà không dùng timer bởi

vì nếu dùng timer ta phải mất thời gian để chờ cờ tràn timer TFx set mới xử lý tiếp chươngtrình Do đó ta không có thời gian để làm các việc khác mà ứng dụng đòi hỏi Đây là chươngtrình rất quan trọng của 8051 nói riêng và họ MSC – 51 nói chung

Ngắt là một sự cố có điều kiện mà nó gây ra sự ngưng lại tạm thời của chương trình đểphục vụ một chương trình khác Các ngắt đóng vai trò quan trọng trong việc thiết kế và hiệnthực các ứng dụng của bộ vi điều khiển các ngắt cho phép hệ thống đáp ứng một sự kiện theocách không đồng bộ và xử lý sự kiện trong khi một chương trình khác đang thực thi Một hệthống được điều khiển bởi ngắt cho ta ảo tưởng đang làm nhiều công việc đồng thời Tấtnhiên CPU không thể thực thi nhiều lệnh tại một thời điểm, nhưng nó có thể tạm thời treoviệc thực thi của chương trình chính để thực thi chương trình khác và sau đó quay lại chươngtrình chính

BAUD RATE = TIMER 1 OVERFLOW RATE ÷32

Trang 19

ISR thực thi để thực hiện hoạt động và kết thúc với lệnh RETI: chương trình tiếp tục nơi mà

1 Tổ chức ngắt của 8051:

8051 cung cấp 5 nguồn ngắt, 2 ngắt ngoài, 3 ngắt timer và một ngắt Port nối tiếp tất

cả các ngắt bị mất tác dụng bởi sự mặc định sau khi reset hệ thống và được cho phép cá biệtbởi phần mềm

Trong trường hợp có hai hoặc nhiều hơn sự ngắt xảy ra đồng thời hoặc một sự ngắtđang được phục vụ mà xuất hiện một sự ngắt khác, thì sẽ có hai cách thực hiện sự ngắt là sựkiểm tra liên tiếp và sự ưu tiên cấp 2

1.1.Sự cho phép ngắt và sự cấm ngắt:

Mỗi nguồn ngắt được cho phép riêng biệt hoặc sự cấm riêng biệt qua thanh ghi chứcnăng đặc biệt có bit định vị IE (Interrupt Enable) tại địa chỉ 0A8H Cũng như sự cá biệt chophép các bit của mỗi nguồn ngắt có 1 bit cho phép (hoặc cấm) chung mà nó có được xóa đểcấm tất cả các ngắt hoặc được set để cho phép chung các ngắt

Hoạt động của từng bit trong thanh ghi cho phép ngắt IE được tóm tắt trong bảng sau:

19

-Bit Symbol Bit Address Sự mô tả (Enable=1; Disable)

IE.7 EA AFH Cho phép ngắt toàn cục

IE.6 - AEH Không định nghĩa

IE.5 ET2 ADH Cho phép ngắt timer 2 (8052)

IE.4 ES ACH Cho phép ngắt Port nối tiếp

IE.3 ET1 ABH Cho phép ngắt timer 1

IE.2 EX1 AAH Cho phép ngắt ngoài External 1

IE.1 ET0 A9H Cho phép ngắt timer 0

IE.0 EX0 A8H Cho phép ngắt ngoài External 0

* **

Timer

Thục thi chương trình có ngắt

Ngày đăng: 06/10/2014, 00:25

HÌNH ẢNH LIÊN QUAN

Bảng dưới đây chỉ ra tất cả các đường dẫn được nối với các chân trên đầu nối  9 chân và 25 chân (một số chân của đầu nối 25 được bỏ trống): - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
Bảng d ưới đây chỉ ra tất cả các đường dẫn được nối với các chân trên đầu nối 9 chân và 25 chân (một số chân của đầu nối 25 được bỏ trống): (Trang 6)
Bảng 2.1: Bảng mô tả sự khác nhau của các IC trong họ MCS-51 - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
Bảng 2.1 Bảng mô tả sự khác nhau của các IC trong họ MCS-51 (Trang 10)
Hình 2.1: Sơ đồ chân của 8051 - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
Hình 2.1 Sơ đồ chân của 8051 (Trang 11)
Bảng 2.5: Thanh ghi chọn chế độ định thời    Bảng 2.6: Các chế độ định thời - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
Bảng 2.5 Thanh ghi chọn chế độ định thời Bảng 2.6: Các chế độ định thời (Trang 15)
Bảng 2.9: Các chế độ hoạt động của port nối tiếp - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
Bảng 2.9 Các chế độ hoạt động của port nối tiếp (Trang 17)
Bảng 3.1: tóm tắt càc thông số hoạt động  của  RS-232 - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
Bảng 3.1 tóm tắt càc thông số hoạt động của RS-232 (Trang 22)
1. SƠ ĐỒ KHỐI VÀ SƠ ĐỒ NGUYÊN LÝ: - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
1. SƠ ĐỒ KHỐI VÀ SƠ ĐỒ NGUYÊN LÝ: (Trang 24)
Hình 1.6: Giao diện điều khiển thiết bị - đồ án tốt nghiệp đóng ngắt thiết bị điện bằng máy vi tính
Hình 1.6 Giao diện điều khiển thiết bị (Trang 29)

TỪ KHÓA LIÊN QUAN

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

w