1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR

59 2,1K 16

Đ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 59
Dung lượng 3,69 MB

Nội dung

Thiết kế mạch KIT thực hành cho vi điều khiển AVR. Nội dung chính:Tìm hiểu về các dòng vi điều khiển, cấu trúc của chúng và cách sử dụng.Tìm hiểu các module thành phần, cách điều khiển các module, cách giao tiếp giữa module và vi điều khiển.Thiết kế chi tiết các module thành phần, ghép nối hệ thống vào mạch.Lập trình phần mềm, các bài tập thực hành, chạy thử và sửa lỗi.

Trang 1

Lời nói đầu

Ngày nay kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật điện

tử Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vimạch nhỏ, nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ,

dễ dàng thao tác sử dụng

Vi điều khiển không những góp phần vào kỹ thuật điều khiển mà còn góp phần to lớnvào việc phát triển thông tin Chính vì các lý do trên, việc tìm hiểu, khảo sát vi điều khiển làđiều mà các sinh viên chuyên ngành điện tử phải hết sức quan tâm Đó chính là một nhu cầucần thiết và cấp bách đối với mỗi sinh viên, đề tài này được thực hiện chính là đáp ứng nhucầu đó

Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụngđươc lại là một điều rất phức tạp Phần công việc xử lý chính vẫn phụ thuộc vào con người,

đó chính là chương trình hay phần mềm Nếu không có sự tham gia của con người thì hệthống vi điều khiển cũng chỉ là một vật vô tri Do vậy khi nói đến vi điều khiển cũng giốngnhư máy tính bao gồm 2 phần là phần cứng và phần mềm

Để tìm hiểu bộ vi điều khiển một cách khoa học và mang lại hiệu quả cao làm nền tảncho việc tìm hiểu sâu hơn những hệ thống tối tân hơn Việc trang bị những kiến thức cănbản về vi điều khiển cho sinh viên là hết sức cần thiết Xuất phát từ thực tiển này chúng em

đã đi đến quyết định Thiết kế mạch KIT thực hành cho vi điều khiển AVR nhằm đáp

ứng nhu cầu ham muốn học hỏi của bản thân và giúp cho các bạn sinh viên dễ tiếp cận vàtìm hiểu sâu hơn về vi điều khiển

Trong quá trình thực hiện đề tài vẫn còn nhiều khiếm khuyết, nhóm chúng em mongnhận được nhiều ý kiến đóng góp từ thầy cô và các bạn Chúng em chân thành cảm ơn cácthầy cô trong Viện Điện Tử – Viễn Thông, ĐH Bách Khoa Hà Nội, đặc biệt là TS NguyễnThị Kim Thoa đã giúp đỡ chúng em rất nhiều trong quá trình thực hiện đồ án và anhNguyễn Trường Thế đã góp ý giúp chúng em hoàn thiện sản phẩm này

Em xin chân thành cảm ơn!

Trang 2

Mục lục

Lời nói đầu 1

TÓM TẮT ĐỒ ÁN 4

CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 6

I GIỚI THIỆU CHUNG 6

II GIỚI THIỆU VỀ CÁC DÒNG VI ĐIỀU KHIỂN THÔNG DỤNG 8

A : VI ĐIỀU KHIỂN AVR 8

1: GIỚI THIỆU 8

2: CẤU TẠO BÊN TRONG 11

B : VI ĐIỀU KHIỂN 8051 18

1: GIỚI THIỆU 18

2: CẤU TẠO BÊN TRONG 8051 20

C : VI ĐIỀU KHIỂN PIC 26

1: GIỚI THIỆU 26

2: CẤU TẠO BÊN TRONG 27

CHƯƠNG 2: THIẾT KẾ MẠCH 31

1 Chọn phương án thiết kế 31

2 Xây dựng sơ đồ khối của bộ KIT 32

3 Sơ đồ nguyên lý các khối trong mạch 32

Khối nguồn: 32

Khối CPU: 33

Khối ma trận phím : 33

Khối LCD : 34

Khối LED 7 thanh : 35

Khối LED đơn : 37

Khối Led ma trận: 38

Khối giao tiếp PC: 39

Khối đồng hồ thời gian thực: 39

Khối Loa: 41

Trang 3

Khối Rơle: 41

Khối động cơ DC 42

4 Sơ đồ nguyên lý toàn mạch 43

5 Mạch in PCB 44

6 Giới thiệu một vài linh kiện được lựa chọn 46

6.1: IC MAX-232 46

6.2: Cảm biến nhiệt độ LM35 46

6.3: Tụ điện 47

6.4: Transistor 47

6.5: Điện trở 49

6.6: Ngoài ra còn 1 số loại linh kiện khác 49

CHƯƠNG 3: MỘT SỐ BÀI THỰC HÀNH 51

Bài 1 Chương trình hiển thị led đơn 51

Bài 2 Chương trình hiển thị led 7 thanh 52

Bài 3 Chương trình hiển thị led ma trận 53

Bài 4 Chương trình hiển thị LCD 53

Bài 5 Chương trình đọc thời gian từ DS1307 hiển thị LCD 54

Bài 6 Chương trình dùng phím bấm điều khiển Led đơn 55

CHƯƠNG 4: KẾT LUẬN 57

Trang 4

TÓM TẮT ĐỒ ÁN

1 Tên đề tài:

Thiết kế mạch KIT thực hành cho vi điều khiển AVR

2 Sinh viên thực hiện:

để thực hành điều khiển

Về mặt thực tiễn: Sản phẩm có thể trở thành một thiết bị hỗ trợ công tác giảng dạy và học tập trong nhà trường, giúp sinh viên có thể tiếp cận việc học tập vi điều khiển một cách nhanh chóng và hiệu quả Thay vì dùng phần mềm mô phỏng khi lập trình thì có thể nạp trực tiếp vào vi điều khiển để quan sát

5 Nội dung chính:

Tìm hiểu về các dòng vi điều khiển, cấu trúc của chúng và cách sử dụng.Tìm hiểu các module thành phần, cách điều khiển các module, cách giao tiếp giữa module và vi điều khiển

Thiết kế chi tiết các module thành phần, ghép nối hệ thống vào mạch

Lập trình phần mềm, các bài tập thực hành, chạy thử và sửa lỗi

6 Kết quả chính cần đạt được:

+ Phần cứng: Cấu hình phần cứng phải rõ ràng, dàn trải Kích thước của thiết

bị gọn nhẹ, dễ dàng di chuyển và bảo quản Các thành phần của hệ vi điều khiển phảiđược thể hiện rõ ràng, dễ nhận biết

+ Các thành phần của thiết bị: Có đầy đủ các thành phần cơ bản của một hệ

vi điều khiển và các nguồn tài nguyên ngoại vi phong phú, cho phép người sử dụng

có thể tự do phát triển các ứng dụng của mình:

Trang 5

 Hiển thị trạng thái bằng đèn LED

 Giao tiếp với máy tính PC qua cổng truyền thông nối tiếp(COM) và song song (LPT)

+ Các bài thí nghiệm thực hiện trên thiết bị:

Các bài cơ bản: Giúp sinh viên làm quen với hệ lệnh của chip vi điều

khiển, nhập các lệnh và chạy chương trình để xem kết quả thực hiện của các lệnhđó

Các bài nâng cao: Gồm các bài thí nghiệm phức tạp hơn thực hiện việc

điều khiển các thành phần ngoại vi trên thiết bị Các bài thí nghiệm thực hiện việcđiều khiển một quá trình tương tự hoặc số, ví dụ: Điều khiển hiển thị đèn LED,LED 7 thanh, ma trận LED, điều khiển vào/ra số - tương tự, điều khiển động cơbước

+ Thực hiện các bài thí nghiệm:

Các bài tập mẫu xây dựng trước: Đi kèm với sản phẩm phần cứng là

một hệ thống các bài tập mẫu được xây dựng cho các ứng dụng trên thiết bị nhưđiều khiển các thành phần ngoại vi của thiết bị, điều khiển vào/ra tương tự - số Sinh viên có thể đọc hướng dẫn sử dụng và thực hiện các bài tập mẫu này trênthiết bị

Các bài tập do sinh viên tự lập trình: Sau khi đã nắm rõ cấu hình của

thiết bị và sơ đồ bộ nhớ của các thành phần trên thiết bị, sinh viên có thể tự lậptrình các bài thí nghiệm theo ý định riêng của mình

+ Công cụ lập trình:

Bằng máy tính PC: Có thể sử dụng các công cụ phát triển ví dụ như

phần mềm KEIL, CodevisionAVR, để lập các chương trình cho thiết bị từ máytính bằng ngôn ngữ C hoặc Assembly sau đó biên dịch thành file dạng Hexa hoặcBinary rồi nạp xuống hệ vi điều khiển của thiết bị thực hiện các chương trình đó

Trang 6

CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU

KHIỂN

I GIỚI THIỆU CHUNG

Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của một hệ thống Theo các tập lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó

Trong các thiết bị điện và điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển hoạt động của TV, máy giặt, đầu đọc laser, điện thọai, lò vi-ba … Trong hệ thống sản xuất

tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuyền tự động Các hệ thống càng “thông minh” thì vai trò của hệ vi điều khiển càng quan trọng

* Lịch sử phát triển của các bộ vi điều khiển

Bộ vi điều khiển là một loại vi xử lí trong tập hợp các bộ vi xử lý nói chung Bộ vi điều khiển được phát triển từ bộ vi xử lí, từ những năm 70 do sự phát triển và hoàn thiện về công nghệ vi điện tử dựa trên kỹ thuật MOS (Metal-Oxide-Semiconductor) , mức độ tích hợp của các linh kiện bán dẫn trong một chip ngày càng cao

Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do công ty texas Instruments vừa

là nơi phát minh vừa là nhà sản xuất Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một chipnhững chức năng cần thiết để xử lí chương trình theo một trình tự, còn tất cả bộ phận phụ trợ khác cần thiết như : bộ nhớ dữ liệu , bộ nhớ chương trình , bộ chuển đổi AID, khối điều khiển, khối hiển thị, điều khiển máy in, hối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí

Mãi đến năm 1976 công ty INTEL (Interlligen-Elictronics) Mới cho ra đời bộ vi điều khiển đơn chip đầu tiên trên thế giới với tên gọi 8048 Bên cạnh bộ xử lí trung tâm 8048 còn chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian các cổng vào và ra Digital trên một chip

Các công ty khác cũng lần lược cho ra đời các bộ vi điều khiển 8bit tương tự như 8048

và hình thành họ vi điều khiển MCS-48 (Microcontroller-sustem-48)

Đến năm 1980 công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn chip với tên gọi 8051 Và sau đó hàng loạt các vi điều khiển cùng loại với 8051 ra đời và hình thành

họ vi điều khiển MCS-51

Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết các công

ty hàng dẫn hàng đầu thế giới chế tạo Đứng đầu là công ty INTEL và rất nhiều công ty khác như : AMD, SIEMENS, PHILIPS, DALLAS, OKI …

* Một số loại vi điều khiển có trên thị trường:

- VĐK MCS-51: 8031, 8032, 8051, 8052,

- VĐK ATMEL: 89Cxx, AT89Cxx51

- VĐK AVR AT90Sxxxx, Atmega8/16/32/64,

Trang 7

+ ALU là bộ phận thao tác trên các dữ liệu

+ Bộ giải mã lệnh và điều khiển, xác định các thao tác mà CPU cần thực hiện

+ Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi

+Thanh ghi PC, lưu giũ địa chỉ của lệnh kế tiếp cần thực thi

+ Một tập các thanh ghi dùng để lưu thông tin tạm thời

ROM:

ROM là bộ nhớ dùng để lưu giữ chương trình ROM còn dùng để chứa số liệu các bảng, các tham số hệ thống, các số liệu cố định của hệ thống Trong quá trình hoạt động nội dung ROM là cố định, không thể thay đổi, nội dung ROM chỉ thay đổi khi ROM ở chế độ xóa hoặc nạp chương trình

RAM:

RAM là bộ nhớ dữ liệu Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu trữ các kết quả trung gian và kết quả cuối cùng của các phép toán, xử lí thông tin Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong các thao tác thu phát, chuyển đổi dữ liệu

BUS:

BUS là các đường dẫn dùng để di chuyển dữ liệu Bao gồm: bus địa chỉ, bus dữ liệu ,

và bus điều khiển

Bộ định thời: Được sử dụng cho các mục đích chung về thời gian

Watchdog: Bộ phận dùng để reset lại hệ thống khi hệ thống gặp “bất thường” ADC:

Bộ phận chuyển tín hiệu analog sang tín hiệu digital Các tín hiệu bên ngoài đi vào vi điều khiển thường ở dạng analog ADC sẽ chuyển tín hiệu này về dạng tín hiệu digital

mà vi điều khiển có thể hiểu được

Trang 8

II GIỚI THIỆU VỀ CÁC DÒNG VI ĐIỀU KHIỂN THÔNG DỤNG

A : VI ĐIỀU KHIỂN AVR

1: GIỚI THIỆU

 Lịch sử

AVR là các vi điều khiển 8 bit RISC (Reduced Instruction Set Computer) có cấu trúc Harvard được phát triển bởi Atmel năm 1996 AVR là một trong những họ vi điều khiển đầu tiên dùng bộ nhớ flash tích hợp trên chip để chứa chương trình, khác với ROM (chỉ có thể lập trình một lần),EPROM, hay EEPROM được dùng cho các họ vi điều khiển khác cùng thời điểm đó

 Các dòng chíp cơ bản (họ AVR thông thường được chia thành 4 dòng):

mở rộng các thiết bị như DMA, "Event System", và hỗ trợ mã hóa

Mở rộng thiết bị ngoại vi với DACs

d - Application specific AVRs:

MegaAVRs với các thành phần đặc biệt không có trong các sản phẩm khác của AVR như là LCD controller, USB controlller, PWN, CAN, v v

FPSLIC (Field Programmable System Level Integrated Circuit), một nhân AVR với một FPGA The FPSLIC dùng SRAM cho chương trình AVR, không giống như các dòng AVR khác Do đó FPSLIC có thể chạy với xung nhịp 50MHz

Trang 9

 Một số chip AVR thông dụng

AT90S1200

AT90S2313

AT90S2323 and AT90S2343

AT90S2333 and AT90S4433

AT90S4414 and AT90S8515

AT90S4434 and AT90S8535

Trang 10

 Sơ đồ khối cấu trúc AVR

Để có được hiệu năng cao nhất và khả năng làm việc song song , AVR sử dụng cấu trúc Harvard – với sự phân chia bộ nhớ và các bus cho chương trình và dữ liệu Các lệnh trong bộ nhớ chương trình thì được thực thi với 1 cấp sử lí liên lệnh đơn Trong khi lệnh được đang được xử lí thì lệnh tiếp theo được nạp tiếp từ bộ nhớ chương trình Khái niệm này kích hoạt lệnh để thực thi trong mỗi chu kì xung nhịp đồng hồ Bộ nhớ chương trình là

bộ nhớ flash có thể lập trình lại được ở trong hệ thống

Sự truy cập nhanh vào file của thanh ghi thì bao gồm 32*8 bít thanh ghi đa năng với 1 chu kì xung nhịp để quản lí thời gian Điều này cho phép điểu khiển trong một chu kì đơn của đơn vị sử lí số học ALU Thông thường trong hoạt động của ALU , 2 toán hạng địa chỉđược xuất ra từ file thanh ghi , quá trình điều khiển được thực thi và kết quả được lưu trữ lạitrong thanh ghi file – trong mỗi chu kì xung nhịp

Trang 11

2: CẤU TẠO BÊN TRONG

2 1 Cấu trúc bên trong

Trang 12

Lõi AVR bao gồm 1 tập hợp các lệnh cài đặt với 32 thanh ghi chung đa năng Tất cả

32 thanh ghi thì được nối trực tiếp với khối số học và logic (ALU ) nó cho phép 2 thanh ghi

Trang 13

độc lập được truy cập trong 1 lệnh thực thi trong một chu kì quét xung đồng hồ kết quả của cấu trúc này là có nhiều kiểu chế độ hiệu quả hơn trong khi vẫn đạt được tốc độ tối đa nhanh hơn 10 lần các bộ vi sử lý CISC thông thường

Atmega 32 cung cấp các tính năng sau đây :

+ Hiệu suất cao , tiết kiệm điện

+ Hoàn thiện cấu trúc RISC

- 131 lệnh hiệu quả - thực thi tất cả các chu kì đồng hồ đơn

- 32 * 8 thanh ghi chung đa năng + các thanh ghi điều khiển ngoại vi

- Đầy đủ các quá trình điều khiển tĩnh

- Nâng lên 16 MIPS dữ liệu tại 16 MHz

- Chip 2 nhân + Độ bền , sức chịu đựng cao , không thay đổi phân vùng nhớ

- 32K Bytes bộ nhở Flash có thể lập trình được trong hệ thống

- 1K Bytes EEPROM

- 1K Bytes bộ nhớ SRAM bên trong

- Chu kì ghi/xóa : 10000 Flash / 100000 EEPROM

- Độ bền dữ liệu 20 năm ở 85 độ / 100 năm ở 25 độ + Đặc điểm ngoại vi

- 2 bộ Timer /counter 8 bit với bộ đếm gộp trước riêng biệt và chế độ so sánh mẫu

- 1 bộ timer /counter 16 bit mở rộng với bộ đếm gộp trước chế độ so sánh mẫu và chế độ thu thập ( bắt dữ liệu )

- Bộ counter thời gian thực với bộ dao động ( oscillator ) riêng biệt

- 4 kênh PWM 8 bit

- 8 kênh , 10 bit ADC :

 8 kênh đầu cuối đơn

 7 kênh khác nhau ( vi phân )

- Bit định hướng với 2 dây giao diện nối tiếp

- Lập trình kép các USARTs nối tiếp

- Giao diện nối tiếp SPI chủ tớ

- Lập trình timer Watchdog với bộ dao động trên chip

- Bộ so sánh tương tự trên chip + cổng vào ra và dạng đóng gói

- 32 đường vào ra lập trình được

- 40 chân PDIP, 44 chân TQFP và 44 khối QFN/MLF+ Điện áp hoạt động : 4,5 – 5,5 V

+ Mức tốc độ xung nhịp : 0 – 16 Mhz

Trang 14

2 2 Cấu tạo chân

 Mô tả chức năng của các chân

Ở đây chúng ta tìm hiểu chíp đóng vỏ 44 chân

 Atmega32 gồm có 4 port I/O: port A, port B, port C và port D

 Port A gồm 8 chân từ PA0 đến PA7:là cổng vào tương tự cho chuyển đổi tương tự

sang số Nó cũng là cổng vào/ra hai hướng 8 bít trong trường hợp không sử dụng làm cổngchuyển đổi tương tự, có điện trở nối lên nguồn dương bên trong Port A cung cấp đườngđịa chỉ dữ liệu vao/ra theo kiểu hợp kênh khi dùng bộ nhớ bên ngoài

Trang 15

 Port B gồm 8 chân từ PB0 đến PB7:là cổng vào/ra hai hướng 8 bít, có điện trở kéo lên

bên trong Port B cung cấp các chức năng ứng với các tính năng đặc biệt của Atmega32

 Port C gồm các chân từ PC0 đến PC7:là cổng vào/ra hai hướng 8 bit, có điện trở nối

lên nguồn dương bên trong Port C cung cấp các địa chỉ lối ra khi sử dụng bộ nhớ bênngoài và đồng thời cung cấp ứng với các tính năng đặc biệt của Atmega32

 Port D gồm các chân từ PD0 đến PD7:là cổng vào/ra hai hướng 8 bit, có điện trở nối

lên nguồn dương bên trong Port D cung cấp các chức năng ứng với các tính năng đặc biệtcủa Atmega32

 Chân nguồn Vcc: điện áp nguồn nuôi của Atmega32 từ 4 5v đến 5 5v

 Chân Reset (chân số 4): reset trạng thái chip

 Chân GND: chân nối đất

 Chân XTAL1,XTAL2 là hai chân nối thạch anh ngoài (chân số 7 và chân số

8): Atmega32 hỗ trợ sử dụng thạch anh ngoài lên tới16MHz (trong đồ án chúng

em sử dụng thạch anh 8MHz)

 Chân ICP: là chân vào cho chức năng bắt tín hiệu cho bộ định thời/đếm 1

 Chân OC1B: là chân ra cho chức năng so sánh lối ra bộ định thời/đếm 1

 Chân INT1: chân ngõ vào ngắt

ATmega32 có các chế độ tiết kiệm năng lượng như sau:

 Chế độ nghỉ (Idle) CPU trong khi cho phép bộ truyền tin nối tiếp đồng

bộ USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ đếm bộ địnhthời, cổng SPI và hệ thống các ngắt vẫn hoạt động

 Chế độ Power-down lưu giữ nội dung của các thanh ghi nhưng làmđông lạnh bộ tạo dao động, thoát khỏi các chức năng của chip cho đếnkhi có ngắt ngoài hoặc là reset phần cứng

 Chế độ Power-save đồng hồ đồng bộ tiếp tục chạy cho phép chươngtrình sử dụng giữ được đồng bộ thời gian nhưng các thiết bị còn lại làngủ

 Chế độ ADC Noise Reduction dừng CPU và tất cả các thiết bị còn lạingoại trừ đồng hồ đồng bộ và ADC, tối thiểu hoá switching noise trongkhi ADC đang hoạt động

Trang 16

Chế độ standby, bộ tạo dao động (thạch anh/bộ cộng hưởng) chạy trong khi các thiết bị còn lại ngủ Các điều này cho phép bộ vi điều khiển khởi động rất nhanh trong chế độ tiêu thụ công suất thấp

2.3 Cấu trúc chung họ avr

CPU của AVR có chức năng bảo đảm sự hoạt động chính xác của các chươngtrình Do đó nó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán,điều khiển các thiết bị ngoại vi và quản lý ngắt

2.3.1.Cấu trúc tổng quát

AVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chương trình

và dữ liệu Các lệnh được thực hiện chỉ trong một chu kỳ xung clock Bộ nhớ chương trình được lưu trong bộ nhớ Flash

2.3.2 ALU

ALU làm việc trực tiếp với các thanh ghi chức năng chung Các phép toán được

thực hiện trong một chu kỳ xung clock Hoạt động của ALU được chia làm 3 loại: đại

số, logic và theo bit

2.3.3 Thanh ghi trạng thái

Đây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phép tính

số học và logic

Hình 1.2 Thanh ghi trạng thái SREG

C: Carry Flag ;cờ nhớ (Nếu phép toán có nhớ cờ sẽ được thiết lập)

Z: Zero Flag ;Cờ zero (Nếu kết quả phép toán bằng 0)

N: Negative Flag (Nếu kết quả của phép toán là âm)

V: Two’s complement overflow indicator (Cờ này được thiết lập khi tràn số bù

V, For signed tests (S=N XOR V)S: N

H: Half Carry Flag (Được sử dụng trong một số toán hạng sẽ được chỉ rõ sau)

Trang 17

T: Transfer bit used by BLD and BST instructions(Được sử dụng làm nơi chung gian trong các lệnh BLD,BST).

I: Global Interrupt Enable/Disable Flag (Đây là bit cho phép toàn cục ngắt Nếu bit này ở trạng thái logic 0 thì không có một ngắt nào được phục vụ.)

2.3.4 Các thanh ghi chức năng chung

Hình 1.3 Thanh ghi chức năng chung

Tiệp ghanh ghi ( register file ) : Tiệp 32 thanh ghi đa chức năng ( $0000

-$001F )

đã được nói ở trên, ngoài chức năng là các thanh ghi đa chức năng, thì các thanhghi từ R26 tới R31 từng đôi một tạo thành các thanh ghi 16 bit X, Y, Z được dùng làmcon trỏ trỏ tới bộ nhớ chương trình và bộ nhớ dữ liệu Thanh ghi con trò X, Y có thểdùng làm con trỏ trỏ tới bộ nhớ dữ liệu, còn thanh ghi Z có thể dùng làm con trỏ trỏ tới

bộ nhớ chương trình Các trình biên dịch C thường dùng các thanh ghi con trỏ này để

quản lí Data stack của chương trình C.

Trang 18

Hình 1.4 Chức năng con trỏ của các thanh ghi R26 –R31 2.3.5 Con trỏ ngăn xếp (SP)

Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghi chức năng đặc biệt 8 bit Có địa chỉ trong các thanh ghi chức năng đặc biệt là $3E (Trong

bộ nhớ RAM là $5E) Có nhiệm vụ trỏ tới vùng nhớ trong RAM chứa ngăn xếp

Hình 1.5 Thanh ghi con trỏ ngăn xếp

Khi chương trình phục vu ngắt hoặc chương trình con thì con trỏ PC được lưuvào ngăn xếp trong khi con trỏ ngăn xếp giảm hai vị trí Và con trỏ ngăn xếp sẽ giảm 1khi thực hiện lệnh push Ngược lại khi thực hiện lệnh POP thì con trỏ ngăn xếp sẽ tăng

1 và khi thực hiện lệnh RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2 Như vậy contrỏ ngăn xếp cần được chương trình đặt trước giá trị khởi tạo ngăn xếp trước khi mộtchương trình con được gọi hoặc các ngắt được cho phép phục vụ Và giá trị ngăn xếp

ít nhất cũng phải lơn hơn hoặc bằng 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi

Trang 19

B : VI ĐIỀU KHIỂN 8051

1: GIỚI THIỆU

Lịch sử của 8051

Vào năm 1981 Hãng Intel giới thiệu một số bộ vi điều khiển được gọi là 8051 Bộ

vi điều khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ định thời, một cổng nốitiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt trên một chíp Lúc ấy nó được coi là một “hệ thống trên chíp” 8051 là một bộ xử lý 8 bit đơn chip CMOS 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 được chia ra thành các dữ liệu 8 bit để cho xử lý 8051 có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit Ưu điểm hiệu suất cao, công suất tiêu thụ thấp Mặc dù 8051 có thể có một ROM trên chíp cực đại là 64 K byte, nhưng các nhà sản xuất lúc đó đã cho xuất xưởng chỉ với 4K byte ROM trên chíp

8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng biến thế nào của 8051 mà họ thích với điều kiện họ phải để mã lại tương thích với 8051 Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau và dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các nhà sản xuất Điều này quan trọng là mặc dù có nhiều biến thể khác nhau của 8051 về tốc độ và dung lương nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 8051 ban đầu về các lệnh Điều này có nghĩa là nếu ta viết chương trình của mình cho một phiên bản nào đó thì

nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào

 Sơ đồ khối họ 8051

Interrupt control : Điều khiển ngắt

Other registers : Các thanh ghi khác

128 Byte RAM : RAM 128 Byte

CPU: Đơn vị điều khiển trung tâm

Oscillator: Mạch dao động

Bus control: Đièu khiển Bus

I/O ports: Các port vào/ra

Serial port: port nối tiếp

Address/data: địa chỉ/ dữ liệu

Trang 20

Bố trí bên trong của họ 8051

* Các thành viên khác của họ 8051

Trang 21

2: CẤU TẠO BÊN TRONG 8051

2 1 Cấu trúc bên trong

Phần chính của vi điều khiển 8051 là bộ xử lý trung tâm (CPU: central processing unit) bao gồm :

- Các thanh ghi chức năng đặc biệt (SFR)

- Đơn vị logic học (ALU : Arithmetic Logical Unit ) cổng vào ra (I/O)

Trang 22

Ở cổng 3 cũng 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

2 2 Cấu tạo chân

Tùy theo khả năng (về kinh tế, kỹ thuật, …) mà các nhà sản xuất các sản phẩm ứngdụng cụ thể chọn một trong 3 kiểu chân do ATMEL đưa ra

Trang 23

 Mô tả chức năng của các chân

Ở đây chúng ta tìm hiểu chip đóng vỏ 40 chân với hai hàng chân PDIP

+ Chân Vcc (chân 40) :là VCC cấp điện áp nguồn cho Vi điều khiển 

Trang 24

+ Chân GND (chân 20) : nối GND (hay nối Mass)

+ Port 0 (từ chân 32 đến 39) có hai chức năng:

Chức năng xuất/nhập : các chân này được dùng để nhận tín hiệu từ bên ngoài vào

để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt

Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài

+ Port 1 (từ chân 1-8) : là một port I/O 8-bit hai chiều có pullup nội Đầu ra port 1 có

thể lái 4 đầu vào TTL Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội và có thể dùng làm đầu vào Khi vai trò là cổng nhập, những chân của port 1 bị kéo xuống thấp sẽ đổ dòng vì có nội trở kéo lên

Hơn nữa, P1 0 và P1 1 có thể được dùng như là đầu vào bộ đếm timer/counter 2 bên ngoài (P1 0/T2) và xung kích (P1 1/T2EX)

Trang 25

+ Port 2 (từ chân 21-28): là một port I/O 8-bit hai chiều có pullup nội Đầu ra port 2

có thể lái 4 đầu vào TTL Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội và có thể dùng làm đầu vào Khi vai trò là cổng nhập, những chân của port 2 bị kéo xuống thấp sẽ đổ dòng vì có nội trở kéo lên

+ Port 3 ( từ chân 10- 17) : là một port I/O 8-bit hai chiều có pullup nội Đầu ra port 3

có thể lái 4 đầu vào TTL Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội và có thể dùng làm đầu vào Khi vai trò là cổng nhập, những chân của port 3 bị kéo xuống thấp sẽ đổ dòng vì có nội trở kéo lên

+ Chân RESET (RST) (chân 9) : là ngõ vào Reset dùng để thiết

lập trạng thái ban đầu cho vi điều khiển Hệ thống sẽ được thiết lập lại

các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy

+ ALE/PROG (Address Latch Enable) (chân 30): ALE là xung

xuất cho phép chốt byte địa chỉ thấp khi truy cập bộ nhớ ngoài Chân này

còn là ngõ vào của xung lập trình (PROG) khi lập trình Flash Trong hoạt

động bình thường, ALE được phát xung với tần số 1/6 tần số dao động on-chip và có thể được dùng như xung thời gian chuẩn bên ngoài Tuy nhiên, cần chú ý là một xung ALE sẽ

bị mất khi truy cập bộ nhớ ngoài

+ PSEN (Program Store Enable) (chân 29): PSEN là xung strobe báo hiệu việc đọc

bộ nhớ chương trình ngoài, PSEN tích cực hai lần (mức thấp) mỗi chu kì máy, ngoại trừ hai xung PSEN bị mất khi truy xuất dữ liệu ngoài Khi thi hành chương trình trong RAM nội, PSEN sẽ ở mức thụ động (mức cao)

+ EA/V PP (External Access) (chân31) : Chân EA dùng để xác định chương trình thực

hiện được lấy từ ROM nội hay ROM ngoại Khi EA nối với logic 1(+5V) thì thực hiện chương trình lấy từ bộ nhớ nội, logic 0(0V) thì thực hiện chương trình lấy từ bộ nhớ ngoại

+ XTAL1 và XTAL2 (chân 18,19) : được sử dụng để nhận nguồn xung clock từ bên

ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để

tạo nguồn xung clock ổn định Tần số tối đa 24Mhz Tần số càng

lớn VĐK xử lý cành nhanh

Trang 26

Sơ đồ cấu trúc bên trong của chân Port xuất/nhập như sau:

Việc ghi đến 1 chân của Port sẽ nạp dữ liệu vào bộ chốt của Port, ngõ ra Q của bộ chốtđiều khiển một Transistor trường và Transistor này với chân của Port Khả năng phân chia đầu ra (Fan-out) của các Port 1,2 và 3 là 4 tải vi mạch TTL loại Schottky công suất thấp (LS) còn của Port 0 là 8 tải loại LS

2 4 Tổ chức bộ nhớ 

8051 có bộ nhớ được tổ chức theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng vẫn có thể kết nối với 64K byte bộ nhớ chương trình và 64K byte dữ liệu bên ngoài

Bộ nhớ trong 8051 bao gồm ROM và RAM

RAM bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt và được phân chia như sau:  RAM đa dụng từ 30H đến 7FH

 RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH

 Các bank thanh ghi có địa chỉ từ 00H đến 1FH

 Các thanh ghi chức năng đặc biệt từ 80H đến FFH

Trang 27

C : VI ĐIỀU KHIỂN PIC

1: GIỚI THIỆU

 Lịch sử :

PIC là tên viết tắt của “Programmable Intelligent computer” do hãng General

Instrument đặt tên cho con vi điều khiển đầu tiên của họ Hãng Microchip tiếp tục phát triểnsản phầm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khác nhau

PIC16F887A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hết tất

cả các ứng dụng thực tế Đây là dòng PIC khá dễ cho người mới làm quen với

PIC có thể học tập và tạo nền tản về họ vi điều khiển PIC của mình

 Đặc tính PIC 16F877A :

PIC 16F877A thuộc họ vi điều khiển 16Fxxx có các đặt tính sau:

- Ngôn ngữ lập trình đơn giản với 35 lệnh có độ dài 14 bit

- Tất cả các câu lệnh thực hiện trong 1 chu kì lệnh ngoại trừ 1 số câu lệnh rẽ nhánh thực hiện trong 2 chu kì lệnh Chu kì lệnh bằng 4 lần chu

kì dao động của thạch anh

- Bộ nhớ chương trình Flash 8Kx14 words, với khả năng ghi xoá khoảng

100 ngàn lần

- Bộ nhớ Ram 368x8bytes

- Bộ nhớ EFPROM 256x8 bytes

- Khả năng ngắt (lên tới 14 nguồn cả ngắt trong và ngắt ngoài)

- Ngăn nhớ Stack được chia làm 8 mức

- Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp

- Dải điện thế hoạt động rộng: 2 0V đến 5 5V

- Nguồn sử dụng 25mA

- Công suất tiêu thụ thấp: <0 6mA với 5V, 4MHz

20uA với nguồn 3V, 32 kHz

- Có 3 timer: timer0, 8 bit chức năng định thời và bộ đếm với hệ số tỷ lệ trước Timer1, 16 bit chức năng bộ định thời, bộ đếm với hệ số tỷ lệ

Trang 28

- Có 2 kênh Capture/ so sánh điện áp (Compare)/điều chế độ rộng xung PWM 10 bit / (CCP)

2: CẤU TẠO BÊN TRONG

2.1 : Cấu trúc bên trong

2.2 Sơ đồ chân

Sơ đồ chân dạng TQFP có 44 chân :

Trang 29

- 44 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân GND, 2

chân thạch anh và một chân dùng để RESET vi điều khiển

- 5 port của PIC16F877A bao gồm :

+ PORT B: 8 chân+ PORT D: 8 chân+ PORT C: 8 chân+ PORT A: 6 chân+ PORT E: 3 chân

a/ PORTA:

- PORTA (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều”

(bidirectional pin), nghĩa là có thể xuất và nhập được.Chức năng I/O này được điều khiển

Ngày đăng: 26/06/2014, 23:18

HÌNH ẢNH LIÊN QUAN

Hình 1.2 Thanh ghi trạng thái SREG - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Hình 1.2 Thanh ghi trạng thái SREG (Trang 15)
Hình 1.3 Thanh ghi chức năng chung - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Hình 1.3 Thanh ghi chức năng chung (Trang 16)
Hình 1.4  Chức năng con trỏ của các thanh ghi R26 –R31 2.3.5. Con trỏ ngăn xếp (SP) - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Hình 1.4 Chức năng con trỏ của các thanh ghi R26 –R31 2.3.5. Con trỏ ngăn xếp (SP) (Trang 17)
Hình 1.5 Thanh ghi con trỏ ngăn xếp - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Hình 1.5 Thanh ghi con trỏ ngăn xếp (Trang 17)
Sơ đồ cấu trúc bên trong của chân Port xuất/nhập như sau: - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Sơ đồ c ấu trúc bên trong của chân Port xuất/nhập như sau: (Trang 25)
Sơ đồ chân dạng TQFP có 44 chân : - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Sơ đồ ch ân dạng TQFP có 44 chân : (Trang 27)
3. Sơ đồ nguyên lý các khối trong mạch. - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
3. Sơ đồ nguyên lý các khối trong mạch (Trang 32)
Hình 3.1 :   Sơ đồ khối của bộ KIT thí nghiệm - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Hình 3.1 Sơ đồ khối của bộ KIT thí nghiệm (Trang 32)
Sơ đồ cấu tạo chân : - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Sơ đồ c ấu tạo chân : (Trang 46)
Sơ đồ ứng dụng - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
ng dụng (Trang 47)
Hình dáng - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
Hình d áng (Trang 49)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w