Đồ Án Tốt Ngiệp Thiết kế bộ KIT thực hành vi điều khiển 8051

80 977 5
Đồ Án Tốt Ngiệp Thiết kế bộ KIT thực hành vi điều khiển 8051

Đ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

Ngày nay kĩ thuật điều khiển tự động đã và đang là một phần không thể thiếu trong kĩ thuật cũng như dân dụng. Một trong những kĩ thuật điều khiển tự động đó là sử dụng chip nhớ vi điều khiển. Vi điều khiển quản lí và điều khiển hệ thống thông qua phần mềm, vì vậy mà ta có thể mở rộng và thay đổi hoạt động một cách dễ dàng thông qua thay đổi các thông số của chương trình. Vi điều khiển hoạt động theo chương trình đã đặt sẵn, đọc các tín hiêu từ bên ngoài đưa vào sau đó lưu trữ và xử lí trên cơ sở đó đưa ra các tín hiệu điều khiển các thiết bị bên ngoài hoạt động theo đúng thông số và yêu cầu của hệ thống. Người lập trình có thể sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiển; Nhưng thường sử dụng hai ngôn ngữ chính để lập trình đó là : Ngôn ngữ lập trình C và ngôn ngữ lập trình Assembly (lập trình trên phần cứng của máy tính). Sau khi lập trình xong phần trình dịch được nạp vào IC và dùng IC này để điều khiển các hệ thống theo yêu cầu đề ra.Với mong muốn tìm hiểu kĩ và nghiên cứu sâu hơn về vi điều khiển, em đã thực hiện đề tài “ Thiết kế bộ KIT thực hành vi điều khiển 8051”. Đề tài này giúp chúng ta có thể hiểu được cơ bản những ứng dụng của vi điều khiển trong thực tế đời sống hiện tại. Có thể trong quá trình thiết kế và ứng dụng có nhiều vấn đề có thể chưa được như mong muốn, em mong được sự nhận xét chỉ bảo của các thầy cô.Đề tài của em gồm 2 phần :•Phần I: Cơ sở lí thuyết vi điều khiển 8051•Phần II: Thiết kế MODUL

KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 MỤC LỤC 4 Phần I: CƠ SỞ LÍ THUYẾT VI ĐIỀU KHIỂN 8051 4 1. GIỚI THIỆU CHUNG VỀ HỌ 8051 4 3.1 Các thanh ghi đặc biệt 14 3.2 Thanh ghi chính 15 3.3 Thanh ghi phụ 15 3.4 Thanh ghi trạng thái chương trình (PSW) 16 3.5 Thanh ghi ngăn xếp (Stack Pointer) 17 3.6 Con trỏ dữ liệu DPTR 18 3.7 Thanh ghi các cổng P0-P3 18 3.8 Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer) 18 3.9 Thanh ghi của bộ định thời/bộ đếm 18 3.10 Các thanh ghi điều khiển 19 4. Truy xuất địa chỉ 19 PHẦN II:THIẾT KẾ KẾ MODUL 35 Chương I: GIỚI THIỆU CHUNG 35 2.1 Cổng nối tiếp (COM) 36 2.2. IC MAX232 37 4.2 LED MATRIX 8X8 42 Chương 2: Nội dung thiết kế 62 Phần 1. THIẾT KẾ MÔ HÌNH BỘ KIT THỰC HÀNH VĐK 62 1. YÊU CẦU: 62 - Mạch điện tử được thiết kế trên máy tính bằng phần mềm chuyên dụng 62 - Mạch có thể kiểm tra khai thác được các tài nguyên của VĐK AT89S52 62 2. SƠ ĐỒ NGUYÊN LÝ 62 Phần 2: CÁC VÍ DỤ MINH HỌA CHO CÁC MODUL 63 GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 1 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 LỜI NÓI ĐẦU Ngày nay kĩ thuật điều khiển tự động đã và đang là một phần không thể thiếu trong kĩ thuật cũng như dân dụng. Một trong những kĩ thuật điều khiển tự động đó là sử dụng chip nhớ vi điều khiển. Vi điều khiển quản lí và điều khiển hệ thống thông qua phần mềm, vì vậy mà ta có thể mở rộng và thay đổi hoạt động một cách dễ dàng thông qua thay đổi các thông số của chương trình. Vi điều khiển hoạt động theo chương trình đã đặt sẵn, đọc các tín hiêu từ bên ngoài đưa vào sau đó lưu trữ và xử lí trên cơ sở đó đưa ra các tín hiệu điều khiển các thiết bị bên ngoài hoạt động theo đúng thông số và yêu cầu của hệ thống. Người lập trình có thể sử dụng nhiều ngôn ngữ để lập trình cho vi điều khiển; Nhưng thường sử dụng hai ngôn ngữ chính để lập trình đó là : Ngôn ngữ lập trình C và ngôn ngữ lập trình Assembly (lập trình trên phần cứng của máy tính). Sau khi lập trình xong phần trình dịch được nạp vào IC và dùng IC này để điều khiển các hệ thống theo yêu cầu đề ra. Với mong muốn tìm hiểu kĩ và nghiên cứu sâu hơn về vi điều khiển, em đã thực hiện đề tài “ Thiết kế bộ KIT thực hành vi điều khiển 8051”. Đề tài này giúp chúng ta có thể hiểu được cơ bản những ứng dụng của vi điều khiển trong thực tế đời sống hiện tại. Có thể trong quá trình thiết kế và ứng dụng có nhiều vấn đề có thể chưa được như mong muốn, em mong được sự nhận xét chỉ bảo của các thầy cô. Đề tài của em gồm 2 phần : • Phần I: Cơ sở lí thuyết vi điều khiển 8051 GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 2 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 • Phần II: Thiết kế MODUL Em xin chân thành cảm ơn các thầy cô trong khoa Điện Tử đã giúp đỡ em trong quá trình làm đồ án và cô Dương Thị Hằng đã trực tiếp giảng dạy và hướng dẫn em là đồ án. Em xin chân thành cảm ơn!!! Sinh viên: Nguyễn Việt Linh Lớp: LT CĐ – ĐH Điện tử 1 – K4 GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 3 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 Phần I: CƠ SỞ LÍ THUYẾT VI ĐIỀU KHIỂN 8051 1. GIỚI THIỆU CHUNG VỀ HỌ 8051. Năm 1981 hãng Atmel giới thiệu bộ vi điều khiển 8051. Bộ vi điều khiển (VĐK) này có 128 byte RAM, 4 byte ROM, hai bộ định thời, một cổng nối tiếp và bốn cổng vào/ra song song ( độ rộng 8 bit ) tất cả đều được đặt trên 1 chip. 8051 là bộ xử lý 8 bit ( có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm). Dữ liệu lớn hơn 8 bit sẽ được chia ra thành các dữ liệu 8 bit để xử lý. 8051 đã trở nên phổ biến khi Intel cho phép các nhà sản xuất khác sản xuất và bán các dạng biến thể của 8051. Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với tốc độ và dung lượng ROM trên chip khá nhau, nhưng tất cả các lệnh đều phải tương thích với 8051 ban đầu. Như vậy nếu ta viết chương trình cho một phiên bản của 8051 thì cũng chạy được với mọi phiên bản khác không phụ thuộc vào hãng sản xuất. Bốn bit thấp của TCON(TCON.0-TCON.3) không dùng để điều khiển các bộ định thời, chúng được dùng để phát hiện và khởi động các ngắt ngoài. - Các thanh ghi chứa giá trị của các bộ định thời. Các Timer0 và Timer1 đều là các Timer 16bit, mỗi Timer có thanh ghi 8bit dùng để chứa giá trị khởi tạo hoặc giá trị hiện thời của các Timer. 1.1. Sơ lược về bộ vi điều khiển 8051(89S52): * IC vi điều khiển thuộc họ MCS51 có các đặc điểm sau: • 4 kbyte ROM • 128 byte RAM GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 4 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 • 4 port I/O 8 bit • 2 bộ định thời • 1 cổng nối tiếp • 6 nguồn ngắt Nhưng thực tế hiện nay ta hay sử dụng 8052 (89S52) cũng là một thành viên họ 8051 . 8052 có tất cả các đặc tính của 8051 ngoài ra còn có thêm 4 kbyte ROM, 128 byte RAM và một bộ định thời nữa. Hình 1:Vi điều khiển 8051 * Bộ vi điều khiển AT89S52 gồm các khối chức năng sau đây: + CPU( Central Processing unit ) bao gồm: GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 5 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 - Thanh ghi tích lũy A. - Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia. - Đơn vị logic học ALU( Arithmetic Logical Unit). - Thanh ghi từ trạng thái chương trình ( PSW: Program Sttatus Worl). - Bốn băng thanh ghi. - Con trỏ ngăn xếp. + Bộ nhớ chương trình( bộ nhớ ROM) gồm 8 Kb Flash. + Bộ nhớ dữ liệu ( Bộ nhớ RAM ) gồm 256 Bytes. Bộ UART ( Universal Ansynchrous Receiver and Transmitter) có chức năng truyền nhận nối tiếp, AT89S52 có thể giao tiếp với cổng nối tiếp của máy tính thông qua bộ UART. + Ba bộ timer/count 16 bit: thực hiện các chức năng định thời và đếm sự kiện. + WDM ( Watch Dog Timer ) : được dùng để phục hồi lại hoạt động của CPU khi nó bị treo bởi một nguyên nhân nào đó. + Khối diều khiển ngắt : với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong. + Bộ lập trình ( ghi chương trình lên flash ROM ): cho phép người sử dụng có thể nạp chương trình cho chip mà không cần bộ nạp chuyên dụng. + Bộ chia tần: với hệ số chia là 12. + Bốn cổng xuất nhập: với 32 chân. GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 6 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 1.2. Cấu trúc bên trong IC8051: Phần chính của vi điều khiển 8051 là bộ vi xử lý trung tâm ( CPU: central processing unit). Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn có khả năng đưa một tín hiệu giữ nhịp từ bên ngoài. Chương trình đang chạy có thể dừng lại nhờ một khối điều khiển ngắt ở bên trong. Các nguồn ngắt có thể là : Các biến cố ở bên ngoài, sự tràn của bộ đếm định thời hoặc cũng có thể là giao diện nối tiếp. Ba bộ định thời 16bit hoạt động như một bộ đếm. Các cổng Port0, Port1, Port2, Port3. Sử dụng vào mục đích điều khiển và xuất nhập tín hiệu. Ở cổng Port3 có thêm các đường dẫn điều khiển dùng để trao đổi với bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp, cũng như các đường ngắt dẫn ở bên ngoài. GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 7 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 Hình2 : Sơ đồ khối 89S52. GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 8 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong dải rộng và được ấn định bằng một bộ định thời. Trong vi điều khiển 8051 có hai thành phần quan trọng khác đó là bộ nhớ và các thanh ghi: Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lưư trữ dữ liệu và mã lệnh. Các thanh ghi sử dụng để lưư trữ thông tin trong quá trình xử lý. Khi CPU làm việc nó thay đổi nội dung các thanh ghi. 2. Tổ chức bộ nhớ 8051 Các vi điều khiển thuộc họ 8051 đều tổ chức thành 2 không gian chương trình và dữ liệu, hình 1.1.1 và hình 1.1.2 sẽ mô tả điều này. Kiến trúc vi xử lý 8 bit của 8051 này cho phép truy nhập và tính toán nhanh hơn đối với không gian dữ liệu nhờ việc phân chia 2 không gian bộ nhớ chương trình và dữ liệu như trên. Tuy nhiên bộ nhớ ngoài được truy nhập bởi hệ thống 16 bit địa chỉ vẫn có thể thực hiện nhờ thanh ghi con trỏ. Bộ nhớ chương trình (ROM, EPROM) là bộ nhớ chỉ đọc, có thể mở rộng tối đa 64Kbyte. Vói họ vi điều khiển 89xx, bộ nhớ chương trình được tích hợp sẵn trong chip có kích thước nhỏ nhất là 4kByte. Với các vi điều khiển không tích hợp sẵn bộ nhớ chương trình trên chip, buộc phải thiết kế bộ nhớ chương trình bên ngoài. Ví dụ sử dụng EPROM: 2764 (64Kbyte), khi đó chân PSEN phải ở mức tích cực (5V). GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 9 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 Họ vi điều khiển 8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở rộng với bộ nhớ dữ liệu ngoài lên tới 64kByte. Với những vi điều khiển không tích hợp ROM trên chip thì vẫn có RAM trên chip là 128byte. Khi sử dụng RAM ngoài, CPU đọc và ghi dữ liệu nhờ tín hiệu trên các chân RD và WR. Khi sử dụng cả bộ nhớ chương trình và bộ nhớ dữ liệu bên ngoài thì buộc phải kết hợp chân RD và PSEN bởi cổng logic AND để phân biệt tín hiệu truy xuất dữ liệu trên ROM hay RAM ngoài. 2.1 Bộ nhớ chương trình GVHD: Ths. Dương Thị Hằng SVTH: Nguyễn Việt Linh 10 [...]... phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài vi điều khiển Nếu /AE ở mức cao( nối với Vcc) thì vi điều khiển thi hành trong ROM nội Nếu /AE ở mức thấp( nối với GND ) thì vi điều khiển thục hiện chương trình từ bộ nhớ ngoài 7.4 RST( Reset) Ngõ vào RST trên chân 9 là ngõ reset của 8051 Khi tín hiệu này được đưa lên mức cao ( trong ít nhất 2 chu kì máy) , các thanh ghi trong bộ vi diều khiển được... Thanh ghi tính toán chính của vi điều khiển 8051 ACC (Accumulator) Là thanh ghi đặc biệt của 8051 dùng để thực hiện các phép toán của CPU, thường kí hiệu là A 3.3 Thanh ghi phụ Thanh ghi tính toán phụ của vi điều khiển 8051 là B Thanh ghi B ở địa chỉ F0H được dùng chung với thanh chứa A trong các phép toán nhân, chia Lệnh MUL AB nhân 2 số 8 bit không dấu chứa trong A và B và chứa kết quả 16 bit vào... biệt Hình 6 : Cấu trúc bộ nhớ trong Hình 7 mô tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều khiển 8051 32 byte đầu tiên (00H-1FH) được sử dụng cho 4 bộ 8 thanh ghi GVHD: Ths Dương Thị Hằng SVTH: Nguyễn Vi t Linh 13 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 R0-R7 Hai bit của thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi điều khiển sẽ dùng trong khi thực thi chương trình Hình... GVHD: Ths Dương Thị Hằng SVTH: Nguyễn Vi t Linh 12 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 2.2 Bộ nhớ dữ liệu Hình 5 :Cấu trúc bộ nhớ dữ liệu Hình 5 mô tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của họ vi điều khiển 8051 CPU sẽ dùng đến các chân RD và WR khi truy cập đến bộ nhớ dữ liệu ngoài Hình 6 mô tả cấu trúc bộ nhớ dữ liệu trong chip, được chia thành 3 khối là 128 byte thấp, 128 byte... bộ định thời được thiết lập bởi thanh ghi chế độ định thời TMOD (Timer Mode Register) ở địa chỉ 88H Chỉ có TCON được định địa chỉ từng bit GVHD: Ths Dương Thị Hằng SVTH: Nguyễn Vi t Linh 19 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 3.10 Các thanh ghi điều khiển Các thanh ghi điều khiển đặc biệt như IP, IE, TMOD, TCON, SCON và PCON là các thanh ghi điều khiển và ghi nhận trạng thái của hệ thống ngắt, bộ. .. Timer/Counter 0 P3.5 T1 Ngõ vào của Timer/Counter 1 P3.6 WR\ Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD\ Xung đọc bộ nhớ dữ liệu ngoài 6 Các chế độ của vi điều khiển : GVHD: Ths Dương Thị Hằng SVTH: Nguyễn Vi t Linh 27 KHOA ĐIỆN TỬ LT CĐ – ĐH Điện tử 1 – K4 Nhìn tổng thể chúng ta có thể tìn hiểu về vi điều khiển trong 3 mảng vấn đề chính là: Các bộ định thời Timer, Port nối tiếp và Ngắt 6.1 Hoạt động định thời... giao tiếp mạnh 3.8 Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer) Bộ đệm truyền thông được chia thành hai bộ đệm, bộ đệm truyền dữ liệu và bộ đệm nhận dữ liệu Khi dữ liệu được chuyển vào thanh ghi SBUF, dữ liệu sẽ được chuyển vào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho đến khi quá trình truyền dữ liệu qua truyền thông nối tiếp kết thúc Khi thực hiện vi c chuyển dữ liệu từ SBUF... được đọc từ bộ nhớ ngoài qua bus dữ liệu (Port 0) thanh ghi lệnh để được giải mã GVHD: Ths Dương Thị Hằng SVTH: Nguyễn Vi t Linh KHOA ĐIỆN TỬ 34 LT CĐ – ĐH Điện tử 1 – K4 Khi thực hiện chương trình trong ROM nội thi /PSEN ở mức cao 7.2 Chân ALE ( Address Latch Enable) ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều khiển Tín hiệu ALE được dùng để cho phép vi mạch... ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu của truyền thông nối tiếp 3.9 Thanh ghi của bộ định thời /bộ đếm 8051 có 2 bộ đếm/định thời (counter/timer) 16 bit để định các khoảng thời gian hoặc để đếm các sự kiện Các cặp thanh ghi (TH0, TL0) và (TH1, TL1) là các thanh ghi của bộ đếm thời gian Bộ định thời 0 có địa chỉ 8AH (TL0, byte thấp) và 8CH (TH0, byte cao) Bộ định thời 1 có địa chỉ 8BH (TL1,... hoặc EXF2 89S52 có 6 nguồn ngắt: Ngăt ngoài INT0\ Ngắt ngoài INT1\ Ngắt do bộ Timer 0 GVHD: Ths Dương Thị Hằng SVTH: Nguyễn Vi t Linh LT CĐ – ĐH Điện tử 1 – K4 29 KHOA ĐIỆN TỬ Ngắt do bộ Timer 1 Ngắt do bộ Timer 2 Ngắt do Port nối tiêp Các ngắt ngoài sảy ra khi có mức thấp hoặc sườn xuống trên chân INT0 hoặc INT1 của vi điều khiển Đây là chức năng chuyển đổi của các bit Port 3 (P3.2 và P3.3) Ngắt cổng . thầy cô trong khoa Điện Tử đã giúp đỡ em trong quá trình làm đồ án và cô Dương Thị Hằng đã trực tiếp giảng dạy và hướng dẫn em là đồ án. Em xin chân thành cảm ơn!!! Sinh viên: Nguyễn Việt Linh . tính toán chính của vi điều khiển 8051 ACC (Accumulator). Là thanh ghi đặc biệt của 8051 dùng để thực hiện các phép toán của CPU, thường kí hiệu là A. 3.3 Thanh ghi phụ Thanh ghi tính toán phụ. chỉ trực tiếp hoặc gián tiếp. Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp. Cũng như

Ngày đăng: 22/11/2014, 14:01

Từ khóa liên quan

Mục lục

  • Phần I: CƠ SỞ LÍ THUYẾT VI ĐIỀU KHIỂN 8051

    • 1. GIỚI THIỆU CHUNG VỀ HỌ 8051.

      • 3.1 Các thanh ghi đặc biệt

      • 3.2 Thanh ghi chính

      • 3.3 Thanh ghi phụ 

      • 3.4 Thanh ghi trạng thái chương trình (PSW)

      • 3.5 Thanh ghi ngăn xếp (Stack Pointer) 

      • 3.6 Con trỏ dữ liệu DPTR 

      • 3.7 Thanh ghi các cổng P0-P3

      • 3.8 Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer) 

      • 3.9 Thanh ghi của bộ định thời/bộ đếm

      • 3.10 Các thanh ghi điều khiển

      • 4. Truy xuất địa chỉ

        • 4.1 Truy xuất địa chỉ thanh ghi

        • 4.2 Truy xuất địa chỉ kiểu trực tiếp

        • 4.3 Truy xuất địa chỉ kiểu gián tiếp 

        • 4.4 Truy xuất địa chỉ kiểu tức thời

        • 4.5 Truy xuất địa chỉ kiểu tương đối

        • 4.6 Truy xuất địa chỉ kiểu tuyệt đối

        • 4.7 Truy xuất địa chỉ kiểu dài

        • 4.8 Truy xuất địa chỉ kiểu chỉ số

        • PHẦN II:THIẾT KẾ KẾ MODUL

Tài liệu cùng người dùng

Tài liệu liên quan