Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
292 KB
File đính kèm
DK TOC DO DONG CO HT MAN MAY TINH.rar
(36 KB)
Nội dung
Báo cáo đồ án môn vi điều khiển nhóm 13 Lớp CDT – K9 Khoa Cơ Khí Đề tài: Điều khiển tốc độ động hiển thị hình máy tính Nhóm thực hiện: Nguyễn Văn Thảo Nguyễn Quang Huy Cao Xuân Hòa Phần I: Cơ Sở Lý thuyết Năm 1981 họ vi điều khiển 8051 hãng intel giới thiệu Họ vi điều khiển gồm 128 byte RAM, byte ROM, hai định thời, cổng nối tiếp bốn cổng vào/ra song song( độ rộng 8bit ) Cho đến có nhiều biến thể 8051 hãng khác giới sản xuất Vi điều khiển AT89S52 biến thể 8051 Và dùng vi điều khiển AT89S52 để điều khiển tốc độ động Giới thiệu AT89S52 Cấu trúc dạng sơ đồ khối tổng quát CPU Bộ nhớ chương trình Bộ nhớ liệu P1 P2 Vào/ra song song Vào/ra nối tiếp Ngắt Bộ nhớ đinh thời/ đếm Timer0 Time1 P3 Cấu trúc bus Bus địa họ vi điều khiển 8051 gồm 16 dường tín hiệu ( thường gọi bus địa 16 bit ) Với số lượng bít địa trên, không gian nhớ chip mở rộng tối đa 216 tương đương với 65536 địa Bus liệu họ vi điều khiển 8051 gồm đường tín hiệu ( thường gọi bus liệu bit ) 8051 họ vi điều khiển 8bit Với độ rộng bus liệu vậy, chip họ 8051 xử lý nguồn liệu 8bit trog chu kỳ lệnh, lớn bít dc chia thành nhiều liệu 8bit để xử lý CPU ( Central processing Unit ) CPU đơn vị xử lý trung tâm, não toàn hệ thống vi điện tử tích hợp chip vi điều khiển CPU ca cấu tạo đơn vị xử lý số học logic ALU ( Arithmethic Logic Unit ) nơi thực tất phép toán số học phép logic cho trình xử lý Bộ nhớ chương trình ( Program Memory ) Không gian nhớ chương trình AT89 64K, nhiên hầu hết vi điều khiển AT89 thị trường tích hợp sẵn chip lượng nhớ chương trình định chiếm dãi địa từ 0000h trở AT89s52 có 4k nhứ chương trình loại Flash tích hợp sẵn bên chip Đây nhớ cho phép ghi/xóa nhiều lần Bộ nhớ chương trình dùng để chứa mã chương trình nạp vào chip Mỗi lện mã hóa vài byte, dung lượng nhớ chương trình phản ánh số lượng lệnh mà nhớ chứa nhớ nhớ chương trình 0x0000 địa RESET 8051 Ngay sau reset( tăt/bật nguồn, mức điện áp chân reset bị kéo lên 5V…), CPU chảy đến thực lệnh dặt địa trước tiên, luôn phần trống không gian chương trình không dùng Nếu muốn mở rộng nhớ chương trình ta phải dùng nhớ Khi dùng nhớ nhớ chip không dùng chiếm dãi địa từ 0x0000 Bộ nhớ liệu ( Data Memory ) 8051 có nhớ liệu 64k địa chỉ, dung lượng nhớ liệu lớn họ 8051 Đây nơi chứa biến trung gian trình hoạt động chip STT Tên chip AT89C51 AT89C52 AT89C2051 AT89S51 AT89S52 AT89S52 Bộ nhớ SRAM 128byte 256byte 128byte 128byte 256byte 256byte Bộ nhớ EEROM 0 0 2048byte Đối với chip có nhớ SRAM 128 byte địa byte SRAM đánh số từ 00H đến 7FH Đối với chip có nhớ SRAM 256 byte địa byte SRAM đánh số từ 00H đến FFh SRAM có địa từ 00H – 7FH vùng RAM thấp phần có địa từ 80H – FFH vùng RAM cao Cổng vào/ra song song( I/O Port ) 8051 có cổng vào/ra song song P0,P1,P2,P3 Tất cổng cổng vào/ra hai chiều 8bit Các bit cổng chân chip, cổng có chân chip Cổng P0 điện trở treo cao bên trong, mạch lái tạo mức cao có sử dụng cổng với tính bus dồn kênh địa chỉ/dữ liệu với chức thông thường P0 cổng với chức vào P0 cổng vào cao trở Nếu muốn sử dụng P0 làm cổng vào/ra thông thường ta phải thêm điện trở bên Giá trị điện trở bên thường 4k – 10k Các cổng p1, p2, p3 có điện trở bên trong, dùng với chức cổng vào/ra thông thường mà không cần thêm điện trở Thực chất điện trở bên FET điện trở tuyến tính thông thường khả tạo dòng mạch lái đầu mức cao( đầu vào ) nhỏ, khoảng 100 micro Ampe Cổng vào nối tiếp ( Serial Port ) Cổng thường sử sụng giao tiếp với mày tính giao tiếp với vi điều khiển khác Cổng nối tiếp có hai ghi SCON, SBUF PCON Thanh ghi PCON không định địa bit có bít SMOD quy định tốc độ truyền cổng nối tiếp ( tốc độ gấp đôi SMOD = không gấp đôi SMOD = 0) Ngăt ( Interrupt) 8051 có số nguồn ngắt hay gọi nguyên nhân ngắt Mỗi ngắt có vector ngắt riêng địa cố định nằm nhớ chương trình Khi sảy ngắt CPU tự động chuyển đến thực lệnh địa Các nguồn ngắt STT Tên ngắt INT0 Mô tả Ngắt co tín hiệu tích cực theo kiểu chọn chân P3.2 Timer0 Ngắt tràn timer0 giá trị timer0 tràn từ giá trị max giá trị INT1 Ngắt có tín hiệu tích cực theo kiểu chọn chân P3.3 Timer2 Ngắt tràn timer1 giá trị timer1 tràn từ max đến Por nối Khi vi điều tiếp khiển nhận truyền xong 1byte Cờ ngắt IE0 Thanh ghi Vector chứa cờ ngắt ngắt TCON 0x0003 TF0 TCON 0x000B IE1 TCON 0x0013 TF1 TCON 0x001B TI, RI SCON 0x0023 Thanh ghi cho phép ngăt IE (interrupt Enable) Bit IE.7 IE.6 IE.5 IE.4 IE.3 IE2 IE1 IE.0 Ký hiệu Địa Mô tả bit EA AFH Cho phép cấm toàn ─ AEH Không định nghĩa ET5 ADH Cho phép ngăt từ timer2 ES ACH Cho phép ngắt từ port nối tiép ET1 ABH Cho phép ngắt từ timer1 EX1 AAH Cho phét ngắt ET0 AH9 Cho phép ngắt từ timer0 EX0 A8H Cho phép ngắt Để cho phép ngắt bit tương ứng với ngắt bit EA phải đặt băng Thanh ghi IE định địa bit nên dùng lệnh tác động bit để tác động riêng lẻ lên bit mà không làm anh hưởng đến giá trị bit khác Cờ ngát hoạt đông jđộc lập với việc cho phép ngắt, điều có nghĩa cờ ngắt tự động đật lên có kiện gây ngắt sảy kiện có cho phép ngắt hay không Do vậy, trước cho phép ngắt ta nên xóa cờ ngắt để đảm bảo sau cho phép kiện gây ngắt khứ gây ngắt 8051 có hai ngắt INT0 INT1 Ngăt hiểu ngắt gây kiện mức logic ( mức điện áp thấp gần 0V) sườn xuống ( chuyển mức điện áp từ mức cao mức thấp ) sảy chân ngăt tương ứng ( P3.2 với ngắt P3.3 với ngắt 1) Việc lựa chọn kiểu ngăt thực bit IT ( Interrupt Type ) nằm ghi TCON Đây ghi điều khiển timer bit LSB ( bit - 3) dùng cho ngắt TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Khi ITx = ngắt tương ứng chọn kiểu ngắt theo sườn xuống, ITx = ngắt theo mức thấp Cac bit IE bit cờ ngắt có tac dụng trường hợp ngắt theo sườn xuống kiểu ngắt theo sườn xuống chọn ngắt sảy lần có sườn xuống tín hiệu, sau tín hiệu mức thấp sườn lên hay mức cao không sảy ngắt có sườn xuống Cờ ngắt IE có có sườn xuống tự động bị xóa CPU bắt đầu xử lý ngắt Nếu kiểu ngắt mức thấp chọn ngắt sảy tín hiệu chân ngắt mức thấp cờ ngắt IE không sử dụng Thông thương người ta chọn ngắt theo sườn xuống Bộ định thời/ đếm (Timer/Counter) AT89S52 có định thời 16bit Timer0, Timer1, Timer2 Giá trị đếm max 65536 Các định thời hoạt động độc lập với Sau cho phép hoạt động có thêm xung đầu vào đếm giá trị Timer tăng thêm đơn vị Khi tăng đến giá trị max timer tự động đưa giá trị ( thông thường = ) Sự kiện gọi tràn timer gây ngăt tràn timer cho phép ( bit ETx = 1) Việc cho Timer hoạt động hay dừng thực bở bít TR ghi TCON ( đánh địa bit ) TRx = Timer hoạt động, TRx = Timer không hoạt động dù có xung vào Khi dừng đếm, giá trị timer giữ nguyên Cac bit TFx cờ báo tràn timer, kiện tràn say cờ tràn tự động đặt ngắt tràn timer cho phép ngắt sảy Khi CPU xử lý ngắt tràn timer cờ ngắt TFx tương ứng tự động xóa băng phần mềm Giá trị đếm 16bit timer lưu ghi THx ( byte cao) TLx ( byte thấp ) Hai ghi ghi đọc lúc Tuy nhiên nên dừng timer ( TRx = 0) trước ghi/đọc ghi chứa giá trị đếm timer hoạt động theo nhiều chế độ quy đinh bit TMOD Để xác định thời gian người ta chọn nguồn xung nhịp (clock) đưa vào đếm timer xung nhịp bên trong( dành cho CPU) Nguôn xung clock thường có tần số ổn định, từ số đếm timer ta xác định thời gian thực Để đếm kiện bên ta chọn xung vuông để đưa vào timer (0V/5V) Các tín hiệu nối với bit cổng dồn kênh thêm tính T0/T1/T2 Khi có thay đổi mức xung timer tăng thêm dơn vị lúc tràn Và lúc người ta gọi timer counter Giao tiếp với máy tính Như nói AT89S52 giao tiếp với bên qua cổng nối tiếp Do mức logic vi điều khiển cổng COM máy tính khác nên phải sử dụng vi mạch MAX232 để chuẩn hóa mức logic So sánh điện áp mức logic RS232C TTL Đối tượng Cổng COM (mức RS232C) AT89S52 ( mức TTL) Mức logic 1 Mức điện áp -12V đến -3V +3V đến +12 +5V 0V Vi mạch MAX232 chứa hai chuyển đổi mức logic TTL sang RS232C ngược lại Phần II: Các phận mạch Vi điều khiển AT89S52 Đây chip điều khiển mạch Mạch Nguyên Lý Bộ giao tiếp với máy tính IC MAX 232 thực biến đổi số - tương tự để giao tiếp với máy tính qua cổng CON (Cổng có chân) Bộ dao động tạo xung Thạch anh ( crystal) dao động với tần số 12MHz để cấp xung cho AT89S52 Bộ điều khiển tốc độ động Thay đổi tốc độ động cách thay đổi dòng điện vào động thông qua điều chỉnh biến trở R2 Mạch nguyên lý Chương trình lập trình cho AT89S52 #include #include unsigned int i,n,v; unsigned int A[20]={2,3,4,6,8,10,12,14,17,21,25,30}; void delay50ms(int n) { for(i=0;i[...]...Bộ điều khiển tốc độ động cơ Thay đổi tốc độ của động cơ bằng cách thay đổi dòng điện vào động cơ thông qua điều chỉnh biến trở R2 Mạch nguyên lý Chương trình lập trình cho AT89S52 #include #include unsigned int i,n,v; unsigned int A[20]={2,3,4,6,8,10,12,14,17,21,25,30}; ... động tạo xung Thạch anh ( crystal) dao động với tần số 12MHz để cấp xung cho AT89S52 Bộ điều khiển tốc độ động Thay đổi tốc độ động cách thay đổi dòng điện vào động thông qua điều chỉnh biến trở... điều khiển AT89S52 Đây chip điều khiển mạch Mạch Nguyên Lý Bộ giao tiếp với máy tính IC MAX 232 thực biến đổi số - tương tự để giao tiếp với máy tính qua cổng CON (Cổng có chân) Bộ dao động tạo... 8051 hãng khác giới sản xuất Vi điều khiển AT89S52 biến thể 8051 Và dùng vi điều khiển AT89S52 để điều khiển tốc độ động Giới thiệu AT89S52 Cấu trúc dạng sơ đồ khối tổng quát CPU Bộ nhớ chương