1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài Tập Lớn Vi Xử Lý

43 608 2

Đ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

Định dạng
Số trang 43
Dung lượng 1,8 MB

Nội dung

Bài Tập Lớn Vi Xử Lý Trong Đo Lường Và Điều Khiển,Hệ thống đóng gói sản phẩm sử dụng băng chuyền và động cơ,Bài tập lớn vi xử lý.Hệ thống băng chuyền tự động.Chương ITổng quan về Vi sử lý trong Đo lường và Điều khiểnXây dựng ứng dụng trên cơ sở 8051

MỤC LỤC T Lời Cảm Ơn rong năm gần tiến khoa học kĩ thuật đóng góp nhiều vào thành cơng cho lĩnh vực đời sống xã hội Các ngành Tự động hóa, Đo lường Điều khiển có tiến vượt bậc mặt công nghệ giải pháp, hiểu biết khả ứng dụng kỹ thuật vi xử lý nói chung kỹ thuật vi điều khiển nói riêng cần thiết công nhân, cử nhân, kỹ sư… Chính điều giúp ích nhiều cho hệ thống điều khiển tự động thay người cơng việc đòi hỏi xác kỹ thuật cao Để hiểu rõ vai trò hữu ích hệ thống vi điều khiển thực tế nhóm sinh viên chúng em sau thời gian học tập thầy cô khoa giảng dạy kiến thức chuyên ngành đồng thời giúp đỡ tận tình thầy *** tiến hành nghiên cứu thực đề tài: “Điều khiển hệ thống đóng bao sản phẩm” Với đề tài giúp biết hệ thống đóng gói sản phẩm hoạt động nào, hoạt động xác cao băng chuyền mà không cần tác động trực tiếp người Hơn giúp tầm quan trọng vi điều khiển việc điều khiển hệ thống đòi hỏi độ xác kỹ thuật cao Trong mơ hình chúng em sử dụng vi điều khiển AT89S52 số phụ kiện hỗ trợ khác Cùng với hỗ trợ phần mềm Keil-C Proteus Progisp để giúp đỡ trình thực Do thời gian trình độ hạn chế nên chúng em nhiều thiếu sót, chúng em mong nhận góp ý nhiều để hồn thiện ngày tốt Cuối chúng em xin gửi lời cảm ơn đặc biệt đến thầy tạo điều kiện ,giúp đỡ đưa nhiều lời khuyên cho chúng em hoàn thành đề tài cách tốt đẹp Chúng em xin chân thành cảm ơn I Tổng quan Vi sử lý Đo lường Điều khiển Có thể nói việc sử dụng loại vi điều khiển vi xử lý thiết bị điện tử tự động Việt Nam đa dạng, phong phú tùy vào yêu cầu kỹ thuật giá thành sản phẩm Đối với thiết bị máy ATM, máy giặt thường sử dụng vi điều khiển 8051, điều khiển robot công nghiệp, hệ thống ô tô thường sử dụng PIC, AVR, PsoC, điện thoại sử dụng chip ARM… Cấu trúc hệ thống đo lường điều khiển có sử dụng Vi xử lý I.1.1 Khái quát chung hệ thống Việc ứng dụng khoa học công nghệ vào sản xuất công nghiệp nhằm mục tiêu tăng xuất lao động, cải thiện chất lượng sản phẩm, độ xác cao, giá thành hạ Các hệ thống đo lường điều khiển đưa vào sản xuất xí nghiệp, nhà máy với độ tin cậy cao, hoạt động ổn định, hư hỏng giảm nhân cơng lao động Điều đòi hỏi hệ thống điều khiển có khả xử lý, kiểm soát cố tự khắc phục cố, sai sót vận hành Một hệ thống gọi hệ thống điều khiển Tự động hoá bước phát triển sau khí hố điện khí hố Tự động hố q trình sử dụng thiết bị dể thay chức kiểm tra điều khiển người quy trình sản xuất Hệ thống tự động hoá bắt đầu xuất với việc sử dụng thiết bị đo lường kiểm tra thông số công nghệ chất lượng sản phẩm Các hệ thơng thơng báo xác thông tin trạng thái thiết bị, thơng số quy trình cơng nghệ v.v Các thơng tin trước có người dày dạn kinh nghiệm chuẩn đoán được, bảo đảm mức độ xác tương đối Các thơng tin q trình hồn thiện quy trình cơng nghệ Như vạy hệ thống đo lường điểu khiển góp phần quan trọng điều khiển dây chyền sản xuất cần độ xác cao nhà máy xí nghiệp, nâng cao suất lao động, phát triển kinh tế I.1.2 Hệ thống đóng bao sản phẩm có sử dụng vi xử lý 2 Giới thiệu số vi điều khiển thơng dụng có thị trường Việt Nam Vi điều khiển 8051 Hình 1.2.1 hình ảnh AT89S52 8051 - vi điều khiển đơn tinh thể kiến Hình 1.2.1 sơ đồ chân 8051 trúc Harvard, lần sản xuất Intel năm 1980, để dùng hệ thống nhúng Trong năm 1980 đầu năm 1990 tiếng Tuy nhiên cũ thay thiết bị đại hơn, với lõi phối hợp 8051, sản xuất 20 nhà sản xuất độc lập Atmel, Maxim IC (công ty Dallas Semiconductor), NXP Semiconductors (Philips Semiconductor trước đây), Winbond, Silicon Laboratories, Texas Instruments Cypress Semiconductor Tên gọi thức họ vi điều khiển Intel 8051 - MCS 51 Những vi điều khiển Intel 8051 sản xuất với việc dùng công nghệ MOSFET, những sau, chứa kí hiệu “C” tên, 80C51, dùng công nghệ CMOS yêu cầu công suất thấp, MOSFET trước (điều cho phép trang bị cho thiết bị với nguồn pin) Các thông số kỹ thuật: bit ALU, bit ghi bit liệu bus 16 bit địa bus khơng gian nhớ tối đa cho ROM RAM lên tới 64 kb Bộ nhớ liệu SRAM 128 bytes Bộ nhớ chương trình ROM kb 32 chân vào/ra đa hướng Giao tiếp nối tiếp UART Hai timer/counter 16 bit Hai ngắt Sơ đồ chân 8051: Sơ đồ khối điều khiển: Lập trình cho 8051: Các nhà sản xuất 8051 hỗ trợ ngơn ngữ lập trình Assembler nhiên ngơn ngữ thường dùng cho ứng dụng lớn tính phù hợp nó, ứng dụng thực tế hay sử dụng ngơn ngữ C Ngồi số ngôn ngữ khác phát triển cho 8051 Pascal, Basic, Forth Vi điều khiển AVR Là dòng vi điều khiển hãng Atmel sản xuất có nhiều loại AVR như:     32-bit AVR UC3 8/16-bit AVR XMEGA 8-bit mega AVR 8-bit tiny AVR Vi điều khiển Atmega 16: Là vi điều khiển bit với tiêu thụ điện thấp dựa kiến trúc RISC (Reduced Instruction Set Computer) Vào Analog – digital ngược lại Với công nghệ cho phép lệnh thực thi chu kì xung nhịp, tốc độ xử lý liệu đạt đến triệu lệnh giây tần số 1Mhz Vi điều khiển cho phép người thiết kế tối ưu hoá chế độ tiêu thụ lượng mà đảm bảo tốc độ xử lý Lõi AVR có tập lệnh phong phú với số lượng với 32 ghi làm việc chung với Tất 32 ghi nối trực tiếp với ALU (Arithmetic Logic Unit), cho phép ghi truy cập độc lập lệnh đơn chu kỳ xung nhịp Kiến trúc đạt có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC (Complex Instruction Set Computer) thông thường Atmega 16 hỗ trợ đầy đủ phần mềm công cụ phát triển hệ thống bao gồm: Trình dịch Assembly AVR studio Atmel, Trình dịch C win AVR, CodeVisionAVR C, ICCAVR C - CMPPILER GNU… Trình dịch C nhiều người dùng đánh giá tương đối mạnh, dễ tiếp cận người bắt đầu tìm hiểu AVR, trình dịch CodeVisionAVR C Phần mềm hỗ trợ nhiều ứng dụng có nhiều hàm có sẵn nên việc lập trình tốt - Bộ nhớ: Flash 16KB EEPROM 512 Byte SRAM 1KB - Ngoại vi: Hai timer bit Một timer 16 bit Bộ counter với tần số riêng Bốn điều chế độ rộng xung PWM Tám kênh ADC 10 bit USART Giao tiếp SPI, Giao diện I2C Watchdog timer Bộ so sánh tương tự chip - Tính năng: Tập lệnh gồm 131 lệnh, hầu hết thực chu kỳ máy Xử lý 16 triệu lệnh tần số 16 MHZ 32 chân vào/ra lập trình Sáu chế độ sleep 40 pin kiểu PDIP, 44 pin kiểu TQFP kiểu QFL/MLF 32 ghi bit đa dụng Ngắt ngắt Điện áp hoạt động từ 2,7-5,5V cho Atmega 16A V i điều khiển PIC PIC Hình 2.2một số hình ảnh AVR RISC sản họ vi điều khiển xuất cơng ty Microchip Technology Dòng PIC PIC1650 phát triển Microelectronics Division thuộc General Instrument PIC bắt nguồn chữ viết tắt "Programmable Intelligent Computer" (Máy tính khả trình thơng minh) Là vi điều khiển với kiến trúc RISC thực thi lệnh với chu kỳ máy (bằng bốn chu kỳ dao động) Ngày có nhiều dòng PIC sản xuất với hàng loạt mô đun ngoại vi tích hợp sẵn ADC, PWM, USART, SPI…với nhớ chương trình từ 512 word đến 32 Kword Các họ vi điều khiển PIC: - Họ bit: PIC 10/ PIC 12/ PIC 16/ PIC 18 - Họ 16 bit: PIC 24F/ PIC 24H/ dsPIC 30/ dsPIC 33 - Họ 32 bit: PIC 32 Một vài đặc tính:         Chân vào/ra I/O lập trình Flash ROM tuỳ chọn từ 256 byte đến 512 Kbyte Bộ dao động bên 8/16/32 bit Timers Bộ nhớ EEPROM nội Chuẩn giao tiếp nối tiếp đồng không đồng USART MSSP Peripheral cho giao tiếp I2C SPI Các chế độ so sánh, bắt giữ điều chế độ rộng xung PWM       Bộ so sánh điện áp Bộ chuyển đổi ADC (tần số lên tới MHz) Hộ trợ giao thức USB, CAN, Ethernet Mô đun điều khiển động cơ, mô đun đọc encoder Hộ trợ nhớ ngồi DSP tính xử lý tín hiệu số (dsPIC) Lập trình cho PIC: Hãng Microchip cung cấp mơi trường lập trình MPLAB bao gồm phần mềm mơ phỏng, trình dịch ASM, liên kết gỡ rối Ngồi hãng bán trình biên dịch C cho dòng PIC18 dsPIC tích hợp MPLAB Ngồi số cơng ty khác cung cấp trình biên dịch C, PASCAL, BASIC cho PIC phần mềm thương mại phần mềm mã nguồn mở Hình 1.2.3 Một số hình ảnh PIC Vi điều khiển ARM Cấu trúc ARM (viết tắt từ tên gốc Acorn RISC Machine) loại cấu trúc vi xử lý 32-bit kiểu RISC sử dụng rộng rãi thiết kế nhúng Được phát triển lần đầu dự án công ty máy tính Acorn Do có đặc điểm tiết kiệm lượng, CPU ARM chiếm ưu sản phẩm điện tử di động, mà với sản phẩm việc tiêu tán công suất thấp mục tiêu thiết kế quan trọng hàng đầu Ngày nay, 75% CPU nhúng 32-bit thuộc họ ARM, điều khiến ARM trở thành cấu trúc 32-bit sản xuất nhiều giới CPU ARM tìm thấy khắp nơi sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay, máy tính cầm tay) thiết bị ngoại vi máy tính (ổ đĩa cứng, định tuyến để bàn.) Một nhánh tiếng họ ARM vi xử lý Xscale Intel Giới thiệu vi điều khiển LPC2148: Là dòng vi điều khiển ARM sản xuất hãng Philips Tính năng:             Vi điều khiển 16/32-bit ARM7TDMI-S 40k RAM tĩnh (8k +32k), 512k flash Tích hợp USB 2.0 Hỗ trợ hai ADC 10 bit Một DAC 10 bit timer 32 bit, ngõ điều chế độ rộng xung Đồng hồ thời gian thực hỗ trợ tần số 32kHz Khả thiết lập chế độ ưu tiên định địa cho ngắt 45 chân GPIO vào đa dụng chân ngắt ngồi (tích cực cạnh tích cực mức) CPU clock đạt tối đa 60MHz thơng qua PLL lập trình Xung PLCK hoạt động độc lập On-chip Flash Memory: LPC 2148 có 512K nhớ Flash dùng để lưu trữ code liệu Trong thực thi ứng dụng, xóa lập trình Flash thơng qua IAP (In Application Programming) Khi trình loader chip sử dụng, nhớ trống lại 500K Bộ nhớ Flash ghi xóa 100000 lần, lưu trữ liệu đến 20 năm On-chip Static RAM: LPC 2148 có 32K RAM tĩnh, truy xuất theo đơn vị byte, half word & word Bộ điều khiển SRAM sử dụng phương thức write-back buffer để ngăn chặn tình trạng treo CPU có thao tác ghi Bộ đệm giữ liệu cuối từ chương trình gửi tới nhớ Dữ liệu ghi vào SRAM có thao tác ghi khác từ chương trình Lập trình cho ARM: Ngơn ngữ lập trình cho ARM ngơn ngữ C Các trình biên dịch cho ARM thường dùng:     Keil ARM IAR HTPICC for ARM ImageCraft ICCV7 for ARM Tổng quan ngôn ngữ C hàm, kiểu liệu hay dùng cho việc lập trình cho Vi điều khiển Ngơn ngữ C C ngơn ngữ lập trình cấp cao, sử dụng phổ biến để lập trình hệ thống với Assembler phát triển ứng dụng Vào năm cuối thập kỷ 60 đầu thập kỷ 70 kỷ XX, Dennish Ritchie (làm việc phòng thí nghiệm Bell) phát triển ngơn ngữ lập trình C dựa ngơn ngữ BCPL (do Martin Richards đưa vào năm 1967) ngôn ngữ B (do Ken Thompson phát triển từ ngôn ngữ BCPL vào năm 1970 viết hệ điều hành UNIX máy PDP-7) cài đặt lần hệ điều hành UNIX máy DEC PDP-11 Năm 1978, Dennish Ritchie B.W Kernighan cho xuất “Ngơn ngữ lập trình C” phổ biến rộng rãi đến Lúc ban đầu, C thiết kế nhằm lập trình mơi trường hệ điều hành Unix nhằm mục đích hỗ trợ cho cơng việc lập trình phức tạp Nhưng sau, với nhu cầu phát triển ngày tăng công việc lập trình, C vượt qua khn khổ phòng thí nghiệm Bell nhanh chóng hội nhập vào giới lập trình để cơng ty lập trình sử dụng cách rộng rãi Sau đó, cơng ty sản xuất phần mềm đưa phiên hỗ trợ cho việc lập trình ngơn ngữ C chuẩn ANSI C khai sinh từ Ngơn ngữ lập trình C ngơn ngữ lập trình hệ thống mạnh “mềm dẻo”, có thư viện gồm nhiều hàm (function) tạo sẵn Người lập trình tận dụng hàm để giải toán mà không cần phải tạo Hơn nữa, ngôn ngữ C hỗ trợ nhiều phép toán nên phù hợp cho việc giải toán kỹ thuật có nhiều cơng thức phức tạp Ngồi ra, C cho phép người lập trình tự định nghĩa thêm kiểu liệu trừu tượng khác Tuy nhiên, điều mà người vừa học lập trình C thường gặp “rắc rối” “hơi khó hiểu” “mềm dẻo” C Dù vậy, C phổ biến rộng rãi trở thành cơng cụ lập trình mạnh, sử dụng ngôn ngữ lập trình chủ yếu việc xây dựng phần mềm Ngơn ngữ C có đặc điểm sau: • Tính đọng (compact): C có 32 từ khóa chuẩn 40 tốn tử chuẩn, hầu hết biểu diễn chuỗi ký tự ngắn gọn • Tính cấu trúc (structured): C có tập hợp thị lập trình cấu trúc lựa chọn, lặp… Từ chương trình viết C tổ chức rõ ràng, dễ hiểu • Tính tương thích (compatible): C có tiền xử lý thư viện chuẩn vô phong phú nên chuyển từ máy tính sang máy tính khác chương trình viết C hồn tồn tương thích • Tính linh động (flexible): C ngôn ngữ uyển chuyển cú pháp, chấp nhận nhiều cách thể hiện, thu gọn kích thước mã lệnh làm chương trình chạy nhanh • Biên dịch (compile): C cho phép biên dịch nhiều tập tin chương trình riêng rẽ thành tập tin đối tượng (object) liên kết (link) đối tượng lại với thành chương trình thực thi (executable) thống Hoặc là: (wikipedia) Hàm  Cấu trúc : [kiểu_giá_trị_trả_về] tên_hàm([danh sách tham số]); { Các khai báo …………… Các câu lệnh }  • • • Trong đó: Tên_hàm: tên hợp lệ [kiểu_giá_trị_trả_về]: kiểu liệu kết trả lại cho hàm gọi [danh sách tham số]: mô tả kiểu liệu thứ tự tham số hàm nhận gọi • Các khai báo câu lệnh cặp dấu {} tạo thành phần thân hàm(khối) Sự hoạt động hàm: Cấp phát nhớ cho đối biến toàn cục Gán giá trị cá tham số thực cho đối tương ứng Thực câu lệnh thân hàm Khi gặp câu lệnh return dấu } cuối thân hàm máy xóa đối • • • • biến cục khỏi nhớ hàm kết thúc • Nếu hàm kết thúc câu lệnh return có chứa biểu thức máy tính toán giá trị biểu thức chuyển đổi kiểu phù hợp gán cho tên hàm Vd số hàm: Hàm delay: Void delay( int time) { While(time ); } Hàm main: Void main() { Các chương trình chính… } Kiểu liệu thường dùng cho việc lập trình vi điều khiển Các kiểu liệu: Kiểu ký tự (char): - Một giá trị kiểu char chiếm byte biểu diễn ký tự bảng mã ASCII - Kiểu số nguyên: 10 Cả hai định thời Timer Timer dùng chung ghi gọi TMOD: để thiết lập chế độ làm việc khác định thời  Thanh ghi TMOD ghi bit gồm có: Ø bit thấp để thiết lập cho Timer Ø bit cao để thiết lập cho Timer Trong đó: Ø bit thấp chúng dùng để thiết lập chế độ định thời Ø bit cao dùng để xác định phép tốn Hình 2.2.2.5: Thanh ghi TMOD Các bit M1, M0 Là bit chế độ Timer Timer Chúng chọn chế độ định thời: 0, 1, bảng Chúng ta tập chung vào chế độ thường sử dụng rộng rãi chế độ chế độ Chúng ta sớm khám phá đặc tính chế độ sau khám phần lại ghi TMOD Các chế độ thiết lập theo trạng thái M1 M0 sau: M M0 Chế độ Chế độ hoạt động 0 1 Bộ định thời 13 bit: bit định thời/bộ đếm, bit đặt trước Bộ định thời 16 bit: khơng có đặt trước Bộ định thời bit: tự nạp lại 1 Chế đọ định thời chia tách Hình 2.2.2.6: Các chế độ hoạt động đếm/bộ định thời Bit C/T (Counter/Timer) Bit ghi TMOD dùng để định xem định thời dùng máy tạo độ trễ hay đếm kiện Nếu bit C/T = dùng định thời tạo độ trễ thời gian Bit cổng GATE 29 Một bit khác ghi TMOD bit cổng GATE Ta thấy hai định thời Timer0 Timer1 có bit GATE Vậy bit GATE dùng để làm gì? Mỗi định thời thực điểm khởi động dừng Một số định thời thực điều phần mềm, số khác phần cứng số khác vừa phần cứng vừa phần mềm Các định thời 8051 có hai:  Việc khởi động dừng định thời khởi động phần mềm bit khởi động định thời TR TR0 TR1 Điều có nhờ lệnh Set bit TR0 lên (khởi động định thời) Clear bit TR0 (dừng định thời) Timer 0, tương tự TR1 Timer Các lệnh có tác dụng bit GATE = ghi TMOD  Việc khởi động ngừng định thời phần cứng từ nguồn cách đặt bit GATE = ghi TMOD Tuy nhiên, để tránh lẫn lộn từ ta đặt GATE = có nghĩa không cần khởi động dừng định thời phần cứng từ bên ngồi Lập trình cho chế độ **Dưới bước hoạt động timer chế độ 1: Đây định thời 16 bit, cho phép giá trị 0000 đến FFFFH nạp vào ghi TL TH định thời o Sau TL TH nạp giá trị khởi tạo 16 bit định thời phải khởi động Điều thực việc SET bit TR0 Timer SET bit TR1 Timer o Sau định thời khởi động, bắt đầu đếm lên Nó đếm lên đạt giới hạn FFFFH Sau đó, quay từ FFFFH 0000 bật lên bit cờ TF gọi cờ định thời Cờ định thời hiển thị Khi cờ định thời thiết lập, để dừng định thời: ta thực xóa bit TR0 Timer TR1 Timer Ở cần phải nhắc lại định thời có cờ TF riêng mình: TF0 Timer TF1 Timer o Sau định thời đạt giới hạn giá trị FFFFH, muốn lặp lại trình ghi TH TL phải nạp lại với giá trị ban đầu cờ TF phải xóa o 30 Hình 2.2.2.9-1: Timer/counter chế độ ** Các bước lập trình chế độ Để tạo độ trễ thời gian dùng chế độ định thời cần phải thực bước đây: Nạp giá trị TMOD cho ghi báo độ định thời (Timer0 hay Timer1) sử dụng chế độ chọn Nạp ghi TL TH với giá trị đếm ban đầu Khởi động định thời Duy trì kiểm tra cờ định thời TF vòng lặp để xem bật lên khơng Thốt vòng lặp TF lên cao Dừng định thời Xố cờ TF cho vòng Quay trở lại bước để nạp lại TL TH Cơng thức tính tốn độ trễ sử dụng chế độ (16 bit) định thời tần số thạch anh XTAL = f (MHz): Hình 2.2.2.9-2 Cơng thức tính độ trễ thời gian theo tần số XTAL (f) 10 Tìm giá trị cần nạp vào định thời Giả sử biết lượng thời gian trễ mà ta cần câu hỏi đặt làm để tìm giá trị cần thiết cho thi TH TL Để tính tốn giá trị cần nạp vào ghi TH TL nhìn vào ví dụ sau với việc sử dụng tần số dao động XTAL = 11 0592MHz hệ thống 8051 Các bước để tìm giá trị ghi TH TL: Chia thời gian trễ cần thiết cho 1.085ms Thực 65536 - n với n giá trị thập phân nhận từ bước 31 Chuyển đổi kết bước sang số Hex: ta có YYXX giá trị Hexa ban đầu cần phải nạp vào ghi định thời Đặt TL = XX TH = YY 11 Chế độ Chế độ hoàn toàn giống chế độ khác định thời 16 bit thay bằng13 bit Bộ đếm 13 bit giữ giá trị 0000 đến 1FFFF TH - TL Do định thời đạt giá trị cực đại 1FFFH quay trở 0000và cờ TF bật lên 12 Lập trình cho chế độ Dưới bước hoạt động timer chế độ 2: Ø Nó định thời bit, cho phép giá trị từ 00 đến FFHđược nạp vào ghi TH định thời Ø Sau ghi TH TL nạp giá trị ban đầu định thời phải khởi động Ø Sau định thời khởi động, bắt đầu đếm tăng lên cách tăng ghi TL Nó đếm đại giá trị giới hạn FFH Khi quay trở 00 từ FFH, thiết lập cờ định thời TF Nếu ta sử dụng định thời Timer0 cờ TF0, Timer1 cờ TF1 Ø Khi ghi TL quay trở 00 từ FFH, cờ TF bật lên ghi TLđược tự động nạp lại với giá trị chép từ ghi TH Để lặp lại trình đơn giản việc xố cờ TF chạy mà khơng cần can thiệp lập trình viên để nạp lại giá trị ban đầu Điều làm cho chế độ gọi chế độ tự nạp lại so với chế độ (phải nạp lại ghi TH TL) 32 Hình 2.2.2.12: Timer/counter chế độ Cần phải nhấn mạnh rằng: chế độ định thời bit Tuy nhiên, lại có khả tự nạp, tự nạp lại giá trị ban đầu TH giữ nguyên, TL nạp lại giá trị chép từ TH Chế độ có nhiều ứng dụng, bao gồm việc thiết lập tần số baud truyền thơng nối tiếp **Các bước lập trình cho chế độ Để tạo thời gian trễ sử dụng chế độ định thời cần thực bước sau: Nạp ghi giá trị TMOD để báo định thời gian (Timer0 hay Timer1) sử dụng chế độ làm việc chúng chon Nạp lại ghi TH TL với giá trị đếm ban đầu Khởi động định thời Duy trì kiểm tra cờ định thời TF cách sử dụng vòng lặp để xem bật chưa Thốt vòng lặp TF lên cao Dừng định thời Xoá cờ TF Quay trở lại bước Vì chế độ chế độ tự nạp lại 13 Bộ đếm Ở phần ta sử dụng định thời 8051 để tạo độ trễ thời gian Các định thời dùng đếm (counter) kiện xảy bên 8051 Cơng dụng đếm kiện trình bày phần Chừng liên quan đến công dụng định thời đếm kiện vấn đề mà ta nói lập trình định thời phần trước áp dụng cho việc lập trình đếm ngoại trừ nguồn tần số 33 Đối với định thời/bộ đếm dùng định thời nguồn tần số tần số thạch anh 8051 Tuy nhiên, dùng đếm nguồn xung để tăng nội dung ghi TH TL từ bên 8051 Ở chế độ đếm, lưu ý ghi TMOD TH, TL giống định thời , chí chúng có tên gọi Các chế độ đếm giống 14 Bit C/T ghi TMOD Xem lại phần bit C/T ghi TMOD: ta thấy định nguồn xung đồng hồ cho đếm: Ø Nếu bit C/T = định thời nhận xung đồng hồ từ giao động thạch anh 8051 Ø Nếu bit C/T = định thời sử dụng đếm nhận xung đồng hồ từ nguồn bên 8051 Do vậy, bit C/T = đếm tăng lên xung đưa đến chân P3.4 (T0) counter0 chân P3.5 (T1) counter1 Hình 2.2.2.14: Các chân cổng P3 dùng cho đếm 15 Thanh ghi TCON Công dụng cờ TR0 TR1 để bật/tắt đếm/bộ định thời Các bit phận ghi TCON Đây ghi bit Ø bit dùng để lưu cất bit TF TR cho Timer/counter Timer/counter Ø bit thấp thiết lập dành cho điều khiển ngắt Hình 2.2.2.15: Thanh ghi TCON – Điều khiển đếm/bộ định thời 34 35 36 16 Trường hợp bit GATE = TMOD Trước hết trường hợp bit GATE = ghi TMOD Tất vừa nói giả thiết GATE = Khi GATE = đếm/bộ định thời khởi động lệnh Set bit TR0 hoặcTR1 Vậy điều xảy bit GATE = 1? Nếu GATE = việc khởi động dừng đếm/bộ định thời thực từ bên qua chân P3.2 (INT0) P3.3 (INT1) Timer/counter Timer/counter tương ứng Phương pháp điều khiển phần cứng để dừng khởi động đếm/bộ định thời có nhiều ứng dụng Ví dụ: Chẳng hạn 8051 dùng sản phẩm phát báo động giây dùng Timer0 theo nhiều việc khác Bộ Timer0 bật lên phần mềm qua lệnh Set bit TR0 nằm ngồi kiểm sốt người dùng sản phẩm Tuy nhiên, nối công tắc chuyển mạch tới chan P2.3 ta dừng khởi động định thời, cách ta báo động 37 III : Xây dựng ứng dụng sở 8051 Sơ đồ thuật toán Đúng Đúng Đúng Đúng Đúng Đúng 38 Bắt Đầu Khởi Tạo SP = ON S2=1 Sai CB2 =1 BC1 = Sai Số SP

Ngày đăng: 12/06/2018, 23:16

TỪ KHÓA LIÊN QUAN

w