1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tiểu luận tên học phần vi điều khiển mô phỏng mạch điều khiển

16 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Mô Phỏng Mạch Điều Khiển
Tác giả Ngô Nhựt Nam
Người hướng dẫn Phạm Hùng Kim Khánh
Trường học Trường Đại Học Công Nghệ Tp. Hồ Chí Minh
Chuyên ngành Vi Điều Khiển
Thể loại Tiểu luận
Năm xuất bản 2024
Thành phố Tp.HCM
Định dạng
Số trang 16
Dung lượng 442,72 KB

Nội dung

CHƯƠNG 1: MÔ PHỎNG MẠCH ĐIỀU KHIỂN1.1 Phần mềm Proteus Proteus – một công cụ để thiết kế và cấu hình các thiết bị điện tử, mà là dựa trên vi điều khiển khác nhau của các gia đình khác nh

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ

MINH

BÀI TIỂU LUẬN TÊN HỌC PHẦN: VI ĐIỀU KHIỂN

Kỳ thi học kỳ 2B năm học 2023 -2024

Giảng viên hướng dẫn: Phạm Hùng Kim Khánh

SVTH: Ngô Nhựt Nam Mã SV:2282500766 Lớp: 22DOTJB1

Ngành: Công nghệ kỹ thuật ô tô

Khoa/Viện: Viện Công Nghệ Việt - Nhật

Tp.HCM, 18 tháng 6 năm 2024

Trang 2

LỜI CẢM ƠN

Chúng em chân thành cảm ơn thầy Phạm Hùng Kim Khánh đã chỉ dạy và hướng dẫn chúng em tận tình trong môn học “Vi Điều Khiển” và cùng sự nổ lực của tất cả thành viên nhóm đã hoàn thành đề tài này

Do kiến thức chuyên môn và thời gian nghiêm cứu đề tài có hạn nên không tránh khỏi các sai sót, em rất mong nhận được sự góp ý của các thầy giáo trong khoa

và toàn thể các bạn sinh viên để em hoàn thiện đâì tài tốt hơn

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

MỤC LỤ

Trang 3

CHƯƠNG 1: MÔ PHỎNG MẠCH ĐIỀU KHIỂN 6

1.1 Phần mềm Proteus 6

1.1.2 Thực hiện mô phỏng mạch đèn xi nhan bằng phần mềm proteus 8

1.2 Code vision AVR 8

1.2.1 Giới thiệu về phần mềm 8

1.3 Các mô dum được sử dụng để mô phỏng hệ thống đèn xi nhan 9

1.3.1 Vi điều khiển Atmega16 9

1.3.2 Màn hình LCD 16×2 12

1.3.3 Mạch cấp giao động ngoài cho vi điều khiển dùng thạch anh 14

1.3.4 Các mô dum khác 14

1.4 Thực hiện viết chương trình cho vi điều khiển atmega bằng phần mềm CodevisionAVR 14

Trang 4

DANH MỤC CÁC BẢNG

Trang 5

DANH MỤC CÁC ĐỒ THỊ, SƠ ĐỒ, HÌNH ẢNH

Trang 6

CHƯƠNG 1: MÔ PHỎNG MẠCH ĐIỀU KHIỂN

1.1 Phần mềm Proteus

Proteus – một công cụ để thiết kế và cấu hình các thiết bị điện tử, mà là dựa trên vi điều khiển khác nhau của các gia đình khác nhau Phần mềm này cho phép giới thiệu các mạch trong trình soạn thảo đồ họa, mô hình hoạt động và phát triển các bảng mạch in, kể cả hình ba chiều Proteus cung cấp sự hỗ trợ của Spice-mô hình, mà thường được đưa ra bởi các nhà sản xuất linh kiện điện tử Phần mềm này cũng tương thích với một số lượng lớn các mô hình thiết bị kỹ thuật số và analog Proteus cho phép để thực hiện các thử nghiệm cho những sai lầm có thể vào cuối năm công việc trong hội đồng quản trị

1.1.1.1 Chức năng cơ bản của Proteus:

 Dễ dàng tạo ra một sơ đồ nguyên lý đơn giản từ các mạch điện đơn giản, đến các mạch có bộ lập trình vi sử lý

 Dễ dàng chỉnh sử các đặc tính của linh kiện trên sơ đồ nguyên lý: chỉnh sửa số bước của động cơ bước, chỉnh sửa nguồn nuôi cho mạch, thay đổi tần số hoạt động cơ bản của vi sử lý

 Công cụ hỗ trợ kiểm tra lỗi thiết kế trên sơ đồ nguyên lý Xem và lưu lại phần báo lỗi

 Chạy mô phỏng và phân tích các tính chất của mạch điện cơ bản Công cụ hỗ trợ cho việc chạy và mô phỏng rất mạnh và chính xác Các công cụ và đồ thị hỗ trợ mạch cho việc phân tích tần số, sóng, âm thanh… không những thế phần mềm còn có thêm các máy phân tích tù đơn giản như: đồng hồ đo vôn, ampe, đến các máy đo dao động, máy tạo sóng dao động

 Ngoài ra Proteus còn cung cấp cho người sử dụng các công cụ mạnh mà các phần mềm khác hầu như không có Chẳng hạn thư viện Led với các loại màu sắc khác nhau kể cả led 7 đoạn Nhưng phần hiển thị mạnh nhất mà Proteus cung cấp là LCD, nó có thể mô phỏng cho rất nhiều LCD từ đơn giản đến phức tạp

 Một cái ưu điểm nữa của Proteus là có thể mô phỏng công cụ phát và thu tín hiệu từ các mạch giao tiếp với máy tính qua công cụ RS232 Trong đó người sử dụng có thể điều khiển được quá trình truyền phát, tốc độ Baud giúp cho người lập trình có thể mô phỏng các mặt truyền phát tín hiệu

Trang 7

 Một điểm mạnh khác của Proteus là cung cấp cho người sử dụng công cụ biên dịch cho các họ vi sử lý như MSC51, AVR, Qua đó tạo ra các tập tin HEX dùng để nạp cho vi sử lý và tập tin DSI dùng để xem và chạy kiểm tra từng bước trong chương trình mô phỏng

 Đối với các mạch vi sử lý Proteus không những cung cấp hình ảnh thực tế của các linh kiện xuất mà còn cung cấp cho người lập trình rất nhiều các cửa sổ thông báo các nội dung của bộ nhớ, con trỏ, thanh ghi,

 Proteus có một thư viện khá lớn với hơn 6000 linh kiện các loại và ngày càng được bổ sung Ngoài ra còn có keypad

1.1.1.2 Khả năng ứng dụng

 Khả năng ứng dụng chính của Proteus là mô phỏng , phân tích các kết quả từ các mạch nguyên lý Proteus giúp cho người sử dụng có thể thấy trước mạch thiết kế chạy đúng hay sai trước khi thiết kế trên bo mạch

 Các công cụ phục vụ cho việc phân tích mạch có độ chính xác khá cao như đo vôn hay ampe, máy đo dao động

 Khả năng áp dụng chương trình Proteus vào trong giảng dạy là rất tốt cho các thầy cũng như cho sinh viên học tập kỹ thuật điện tử vì hầu như Proteus cung cấp gần như đầy đủ từ cơ bản đến phức tạp cho người học điện tử và vi xử lý

 Đối với các sinh viên thì Proteus nếu mà được sử dụng rộng dãi thì nó gần như

là thầy dạy cho chính họ ở nhà Nó giúp cho các sinh viên tự học, tự nhiên cứu

và thiết kế thử các phần đã học và chạy xem kết quả và rút ra các bài học tốt Điều cơ bản nhất là tiết kiệm tiền cho sinh viên không có điều kiện mà lại ham học , ham nghiên cứu

 Trong thực tế hiện nay hầu như phòng thí nhiệm điện tử nào xây dựng lên cũng phải tốn không ít ngân sách Nếu Proteus được ứng dụng qua một máy tính các thầy có thể cung cấp cho sinh viên hầu như toàn bộ các mạch điện đơn giản ,hơn nữa có thể tạo ra các KIT vi xử lý dùng phục vụ cho việc thực hành

vi xử lý Qua đó các thầy có thể cung cấp cho các sinh viên các mạch điện tử phục vụ trong quá trình học tập từ đó sinh viên có thể tự nguyên cứu các bài thực hành trước ở nhà trước khi thực hành thực tế trên mô hình thật sự và kết quả chắc chắn không nhỏ

1.1.1.3 Nhược điểm :

 Phần mềm do công ty của nước ngoài nên tính chất bản quyền khá cao, và hầu như ít được biết đến nên rất khó kiếm ngoài thực tế

 Trong khi thiết kế có nhiều phần trong Proteus chạy không theo một quy tắc nào làm người sử dụng đôi lúc gặp khó khăn + Sử dụng khá phức tạp nhất là

Trang 8

đối với các mạch vi xử lý hay các mạch cần chỉnh sửa các tính chất các linh kiện (do quá nhiều tính chất phải điều chỉnh)

 Phần mềm do công ty nước ngoài viết nên không có tài liệu nào cung cấp hay hướng dẫn sử dụng

 Hướng dẫn sử dụng trong Proteus hoàn toàn bằng tiếng anh nên đòi hỏi người

sử dụng cũng phải có một nền tảng tiếng anh cơ bản nếu muốn sử dụng nó một cách hiệu quả (nhất là tiếng anh chuyên ngành về điện tử

1.1.2 Thực hiện mô phỏng mạch đèn xi nhan bằng phần mềm proteus.

Hình 2.1 Mô phỏng hệ thống đèn xi nhan

1.3.1 Vi điều khiển PIC 16F877A

Atmega16 là vi điều khiển 8 bit dựa trên kiến trúc RISC Với khả năng thực hiện mỗi lệnh trong vòng một chu kỳ xung clock, Atmega16 có thể đạt được tốc độ 1MIPS trên mỗi MHZ

Trang 9

Ngoài ra Atmega 16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khi ghi, 512 byte bộ nhớ EEPROM, 1KB bộ nhớ SRAM, 32 thanh ghi chức năng chung 32 đường vào ra chung 3 bộ định thời/bộ đếm, ngắt nội và ngắt ngoài, USART, giao tiếp nối tiếp 2 dây, 8 kênh ADC 10 bit, … Atmega 16 hỗ trợ đầy đủ các

chương trình và công cụ phát triển hệ thống như trình dịch C, macro asemblers, chương trình mô phỏng sửa lỗi, …

Hình 2.2 Hình ảnh thực ế của một con atmega16.

Cấu trúc các nhân

CPU của Atmega16 có chức năng bảo đảm sự hoạt động chính xác chương trì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

Atmega 16 gồm có 40 chân :

Trang 10

 Chân 1 đến 8 : Cổng nhập xuất dữ liệu song song B ( PORTB ) nó có thể được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu

 Chân 9 : RESET để đưa chip về trạng thái ban đầu

 Chân 10 : VCC cấp nguồn nuôi cho vi điều khiển

 Chân 11,31 : GND 2 chân này được nuôi cho vi điều khiển

 Chân 12,13 : 2 chân XTAL2 và XTAL1 dùng để đưa xung nhịp từ bên ngoài vào chip

 Chân 14 đến 21 : Cổng nhập xuất dữ liệu song song D ( PORTD ) nó có thể được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu

 Chân 30 : AVCC cấp điện áp so sánh cho bộ ADC

 Chân 32 : AREF điện áp so sánh tín hiệu vào ADC

 Chân 33 đến 40 : Cổng vào ra dữ liệu song song A ( PORTA ) ngoài ra nó còn được tính hợp bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC (analog to digital converter )

 PORTA : là các chân số 33 đến 40 Là cổng vào ra song song 8 bit khi không dùng ở chế độ ADC Bên trong có sẵn các điện trở kéo, khi PORTA là output thì các điện trở kéo không hoạt động, khi PORTA là input thì các điện trở kéo được kích hoạt

 PORTB : là các chân số 1 đến 8 Nó tương tự như PORTA khi sử dụng vào ra song song Ngoài ra các chân của PORTB còn có các chức năng đặc biệt sẽ được nhắc đến sau

 PORTC : là các chân 22 đến 30 Cũng giống PORTA và PORTB khi là cổng vào ra song song Nếu giao tiếp JTAG được bật, các trở treo ở các chân PC5(TDI),PC3(TMS),PC2(TCK) sẽ hoạt động khi reset

 PORTD : là các chân 13 đến 21 Cũng là 1 cổng vào ra song song giống các PORT khác, ngoài ra nó còn có 1 số tính năng đặc biệt khác

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

Trang 11

1.3.2 Màn hình LCD 16×2

Hình 2.3 Màn hình LCD.

Bảng 2.1Bảng tên và chức năng của các chân trên màn hình LCD.

Trang 12

Chân VEE là để điều chỉnh độ tương phản của màn hình LCD và độ tương phản có thể được điều chỉnh bằng cách thay đổi điện áp ở chân này Thực hiện bằng cách nối một đầu của biến trở với Vcc (5V), đầu kia với GND và nối chân giữa của biến trở với chân Vee Xem sơ đồ mạch để hiểu rõ hơn

Hình 2.4 điều chỉnh độ tương phản của màn hình LCD

Chân RW có nghĩa là để chọn giữa chế độ đọc và ghi Mức cao ở chân này cho phép chế độ đọc và mức thấp ở chân này cho phép chế độ ghi

Chân E là để kích hoạt các mô-đun Chuyển đổi từ cao xuống thấp ở chân này

sẽ cho phép mô-đun

DB0 đến DB7 là các chân dữ liệu Dữ liệu được hiển thị và lệnh được đặt trên các chân này

LED+ là cực dương của đèn LED phía sau và chân này phải được kết nối với Vcc thông qua một điện trở giới hạn dòng thích hợp LED- là cực âm của đèn LED phía sau và chân này phải được nối đất

Trang 13

1.3.3 Mạch cấp giao động ngoài cho vi điều khiển dùng thạch anh.

Hình 2.5 Mạch cấp giao động ngoài cho vi điều khiển dùng thạch anh.

1.3.4 Các mô dum khác.

 Tụ điện

 Transistor

 Bóng đèn

 Điện trở

1.4 Thực hiện viết chương trình cho vi điều khiển atmega bằng phần mềm CodevisionAVR

#include <mega16.h>

// Alphanumeric LCD Module functions

#include <alcd.h>

// Declare your global variables here

#include <delay.h>

void main(void)

{

// Declare your local variables here

Trang 14

// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=Out

Func0=Out

// State7=T State6=T State5=T State4=T State3=T State2=T State1=0 State0=0 PORTC=0x00;

DDRC=0x03;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0x00;

// Alphanumeric LCD initialization

// Connections specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:

// RS - PORTD Bit 0

// RD - PORTD Bit 1

Trang 15

// EN - PORTD Bit 2

// D4 - PORTD Bit 4

// D5 - PORTD Bit 5

// D6 - PORTD Bit 6

// D7 - PORTD Bit 7

// Characters/line: 8

lcd_init(10);

PORTC.0=0;

PORTC.1=0;

while (1)

{

if(!PINB.2)

{

lcd_gotoxy(0,0);

lcd_putsf("HAZARD "); PORTC.0=1;PORTC.1=1; delay_ms(500);

PORTC.0=0;PORTC.1=0; lcd_clear();

delay_ms(500);

}

else

{

if(!PINB.0)

{

lcd_gotoxy(0,0);

lcd_putsf("TURN LEFT "); PORTC.0=1;

delay_ms(500);

PORTC.0=0;

lcd_clear();

Trang 16

delay_ms(500);

}

else

PORTC.0=0;

if(!PINB.1)

{

lcd_gotoxy(0,0);

lcd_putsf("TURN RIGHT"); PORTC.1=1;

delay_ms(500);

PORTC.1=0;

lcd_clear();

delay_ms(500);

}

else

PORTC.1=0;

}

if(PINB.0 && PINB.1 && PINB.2) lcd_clear();

}

}

Ngày đăng: 15/08/2024, 13:56

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

TÀI LIỆU LIÊN QUAN

w