intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

LUẬN VĂN:ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH

Chia sẻ: Nguyen Lan | Ngày: | Loại File: PDF | Số trang:90

197
lượt xem
80
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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 đặt lên hàng đầu. Xuất phát từ nhu cầu đó điện tử tự động hoá ra đời và nó đã được xếp trong 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ự đ

Chủ đề:
Lưu

Nội dung Text: LUẬN VĂN:ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH

  1. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH LUẬN VĂN Điều khiển thiết bị điện qua máy vi tính Trang 4
  2. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH I. ĐẶT VẤN ĐỀ 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 đặt lên hàng đầu. Xuất phát từ nhu cầu đó điện tử tự động hoá ra đời và nó đã được xếp trong 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ừng củ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 đơn giả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ức tạ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ều cô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ến thức đã được học và sự giúp đở của thầy cô, em đã quyết định tìm hiểu về đề tài “điều khiển thiết bị điện qua máy vi tính”. II. TẦM QUAN TRỌNG CỦA ĐỀ TÀI - Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụng các kiến thức đã được học dưới mái trường Cao Đẳng vào trong thực tế. - Về mặt khoa học, đề tài sẽ giúp cho nhóm sinh viên thực hiện hiểu rõ thêm về Truyền dữ liệu điều khiển và Cách điều khiển mạch điện thông qua máy tính. - Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để điều khiển một số thiết bị trong nhà như đèn điện, quạt máy..v..v III. GIỚI HẠN ĐỀ TÀI Do thời gian thực hiện đề tài có hạn và kiến thức còn hạn chế nên nhóm sinh viên thực hiện đã đưa ra những giới hạn sau: 1. Điều khiển cùng lúc tối đa 10 thiết bị. 2. Mạch phải hoạt động tốt không bị nhiễu trên đường truyền tín hiệu 3. Mạch phải chạy ổn định trong quá trình làm việc IV. MỤC ĐÍCH NGHIÊN CỨU Khi bắt tay vào thực hiện đề tài này, nhóm thực hiện mong muốn rằng sản phẩm của đề tài phải được ứng dụng. Và đặc biệt, đối với nhóm nghiên cứu đây là điều kiện, cơ hội, cách thức để củng cố, bổ sung và ứng dụng những gì đã được lĩnh hội được trong lý thuyết cũng như thực tập. Từ đó sử dụng và ứng dụng nó nhằm đáp ứng cho nhu cầu thực tế. Đây chính là những tiền đề đầu tiên để mỗi thành viên trong nhóm có được một số kiến thức chuyên ngành nhất định, làm hành trang cho công việc sau này. Trang 5
  3. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH V. ĐỐI TƯỢNG NGHIÊN CỨU Đối tượng nghiên cứu của đề tài này chính là: ► Cách thức giao tiếp giữa mạch đo và máy tính. ► Cách thức giao tiếp giữa mạch đo và mạch điều khiển. ► Cách lập trình cho vi điều khiển để cho dữ liệu có thể thu, phát liên tục mà không bị ngắt quãng. ► Cách cân chỉnh mạch đo, đảm bảo độ chính xác của mạch đo. VI. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN NGHIÊN CỨU 1. Phương pháp nghiên cứu Trong quá trình nghiên cứu, nhóm sinh viên thực hiện chủ yếu dựa vào hai phương pháp chính: - Phương pháp tham khảo tài liệu: Thu thập các tài liệu liên quan đến giao tiếp máy tính, Truyền số liệu, Kỹ thuật mạch điện tử, Thiết kế mạch điện tử và Phương pháp nghiên cứu khoa học. Sau đó, nhóm sinh viên vận dụng các kiến thức hiện có để tổng hợp các tài liệu, sau cùng thiết kế ra mạch điện phù hợp với các yêu cầu mà ban đầu nhóm đã đề ra. - Phương pháp quan sát và thực nghiệm: Sau khi đã có mạch theo tính toán lý thuyết, nhóm sinh viên thực hiện đã thi công mạch thực tế theo đúng sơ đồnguyên lý đã vạch ra. Do không có các thiết bị đo chuyên dụng thích hợp, nhóm sinh viên thực hiện đã cân chỉnh thủ công từng khối, đo điện áp và dòng điện ngõ ra của chúng. Sau đó, nhóm đã sử dụng kết quả cân chỉnh này để điều chỉnh lại lý thuyết một cách hợp lý. 2. Phương tiện nghiên cứu a. Các tài liệu liên quan đến đề tài. b. Bộ nguồn ổn áp tuyến tính 5V, ±12V. c. Đồng hồ đo VOM kim và số. d. Máy tính Trang 6
  4. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH Trang 7
  5. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH Đồ án tốt nghiệp thực chất là một quá trình nghiên cứu khoa học - quá trình nhận thức và hành động. Quá trình này đòi hỏi phải có thời gian nhất định tương xứng với nội dung của đối tượng nghiên cứu và tính chất phức tạp của vấn đề nghiên cứu. Việc nghiên cứu khoa học giúp ta tìm ra cái mới. Cái mới ở đây không những mang tính chủ quan của người nghiên cứu mà còn mang tính khách quan đối với xã hội. Nghiên cứu khoa học phải nhằm mục đích phục vụ xã hội, đáp ứng yêu cầu thực tiễn. Hoạt động nghiên cứu khoa học muốn đạt kết quả tốt phải hội đủ các yếu tố: phương tiện, phương pháp, cơ sở vật chất, máy móc thiết bị, hình thức tổ chức. Các yếu tố này có mối quan hệ hữu cơ và phù hợp với đối tượng nghiên cứu. Các cơ sở cho việc nghiên cứu đề tài: I. KIẾN THỨC VÀ NĂNG LỰC NGƯỜI NGHIÊN CỨU Trong quá trình nghiên cứu và thực hiện đề tài người nghiên cứu cần phải cân nhắc kỹ độ khó và độ phức tạp của đề tài sao cho phù hợp với khả năng, kiến thức và năng lực của người nghiên cứu. Độ phức tạp của đề tài thể hiện ở các mặt: lĩnh vực nghiên cứu rộng hay hẹp, ở một ngành hay liên ngành, đối tượng nghiên cứu là đồng nhất hay không đồng nhất. Tuy nhiên cần lưu ý rằng giá trị của đề tài không phụ thuộc vào độ phức tạp của nó. Đề tài hẹp chưa hẳn là đề tài kém giá trị. Mỗi đề tài nghiên cứu khoa học có một phạm vi nhất định, phạm vi này càng hẹp thì sự nghiên cứu càng sâu. Độ khó của đề tài nói lên tính vừa sức đối với người nghiên cứu. Do đó độ phức tạp của đề tài thường có mối liên hệ tương hỗ với độ khó của nó. Kiến thức của người nghiên cứu (đây là điều kiện chủ quan ở người nghiên cứu). Trước hết đó là kiến thức, kinh nghiệm của người nghiên cứu. Người nghiên cứu phải thể hiện năng lực nghiên cứu khoa học bao gồm việc nắm vững lý thuyết cơ bản của khoa học trong lĩnh vực nghiên cứu của mình, nắm được mức độ nhất định về sự phát triển và tiến bộ thuộc lĩnh vực nghiên cứu có như thế mới chọn được đề tài có giá trị. Trong tình hình tiến bộ của khoa học kỹ thuậthiện nay trên thế giới, khối lượng thông tin khoa học gia tăng với qui mô lớn và nhịp độ nhanh đòi hỏi người nghiên cứu phải tham khảo tài liệu nước ngoài.Để thực hiện được vấn đề này người nghiên cứu khoa học cần có số vốn ngoại ngữ nhất định. II. VẤN ĐỀ THỰC TIỄN Người nghiên cứu phải coi thực tiễn làm cơ sở, là động lực của nhận thức. Angel viết: “Khi xã hội có những yêu cầu kỹ thuật thì xã hội thúc đẩy khoa học hơn mười trường đại học”. Mặt khác thực tiễn cũng là tiêu chuẩn để kiểm tra nhận thức . Trang 8
  6. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH Thực tế là những sự việc có thật, những tình hình cụ thể, những vấn đề đã hoặc chưa được giải quyết trong cuộc sống. Người nghiên cứu với kinh nghiệm bản thân trong công tác hàng ngày thường thấy được các mặt của vấn đề, các mối quan hệ phức tạp, các diễn biến, phương hướng phát triển của sự vật từ đó có định hướng thích hợp giải quyết đề tài. Chính thực tiễn giúp người nghiên cứu tìm thấy vấn đề một cách cụ thể. Người nghiên cứu phải xem thực tiễn cao hơn nhận thức (lý luận) vì nó có ưu điểm không những có tính phổ biến mà còn có tính hiện thực trực tiếp. Hồ Chủ Tịch cũng đã dạy: “Học tập thì theo nguyên tắc: kinh nghiệm và thực tiễn phải đi cùng nhau”. Đề tài thực hiện mang tính thực tiễn, nội dung của đề tài là có thật, phát triển từ thực tế khách quan. Có thể nói hầu như mọi công trình nghiên cứu điều có giá trị thực tế của nó, chỉ khác nhau ở mức độ ít nhiều, phục vụ trước mắt hay lâu dài, gián tiếp hay trực tiếp. III. TÁC ĐỘNG CỦA ĐIỀU KIỆN KHÁCH QUAN ĐẾN VIỆC THỰC HIỆN ĐỀ TÀI Trong quá trình nghiên cứu thực hiện đề tài người nghiên cứu là yếu tố chủ quan góp phần quan trọng đến kết quả còn đối tượng nghiên cứu, phương pháp nghiên cứu kể cả phương tiện ngiên cứu, thời gian nghiên cứu cùng những người cộng tác nghiên cứu và người hướng dẫn nghiên cứu là những điều kiện khách quan ảnh hưởng trực tiếp đến việc nghiên cứu và kết quả nghiên cứu. Người nghiên cứu càng nắm chắc các yếu tố khách quan đó bao nhiêu thì kết quả nghiên cứu càng được khẳng định bấy nhiêu. Trang 9
  7. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH Trang 10
  8. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 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ển nà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ể nhanh chó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ển khá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 8051 4K ROM 128 Byte 2 8031 0K ROM 128 Byte 2 8751 4K ROM 128 Byte 2 8052 8K ROM 256 Byte 2 8032 0K ROM 256 Byte 2 8752 8K EPROM 256 Byte 2 Bảng mô tả sự khác nhau của các IC trong họ MCS-51 Trang 11
  9. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 2. Một số thanh ghi chức năng đặc biệt trong vi điều khiển 8051. a. 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ặc mộ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. b. 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 sự 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 (Timer Mode Register). Ở địa chỉ 89H và thanh ghi điều khiển định thời TCON (Timer Control Registor) ở địa chỉ 88H chỉ có TCON có bit định vị. c. Các thanh ghi Port nối tiếp (Serial Port Register): 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ối tiế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 đổi A/D, những thanh ghi di chuyển, RAM…Thanh ghi đệm dữ liệu nối tiếp SBUF ở địa chỉ 99H giữ 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ình thông qua thanh ghi điều khiển Port nối tiếp SCON. d. 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 cho phé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ỉ. 3. 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ủa cá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 Trang 12
  10. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH đượ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. Trong toàn bộ các lệnh có 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte. 8051chia ra 5 nhóm chính:  Các lệnh số học.  Lệnh logic.  Lệnh dịch chuyển dữ liệu.  Lệnh luận lý.  Lệnh rẽ nhánh chương trình.  Các lệnh số học ADD A, SUBB A, INC DEC 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á  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ột chu 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 , ORL XRL , 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ớ  Các lệnh rẽ nhánh: Trang 13
  11. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍ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  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 , cho phép di chuyển dữ liệu bất kỳ 2 vùng nhớ nào củ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 qua thanh 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õ. 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án tiế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ịch chuyể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 A làm toán hạng DESTINATION. Trang 14
  12. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 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ủa lệnh MOVX, còn bình thường RD và WR không tích cực (mức 1). ● 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. 4. Họat độ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ới cá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. 5. 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ạp mộ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 truy xuất các thanh ghi chức năng đặc biệt khác của bộ định thời. Trang 15
  13. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 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. C /T 1 Bit chọn chức năng đếm hoặc định thời : 1 = đếm sự kiện 0 = định thời trong một khoảng thời gian 5 M1 1 Bit chọn chế độ thứ nhất (xem bảng 4.3) 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: Thanh ghi chọn chế độ định thời M1 M0 Chế độ Mô tả 0 0 0 Chế độ định thời 13 bit 0 1 1 Chế độ định thời 16 bit 1 0 2 Chế độ tự nạp lại 8 bit 1 1 3 Chế độ định thời chia sẻ Bảng: Các chế độ định thời 6. Các chế độ định thời và cờ tràn a. Chế độ timer 13-bit (chế độ 0) Chế độ 0 là chế độ định thời 13 bit cung cấp khả năng tương thích với bộ vi điều khiển tiền nhiệm 8048. Byte cao của bộ định thời THx được ghép cascade với 5 bit thấp của byte thấp của bộ định thời TLx để tạo thành một bộ định thời 13-bit. Ba bit cao của TLx không sử dụng. b. 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 động như 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 ra khi 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 ghi vào bằng phần mềm. c. Chế độ timer 8 bit tự nạp lại trị đầu (chế độ 2) Trang 16
  14. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 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 sang 00H 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 khi TMOD và THx đã được khởi tạo trị đầu. d. 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úc cá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). Bit TRx bị xóa sau sự reset hệ thống, do đó các timer bị cấm bằng sự mặc định. 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ào châ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ính bằng us là sự đếm được trong thanh ghi TL0/TH0. 7. Họat độ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ối tiế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ên SBUF (nạp dữ liệu phát) và đọc SBUF (truy xuất dữ liệu đã nhận). Đây là hai thanh ghi riêng biệ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ếp như sau: Trang 17
  15. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH a. 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ối tiế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: 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ông tí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ềm SCON.2 RB8 9AH Thu bit 8. Bit thứ 9 nhận được Trang 18
  16. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 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ềm SCON.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 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) Bảng Các chế độ hoạt động của port nối tiếp Trước khi dùng Port nối tiếp, SCON phải được định đúng chế độ. VD: Để khởi tạo Port nố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ẵn sà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. b. Khởi động và truy xuất các thanh ghi Port nối tiếp: b.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 để cho phé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ối tiế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 b.2. Dùng timer tạo tốc độ Baud cho port nối tiếp: Trang 19
  17. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 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ủa timer) 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ức chung để xác định tốc độ Baud trong mode 1 và mode 3 là: BAUD RATE = TIMER 1 OVERFLOW RATE  32 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ương trì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ương trì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ện thự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 theo cách không đồng bộ và xử lý sự kiện trong 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ếu thạch anh 12MHz lái dao động trên Chip, thì timer 1 được đếm giờ ở tốc độ của tần số 1 MHz. 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ố 1 MHz, 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ác timer đế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ần nạ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 1 MOV TMOD, #20 ; Timer 1 mode 2 MOV TH1, #-13 ; Nạp vào bộ đếm tốc độ 2400Baud SETB TR1 ;Start timer 1 Trong SCON có SM0/SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếp thu 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 Trang 20
  18. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH (ứ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ấy tròn là 13). Vậy -13 là giá trị cần nạp vào TH1 để có tốc độ Baud là 2400 Baud. 8. Họat động ngắt của 8051. 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ất nhiê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 treo việ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ương trình chính. Khi chương trình chính đang thực thi mà có một sự ngắt xảy đến thì chương trình chính ngưng thực thi và rẽ nhánh đến thủ tục phục vụ ngắt ISP (Interrupt Service Routine). 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à nó dừng lại. Ta có thể tóm tắt sự thực thi của 1 chương trình trong trường hợp có ngắt và không có ngắt như sau: Timer Main Program Thục thi chương trình không có ngắt ISR ISR ISR * ** * ** * ** Main Main Main Main Timer Thục thi chương trình có ngắt Trong đó ký hiệu * cho biết ngắt chương trình chính để thực thi chương trình con trong thủ tục phục vụ ngắt ISR. Còn ký hiệu ** cho biết việc quay lại chương trình chính thực thi tiếp sau khi kết thúc chương trình con trong ISR. Trang 21
  19. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH 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ệt bở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ức năng đặc biệt có bit định vị IE (Interrupt Enable) tại địa chỉ 0A8H. Cũng như sự cá biệt cho phé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: 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 Bảng: Chức năng của thanh ghi IE Hai bit phải set để cho phép 1 sự ngắt nào đó: là bit cho phép riêng và bit cho phép chung. Ví dụ để cho phép ngắt timer 1 ta có thể thực hiện trên bit: SETB ET1 và SETB EA hoặc sự thực hiện trên byte: MOV IE, #10001000B Trang 22
  20. ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MÁY VI TÍNH Cả hai phương pháp này có kết quả chính xác sau khi reset hệ thống, nhưng kết quả khác nhau nếu thanh ghi IE được ghi trên tuyến ở giữa chương trình. Giải pháp thứ nhất không có tác dụng trên các bit còn lại trong thanh ghi IE, còn giải pháp thứ hai xóa các bit còn lại trong thanh ghi IE. Ở đầu chương trình ta nên khởi tạo IE với lệnh MOV BYTE, nhưng sự cho phép ngắt và cấm ngắt trên tuyến trong một chương trình sẽ dùng các lệnh SETB bit và CLR bit để tránh kết quả phụ với các bit khác trong thanh ghi IE. 2. Xử lý các ngắt Khi một ngắt xuất hiện và được chấp nhận bởi CPU thì chương trình chính bị ngắt. Các hoạt động sau đây xuất hiện:  Lệnh hiện hành và kết thúc thực thi.  Bộ đếm chương trình PC được cất giữ vào Stack.  Trạng thái ngắt hiện hành được cất giữ vào bên trong.  Những sự ngắt bị ngăn lại tại mức ngắt.  Bộ đếm chương trình PC được LOAD với địa chỉ vectơ của thủ tục phục vụ ngắt ISR.  Thủ tục phục vụ ngắt ISR được thực thi. Thủ tục phục vụ ngắt ISR thực thi và đưa hoạt động vào đáp ứng ngắt, thủ tục phục vụ ngắt ISR kết thúc với lệnh RETI (quay trở về chương trình chính từ Stack). Điều này khôi phục lại giá trị của bộ đếm chương trình từ Stack và hoàn toàn dừng lại trạng thái cũ. Sự thực thi của chương trình chính tiếp tục ở nơi mà nó ngừng lại. - GIỚI THIỆU AT89S52 I. Đặt điểm Đặ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. Ở đây giới thiệu IC89S52 là một họ IC vi điều khiển do hãng Intel của Mỹ sản xuất. Chúng có các đặc điểm chung như sau: Các đặc điểm của 89S52 được tóm tắt như sau : 8 KB EPROM bên trong. 128 Byte RAM nội. Trang 23
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0