Xem mẫu

  1. Đồ án môn: Đo lường và điều khiển bằng máy tính Trường Đại học Công Nghiệp Hà Nội Khoa Cơ Khí Đồ án môn : Đo Lường Và Điều Khiển Bằng Máy Tính Đề tài : Đo Và Điều Khiển Nhiệt Độ Phòng Giáo viên hướng dẫn : ĐỖ DUY PHÚ Nhóm sinh viên thực hiện : TRẦN THỊ HẠNH NGUYỄN VĂN HIỂN PHẠM VĂN NAM TRẦN VĂN TÙNG Lớp : ĐH Cơ Điện Tử 1-K4
  2. Hà Nội 09/2012 Đo và điều khiển nhiệt độ phòng Page 1 Đồ án môn: Đo lường và điều khiển bằng máy tính LỜI MỞ ĐẦU . Ngày nay, khi công nghiệp tự động hóa ngày càng phát triển thì vi ệc sử dụng máy tính để điều khiển các hệ thống tự động đã trở nên rất phổ biế n. Với một chiếc máy tính và một số thao tác chúng ta có thể điều khiển được c ả một dây truyền sản xuất tự động, các hệ thống đèn điện… Máy tính có thể giao tiếp với các thiết bị ngoài thông qua cổng RS 232 ( cổng nối tiếp), cổng LPT ( cổng song song ), qua các khe cắm mở rộng IS A … Trong công nghiệp thông dụng nhất hiện nay là sử dụng RS232 và LPT để máy tính giao tiếp với mạch ngoài. Ngôn ngữ lập trình được sử dụng có thể là Visual Basic, Turbo Pascan, hay ngôn ngữ lập trình C…
  3. Với kiến thức được học trên lớp và qua quá trình tìm tòi học hỏi c húng em đã thực hiện đồ án “Thiết kế mô hình đo và điều khiển nhiệt độ phòng sử dụng cổng nối tiếp ”Trong quá trình thiết kế chắc không thể tránh được những thiếu sót, vì vậy chúng em rất mong nhận được sự nhận xét và đóng góp c ủa thầy cô giáo. Chúng em xin chân thà nh cảm ơn! NHÓM SINH VIÊ N Trần Thị Hạnh Nguyễn Văn Hiển Phạm Văn Nam Trần Văn Tùng Đo và điều khiển nhiệt độ phòng Page 2 Đồ án môn: Đo lường và điều khiển bằng máy tính Mục lục CHƯƠNG I:GIỚI THIỆU I.Đề tài. II.Sơ đồ khối III.Chức năng các khối. CHƯƠNG II: CƠ SỞ LÝ THUYẾT
  4. I. Giao tiếp cổng nối tiếp của máy tính. 1.Giới thiêu cổng nối tiếp của máy tính 2.Giới thiệu vi mạch Max232 II. Giao tiếp cổng nối tiếp của vi điều khiển AT89S52. 1.Sơ đồ và chức năng chip AT89S52 2.Chíp ADC0804 3.Cảm biến nhiệt độ LM35 III Phần mềm lập trình Visual basic 6.0. 1.Truyền thông nối tiếp của Visual basic. 2. Sự kiện OnComm. CHƯƠNG III: THIẾT KẾ HỆ THỐNG I Sơ đồ nguyên lí của hệ thống 1.Mạch in 2.Mạch nguyên lý II. Chương trình điều khiển. 1.Lưu đồ thuật toán 2.Chương trình VB trên máy tính. 3.Chương trình trong vi điều khiển AT89S52. CHƯƠNGIV : KẾT LUẬN *Ưu điểm: *Nhược điểm: Đo và điều khiển nhiệt độ phòng Page 3 Đồ án môn: Đo lường và điều khiển bằng máy tính CHƯƠNG I:GIỚI THIỆU
  5. I. Đề tài. -. Thiết kế mô hình đo và điều khiển nhiệt độ phòng Chức năng của hệ thống: + Hệ thống thực hiện đo và điều khiển giám sát nhiệt độ phòng. + Máy tính cho phép đặt và hiển thị nhiệt độ trong phòng. II. Sơ đồ khối Đo và điều khiển nhiệt độ phòng Page 4 Đồ án môn: Đo lường và điều khiển bằng máy tính III. Chức năng các khối. - Máy tính: Phần mềm điều khiển và giám sát được thiết kế trên máy tính có chức năng gửi các tín hiệu điều khiển qua cổng nối tiếp của máy tính đến mạch điều khiển, đồng thời nhận các tín hiệu về trạng thái hoạt động của c ác thiết bị
  6. và hiển thị trên giao diện của phần mềm. - Khối xử lí trung tâm: Có nhiệm vụ đọc tín hiệu điều khiển từ máy tính rồi điều khiển các thiết bị ứng dụng(điều hòa, quạt…), đồng thời gửi các tín hiệu về trạng thái hoạt động của thiết bị lên máy tính. - Các thiết bị ứng dụng: được hoạt động dựa trên việc điều khiển các khối trên. - Khối cảm biến(LM35): Sử dụng để biến đổi đại lượng vật lí (nhiệt độ) thành tín điện để đưa tới bộ xử lí trung tâm. - Khối chuyển đổi ADC0804: dùng để chuyển đổi tín hiệu tương tự lấy ra từ khối cảm biến thành tín hiệu số để đưa vào bộ vi điều khiển. - Khối chuyển đổi Max232: Dùng để chuyển đối dữ liệu song song sang dữ liệu nối tiếp và ngược lại, để tương thích với dữ liệu trên máy tính và vi điều khiển Đo và điều khiển nhiệt độ phòng Page 5 Đồ án môn: Đo lường và điều khiển bằng máy tính CHƯƠNG II: CƠ SỞ LÝ THUYẾT I. Giao tiếp cổng nối tiếp của máy tính 1. Giới thiệu cổng nối tiếp của máy tính Cổng nối tiếp RS- 232 của máy tính là một giao diện phổ biến rộng rãi. Cổng này còn được gọi là cổng COM (COM1,COM2…) hoặc cổng RS232.
  7. Chuẩn RS232 chỉ cho phép sử dụng đường truyền ngắn với tốc độ bít thấp. Các tiêu chuẩn truyền thông ra đời sau như RS-422, RS-449 hay RS-485 cho phép truyền với khoảng cách dài và tốc độ bít rất cao. Giống như cổng máy in cổng nối tiếp được sử dụng khá rộng rãi và thuận tiện cho việc ghép nối máy tính với các thiết bị ngoại vi khác. Khoảng cách truy ền ở cổng nối tiếp được cải thiện hơn so với cổng song song vì điện áp chênh lệch Đồ án môn: Đo lường và điều khiển bằng máy tính Bảng 1: Chức năng các chân tín hiệu ở cổng nối tiếp Chân Kí hiệu Ý nghĩa
  8. 1 DCD Data carrier detect- Phát hiện tín hiệu mang dữ 2 RXD liệu 3 TXD Receive data- Nhận dữ liệu 4 DTR Transmit data – Truyền dữ liệu 5 GND Data terminal- Dữ liệu đầu cuôi sẵn sang 6 DSR Signal ground- Nối đất 7 RTS Data set ready- Dữ liệu sẵn sang được nhận 8 CTS Request to send – Tín hiệu yêu cầu gửi 9 RI Clear to send- Tín hiệu yêu cầu xóa để gửi tiếp Ring indicator- Báo chuông RS232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ đầu tiên ra đời nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương thích TTL để mô tả các mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát. Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả như sau: + Mức logic 0 : +3V , +12V + Mức logic 1 : -12V, -3V T ham số chính đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit). Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud.
  9. Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất. Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị Đây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối họ thường dùng tốc độ là 19200 Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ. Điều này làm giới hạn tốc Baud và khoảng cách truyền. Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện theo kiểu không Đồng bộ.Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự) Bộ truyềngửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp theo . Bit này luôn bắt đầu bằng mức 0.. Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit stop có thể là 1, 1,5 hay 2 bit dừng. 4) Các mức điện áp đường truyền
  10. 2. Giớ i thiệu vi mạch Max 232 Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao diện nối tiếp với máy tính. Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào thành mức +10V hoặc –10V ở phía truyền và các mức +3 => +15V hoặc -3=>-15V thành mức TTL ở phía nhận. Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận. Đường dẫn điều khiển lối vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, được nối với chân 9 của vi mạch MAX 232. Còn chân RST (chân 10 của vi mạch MAX ) nối với đường dẫn bắt tay để điều khiển quá trình nhận. Thường thì các đường dẫn bắt tay được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa có thể hở mạch các cầu này. Cách truyền dữ liệu đơn giản nhất là chỉ dùng ba đường dẫn TxD, RxD và GND (mass).
  11. Sơ đồ chân của vi mach Max232 II. Giao tiếp cổng nối tiếp của vi điều khiển AT89S52. 1. Tổng quan về IC AT89S52 1.1 Giới thiêụ Họ vi điêu khiên 8051(con goi là họ C51) là môt trong những họ vi điêu ̀ ̉ ̀ ̣ ̣ ̀ ̉ khiên thông dung nhât hiên nay. Đây là bộ vi điêu khiên 8bits san xuât theo công ̣ ́ ̣ ̀ ̉ ̉ ́ nghệ CMOS, môt số loai vi điêu khiên thuôc họ 8051 thông dung có thể kể như: ̣ ̣ ̀ ̉ ̣ ̣ AT989S52(40 chân), AT89S51(40 chân) , AT89C51(40 chân), AT89C52(40 chân)... Trong chương trinh môn hoc nay chung ta tâp chung nghiên cứu về bộ vi ̀ ̣ ̀ ́ ̣ ̀ điêu khiên ̉ AT89S52.Đây là bộ vi điêu khiên thông dung, giá rẻ có nhiêu chức năng hay ̀ ̉ ̣ ̀ ̣ đăc biêt ̣ là tich hợp săn bộ nap trên chip giup sinh viên có thể dễ dang thực hiên cac ́ ̃ ̣ ́ ́ ̀ ̣ ́ bai thí nghiêm ̀ ̣ với chi phí thâp. Cung trong chương trinh môn hoc nay ngôn ngữ được sử ́ ̃ ̀ ̣ ̀ dung để lâp trinh ̣ ̣ ̀ là ngôn ngữ C. Họ vi điêu khiên AT89S52 bao gôm : ̀ ̉ ̀ - 8 kbyte ROM kiêu Flash(được lâp trinh bởi nhà san xuât chỉ có ở 8051) ̉ ̣ ̀ ̉ ́ - 256 byte RAM - 4 port I/0 8 bit - 3 bộ đinh thời 16 bit ̣ ́ ̉ - 1 công nôi tiêp ́ ́ - 6 nguôn ngăt ̀ ́ 1.2 Kiên truc phân cứng cua họ vi điêu khiên 8051(AT89S52) ́ ́ ̀ ̉ ̀ ̉ Bộ vi điêu khiên AT89S52 gôm cac khôi chức năng chinh sau. ̀ ̉ ̀ ́ ́ ́ • Bộ xử lí trung tâm ( CPU:central processing unit) bao ̀ gôm:
  12. - Thanh ghi tich luy A ̃ - Thanh ghi tich luy phụ B,dung cho phep nhân và phep ́ ̃ ̀ ́ ́ chia; - Đơn vị số học (ALU: arithmetic logical unit) - Thanh ghi trang thai chương trinh (PSW: Program status ̣ ́ ̀ word) ́ - Bôn băng thanh ghi - Con trỏ ngăn xêp ́ • Bộ nhớ chương trinh (bộ nhớ Rom ) gôm 8 kbyte Flash ̀ ̀ • Bộ nhớ dữ liệu (bộ nhớ Ram) gôm 256 byte ̀ • Bộ UART có chức năng truyên nhân nôi tiêp , AT89S52 có ̀ ̣ ́ ́ thể giao tiêp vơi cổng may tinh thông qua bộ UART. ́ ́ ́ ́ • 3 bộ timer/counter 16 bit thực hiện cac chưc năng định thơí ́ ̀ và đêm sự kiện ́ • WDM(Watch dog time): WDM được dung để phục hôi lại ̀ ̀ hoạt đông cua CPU khi nó bị treo bởi môt nguyên nhân nao ̣ ̉ ̣ ̀ đo. ́ • Khôi điêu khiển ngăt vơi 2 nguôn ngăt ngoai và 4 nguôn ́ ̀ ́ ́ ̀ ́ ̀ ̀ ́ ngăt trong • Bộ lập trinh ̀ • Bộ chia tân vơi hệ số chia là 12 ̀ ́ • 4 cổng xuât nhập vơi 32 chân ́ ́ 1.3 Sơ đồ và chức năng chân cua họ vi điêu khiên 8051 ̉ ̀ ̉ Hinh 1.2 Sơ đồ kiêu ̀ ̉ DIP 40 chân cua vỉ ̀ ̉ điêu khiên 8051 1. Port 0 Port 0 gôm 8 chân từ ̀ P0.1- P0.7 ngoai chức năng xuât nhâp, Port 0 con là Bus đa ̀ ́ ̣ ̀ hợp dữ liêu và đia chi(AD0-AD7), chức năng nay sẽ được sử ̣ ̣ ̉ ̀ ̣ dung khi AT89S52 giao tiêp với cac thiêt bị ngoai có kiên truc BUS như mach nhớ, mach PIO. ́ ́ ́ ̀ ́ ́ ̣ ̣ 2. Port 1
  13. Đôi với 8051 chức năng duy nhât cua Port 1 là chức năng xuât nhâp Port ́ ́ ̉ ́ ̣ 1 có thể ́ ̣ ̣ ̀ xuât nhâp theo byte hoăc theo bit. Riêng dong 89xx , 3 chân P1.5, P1.6, P1.7 được dung ̀ để nap Rom theo chuân ISP, hai chân P1.0 và P1.1 được dung cho bộ ̣ ̉ ̀ timer 2. 3. Port 2 Port 2 có tac dung lam nhiêm vụ xuât nhâp dữ liêu ngoai ra con là byte ́ ̣ ̀ ̣ ́ ̣ ̣ ̀ ̀ ̉ cao cua bus đia chỉ khi sử dung bộ nhớ ngoai. ̣ ̣ ̀ 4. Port 3 Môi chân trên Port 3 ngoai chức năng xuât nhâp con có chức năng riêng ̃ ̀ ́ ̣ ̀ cụ thể như sau: Bit Chân Chức năng P3.0 RXD Dữ liêu nhân cho port nôi tiêp ̣ ̣ ́ ́ P3.1 TXD Dữ liêu truyên cho Port nôi tiêp ̣ ̀ ́ ́ P3.2 INT0 ́ ̀ Ngăt bên ngoai 0 P3.3 INT1 ́ ̀ Ngăt bên ngoai 1 P3.4 T0 Ngõ vao cua timer/counter0 ̀ ̉ P3.5 T1 Ngõ vao cua timer/counter1 ̀ ̉ P3.6 WR Xung ghi bộ nhớ dữ liêu ngoai ̣ ̀ P3.7 RD Xung đoc bộ nhớ dữ liêu ngoai ̣ ̣ ̀ 5. PSEN (Program Store Enable ). PSEN là chân điêu khiên đoc chương trinh ở bộ nhớ ngoai nó được nôi ̀ ̉ ̣ ̀ ̀ ́ với chân /OE để cho phep đoc cac byte mã lênh trên Rom ngoai. PSEN sẽ ở ́ ̣ ́ ̣ ̀ mức thâp trong thời gian đoc mã lênh. Mã lênh được đoc từ bộ nhớ ngoai ́ ̣ ̣ ̣ ̣ ̀ qua bus dữ liêu thanh ghi lênh để được giai ma.Khi thực hiên chương trinh ̣ ̣ ̉ ̃ ̣ ̀ trong Rom nôi thì /PSEN ở mức cao ̣ 6. ALE (Address Latch Enable ). Là tin hiêu điêu khiên chôt đia chỉ có tân số băng 1/6 tân số dao đông cua ́ ̣ ̀ ̉ ́ ̣ ̀ ̀ ̀ ̣ ̉
  14. vi điêu khiên .Tin hiêu ALE được dung để cho phep vi mach chôt bên ngoai ̀ ̉ ́ ̣ ̀ ́ ̣ ́ ̀ như 74374, 74573 chôt byte đia chỉ thâp ra khoi bus đa hợp đia chi/dữ liêu. ́ ̣ ́ ̉ ̣ ̉ ̣ 7. EA (External Access) . Tin hiêu /EA cho phep chon bộ nhớ chương trinh flash bộ nhớ trong hay ́ ̣ ́ ̣ bộ nhớ ngoai cua vi điêu khiên. Nêu /EA ở mức cao (nôi với Vcc) thì vi điêu ̀ ̉ ̀ ̉ ́ ́ ̀ ̉ khiên thi hanh chương trinh trong Rom nôi. Nêu /EA ở mức thâp(nôi với GND) ̀ ̀ ̣ ́ ́ ́ thì vi điêu ̀ khiên thi hanh chương trinh từ bộ nhớ ngoai. ̉ ̀ ̀ ̀ 8. RST(Reset). Dung để thiêt lâp trang thai ban đâu cua hệ thông hay con goi là reset hệ ̀ ́ ̣ ̣ ́ ̀ ̉ ́ ̀ ̣ ́ thông. Khi tin hiêu nay được đưa lên mức cao, cac thanh ghi trong bộ vi điêu ́ ̣ ̀ ́ ̀ khiên được tai ̉ ̉ những giá trị thich hợp để khởi đông hệ thông. ́ ̣ ́ 9. XTAL1, XTAL2. Mach dao đông bên trong chip 8051 được ghep với thach anh bên ngoai ̣ ̣ ́ ̣ ̀ thông qua 2 chân XTAL1 và XTAL2. Thường là tân số 12Mhz và cac tụ ôn đinh ̀ ́ ̉ ̣ 33pF 10. VCC, GND : AT89S52 dung nguôn môt chiêu có dai điên ap từ 4v-5v được cung câp ̀ ̀ ̣ ̀ ̉ ̣ ́ ́ qua 2 chân 40 và 20. 1.4 Hoat đông đinh thời ̣ ̣ ̣ 1.4.1. Giới thiêu ̣ Cac bộ đinh thời được sử dung rông rai trong cac ứng dung đo lường ́ ̣ ̣ ̣ ̃ ́ ̣ và điêu khiên. Có thể coi môt bộ đinh thời là 1 bộ đêm n bit được tao ra ̀ ̉ ̣ ̣ ́ ̣ bởi n flip-flop măc nôi tiêp với nhau. Đâu vao cua bộ đinh thời là đâu vao cua ́ ́ ́ ̀ ̀ ̉ ̣ ̀ ̀ ̉ ̀ ̀ ́ ̀ ̉ ́ ̣ ́ ̀ ̉ ́ flip- flop đâu tiên, đâu ra bao tran phan anh trang thai tran cua no. AT89s52
  15. có 3 bộ đinh thời 16 bit trong đó 2 bộ timer 0 và timer 1 có 4 chế độ hoat ̣ ̣ ̣ đông, timer 2 có 3 chế độ hoat đông. Cac bộ đinh thời dung để đinh khoang thời ̣ ̣ ́ ̣ ̀ ̣ ̉ gian, đêm sự kiên xay ra bên ngoai hoăc tao tôc độ baud cho công nôi tiêp. ́ ̣ ̉ ̀ ̣ ̣ ̉ ́ ́ 1.4.2 Cac thanh ghi đinh thời ́ ̣ 1. Thanh ghi cua Timer 0 và Timer 1 ̉ • Thanh ghi chế độ đinh thời TMOD ̣ • ̀ ̉ Thanh ghi điêu khiên TCON Thanh ghi TCON chứa cac bit trang thai và cac bit điêu khiên cho Timer 0 ́ ̣ ́ ́ ̀ ̉ và Timer 1. Bit Kí hiêu Đia chỉ ̣ ̣ Mô tả TCON.7 TF1 8FH Cờ bao tran cho timer 1 được đăt bởi ́ ̀ ̣ phân cứng, được xoa bởi phân mêm ̀ ́ ̀ ̀ TCON.6 TR1 8EH ́ ̀ ̉ ̣ ̣ Bit điêu khiên cho timer 1 hoat đông. Được cai đăt và xoa băng phân mêm ̀ ̣ ́ ̀ ̀ ̀ TCON.5 TF0 8DH Cờ bao tran cho timer 0 ́ ̀
  16. TCON.4 TR0 8CH ́ ̀ ̉ ̣ Bit điêu khiên timer 1 hoaatj đông. TCON.3 IT1 8BH Cờ ngăt do timer 1 ́ TCON.2 IT1 8AH Cờ ngăt ngoai 1 ́ ̀ TCON.1 IT0 89H Cờ ngăt do timer 0 ́ TCON.0 IE0 88H Cờ ngăt ngoai 0 ́ ̀ ̉ 2. Thanh ghi cua Timer 2 • Thanh ghi T2CON Bit Kí hiêu ̣ ̣ Đia Mô tả chỉ T2CON.7 TF2 CFH Cờ bao tran TIMER 2. TF2 được đăt khi timer tran và ́ ̀ ̣ ̀ được xoa băng phân mêm TF2 không được thiêt lâp khi ́ ̀ ̀ ̀ ́ ̣ ̣ ̀ TCLK hoăc RCLK băng 1. T2CON.6 EXF.2 CEH Cờ ngăt ngoai cua timer 2, TXF2=1 khi xay ra sự nap ́ ̀ ̉ ̉ ̣ lai EXF.2= 1 cung gây ra ngăt do timer 2 nêu như ngăt ̣ ̃ ́ ́ ́ nay được lâp trinh, EXF.2 được lâp trinhg băng phân ̀ ̣ ̀ ̣ ̀ ̀ mêm ̀ T2CON.5 RCLK CDH Bit chon timer cung câp xung nhip cho đường nhân cua ́ ̣ ́ ̣ ̣ ̉ ̉ ́ ́ công nôi tiêp . RCLK=1 timer 2 cung câp tôc độ baud cho công nôi ́ ́ ̉ ́ ́ tiêp. RCKL=0 timer 1 cung câp tôc độ baud cho công nôi ́ ́ ̉ ́ ́ tiêp.
  17. T2CON.4 TCLK CCH Bit chon timer cung câp xung nhip cho đường truyên ́ ̣ ́ ̣ ̀ ̉ ̉ ́ ́ cua công nôi tiêp . TCLK=1 timer 2 cung câp tôc độ baud cho công nôi ́ ́ ̉ ́ ́ tiêp. TCKL=0 timer 1 cung câp tôc độ baud cho công nôi ́ ́ ̉ ́ ́ tiêp. T2CON.3 EXEN2 ́ ̀ ̉ ̣ ̣ ̉ CBH Bit điêu khiên hoat đông cua timer 2. Khi EXEN2=1 viêc nap lai hoăc thu nhân diên ra khi có sự chuyên ̣ ̣ ̣ ̣ ̣ ̃ ̉ trang thai từ 1 sang 0 ở chân T2EX nêu T2 không sử ̣ ́ ́ dung để cung câp tôc độ baud cho công nôi tiêp. ̣ ́ ́ ̉ ́ ́ T2CON.2 TR2 ́ ̀ ̉ ̣ ̣ ̉ CAH Bit điêu khiên hoat đông cua timer 2 T2CON.1 C/#T2 C9H Bit chon chế độ đêm hoăc đinh thời cua timer 2 ́ ̣ ́ ̣ ̣ ̉ T2CON.0 CP/#RL2 C8H Bit chon chế độ thu nhân hay nap lai cua timer 2 ̣ ̣ ̣ ̣ ̉ 1.4.3 Cac chế độ cua bộ đinh thời ́ ̉ ̣ 1.Cac chế độ ngăt cua timer 0 và timer 1 ́ ́ ̉ Chế độ 0 Chế độ 0 là chế độ 13 bit (8bit cua TH và 5 bit cao cua TL) dung để chứa ̉ ̉ ̀ giá trị đêm, 3 bit thâp cua TL không được sử dung. Nguôn xung clock đưa tới ́ ́ ̉ ̣ ̀ timer phụ ̣ ̀ thuôc vao bit C/#T trong thanh ghi TMOD - Nêu C/#T=1 xung clock sẽ được lây từ bên ngoai qua chân Tx. ́ ́ ̀ - Nêu C/#T=0 xung clock được lây từ bộ chia tân trong chip tân ́ ́ ̀ ̀ số xung ở đây là 1/12 tân số cua thach anh. ̀ ̉ ̣ Nguôn xung clock sẽ được điêu khiên để đưa tới cac Timer băng cac bit ̀ ̀ ̉ ́ ̀ ́ ́ TR, GATE Và mức logic trên chân INTx - Nêu TRx=0 cac timer sẽ bị câm không cân quan tâm tới GATE và ́ ́ ́ ̀ mức logic trên chân INTx. - Nêu TRx=1 cac timer sẽ hoat đông khi hoăc là bit GATE=0 hay ́ ́ ̣ ̣ ̣ ́ bit GATE=0 và ́
  18. chân / ITNx có mức logic 1 Chế độ 1 Trong chế độ 1 bộ timer dung cả 2 thanh ghi TH và TL để chứa giá trị đêm ̀ ́ vì vây chế ̣ độ nay được goi là chế độ 16 bit. Nguôn xung clock đưa tới timer phụ thuôc ̀ ̣ ̀ ̣ ̀ vao bit C/#T trong thanh ghi TMOD - Nêu C/#T=1 xung clock sẽ được lây từ bên ngoai qua chân Tx. ́ ́ ̀ - Nêu C/#T=0 xung clock được lây từ bộ chia tân trong chip tân số ́ ́ ̀ ̀ xung ở đây là 1/12 tân số cua thach anh. ̀ ̉ ̣ Nguôn xung clock sẽ được điêu khiên để đưa tới cac timer băng cac bit ̀ ̀ ̉ ́ ̀ ́ ́ TR,GATE và mức logic trên chân INTx - Nêu TRx=0 cac timer sẽ bị câm không cân quan tâm tới GATE ́ ́ ́ ̀ và mức logic trên chân INTx. - Nêu TRx=1 cac timer sẽ hoat đông khi hoăc là bit GATE=0 hay ́ ́ ̣ ̣ ̣ ́ bit GATE=0 và ́ chân / ITNx có mức logic 1 Với chế độ nay giá trị lớn nhât mà cac timer đêm chứa được là 65635 khi ̀ ́ ́ ́ đêm quá ́ giá trị nay sẽ xay ra tran cờ tran TF được đăt băng 1. Sau khi xay ra tran ̀ ̉ ̀ ̀ ̣ ̀ ̉ ̀ ́ muôn timer tiêp ́ tuc đêm chương trinh phai có câu lênh nap giá trị khởi tao băng cach xoa bit ̣ ́ ̀ ̉ ̣ ̣ ̣ ̀ ́ ́ TR. Chế độ 2 Trong chế độ 2 bộ timer dung TL để chứa giá trị đêm và TH để chứa giá trị ̀ ́ ̣ ̣ nap lai vì vây chế độ nay goi là chế độ tự nap lai. Sau khi đêm quá 255 sẽ xay ra ̣ ̀ ̣ ̣ ̣ ́ ̉ tran khi đó TF ̀ được đăt băng 1 đông thời giá trị cua timer tự đông nap lai băng nôi dung ̣ ̀ ̀ ̉ ̣ ̣ ̣ ̀ ̣ ̉ cua TH. Chế độ 3 Trong chế độ 3 timer được tach lam 2 bộ timer hoat đông đôc lâp, chế độ ́ ̀ ̣ ̣ ̣ ̣ nay cung̀ câp cho timer môt chế độ nữa ́ ̣ - Bộ timer thứ nhât với nguôn xung được lây từ bộ chia tân hay ́ ̀ ́ ̀ bên ngoai phụ thuôc ̀ ̣ vao C/#T giá trị đêm cua timer được chứa trong TL0 khi xay ra ̀ ́ ̉ ̉ tran cờ TF0 được ̀ đăt băng 1 và gây ra ngăt do timer ̣ ̀ ́
  19. - Bộ timer thứ 2 với nguôn xung clock được lây từ bộ chia tân. ̀ ́ ̀ Giá trị đêm được ́ chứa trong TL0 cờ tran TF1 được đăt băng 1 và gây ngăt do ̀ ̣ ̀ ́ timer 1 2. Cac chế độ ngăt cua timer 2 ́ ́ ̉ Chế độ tự thu nhân: ̣ Khi CP/#RL2=1 chế độ thu nhân cua timer 2 được chon bởi bit EXEN2. ̣ ̉ ̣ Xung clock cung được lây phụ thuôc vao C/#T2. Điêu khiên hoat đông cua ̃ ́ ̣ ̀ ̀ ̉ ̣ ̣ ̉ timer 2 là bit TR2. Giá trị đêm được chứa trong TH2 và TL2. khi xay ra tran TF2 ́ ̉ ̀ được đăt băng 1 ̣ ̀ Giá trị hiên thời cua timer 2 năm trong TH và TL sẽ được chuyên tương ̣ ̉ ̀ ̉ ứng vao RCAP2H ̀ và RCAP2L Chế độ nap lai : ̣ ̣ Chế độ nay khi bit DCEN=0 timer 2 hoat đông như môt timer 16 bit tự ̀ ̣ ̣ ̣ ̣ ̣ nap lai. Giá trị nap lai được chứa trong RCAP2Hvaf RCAP2L. Sự kiên nap lai khi ̣ ̣ ̣ ̣ ̣ - Xay ra tran khi có sự chuyên số đêm tư FFFFH đên 0 ̉ ̀ ̉ ́ - Có sự chuyên từ mức 1 xuông mức 0 ̉ ́ Chế độ tao tôc độ baud cho công nôi tiêp: ̣ ́ ̉ ́ ́ Timer 2 có thể dung để tao tôc độ baud cho công nôi tiêp trong thanh ̀ ̣ ́ ̉ ́ ́ T2CON. ̉ ́ 1.5 Công nôi tiêp ́ 1.5.1. Giới thiêu ̣ AT89S52 có môt công nôi tiêp có thể hoat đông ở nhiêu chế độ khac ̣ ̉ ́ ́ ̣ ̣ ̀ ́ nhau. Chức năng chủ yêu cua công nôi tiêp là thực hiên chuyên đôi song song sang nôi tiêp ́ ̉ ̉ ́ ́ ̣ ̉ ̉ ́ ́ và ngược lai. ̣ ́ ̉ ̉ ́ 1.5.2 Cac thanh ghi cua công nôi tiêp ́ • ̀ ̉ ̉ ́ ́ Thanh ghi điêu khiên công nôi tiêp
  20. Bit Kí hiêu ̣ Đia chỉ ̣ Mô tả SCON.7 SM0 9FH Bit 0 c hon chế độ cho port nôi tiêp ̣ ́ ́ SCON.6 SM1 9EH Bit 1 chon chế độ cho port nôi tiêp ̣ ́ ́ SM0SM1=00 chế độ 0 SM0SM1=01 chế độ 1 SM0SM1=10 chế độ 2 SM0SM1=11 chế độ 3 SCON.5 SM2 9DH Bit 2 chon chế độ cho công nôi tiêp ̣ ̉ ́ ́ Bit nay cho phep truyên thông đa xử lý ́ ̀ ́ ̀ SCON.4 REN 9CH Bit cho phep thu REN phai được đăt băng 1 ̉ ̣ ̀ để cho phep nhân kí tự ́ ̣ SCON.3 TB8 9BH Bit truyên thông thứ 9 sử dung trong chế độ ̀ ̣ UART 9bit SCON.2 RB8 9AH Biet nhân thứ 9 sử dung trong chế độ UART ̣ ̣ 9bit SCON.1 TI 99H Cờ ngăt truyên TI được đăt băng 1 bởi phân ́ ̀ ̣ ̀ ̀ cứng khi kêt thuc viêc truyên 1 kí tự TI được ́ ́ ̣ ̀ ́ ̀ ̀ xoa băng phân mêm ̀
nguon tai.lieu . vn