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

Báo cáo hệ thống nhúng 2022 UTC ĐHGTVT

127 20 0

Đ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 127
Dung lượng 1,96 MB

Nội dung

Báo cáo Bài Tập Lớn Hệ thống nhúng đại học Giao Thông Vận TảiVới quá trình công nghiệp hóa hiện đại hóa như hiện nay thì việc áp dụng các công nghệ vi xử lý là một vấn đề khá là quan trọng. Ở học kỳ trước chúng ta đã có học qua môn Vi Xử Lý và ở kỳ này là môn Điều Khiển Nhúng. Với mức độ tiếp cận sâu hơn và tính thực tế cao hơn thì đây là một trong những môn rất quan trọng với các sinh viên của ngành Tự Động Hóa. Với mỗi dòng chip khác nhau thì datasheet của nó lại khác nhau hoàn toàn vì vậy khi chúng ta có thể tìm hiểu vài ba dòng chip rồi thì chúng ta không còn gặp phải khó khăn khi tiếp cận với một dòng chip nào mới cả. Sau một thời gian khá dài học về dòng điều khiển PIC16877A và các bài toán lập trình nhúng thì hôm nay nhóm chúng em đã tổng hợp được những bài lập trình có liên quan để viết nên bài báo cáo này. Trong quá trình làm gặp phải khá nhiều khó khăn nhưng với sự giúp đỡ nhiệt tình của thầy thì chúng em cũng đã hoàn thành được bản báo cáo này. Tuy vậy nhưng trong bản báo cáo này không thể không có sai sót do kiến thức của chúng em còn hạn chế. Rất mong được sự đóng góp của quý thầy cô để bản báo cáo tốt hơn.

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA ĐIỆN ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN HỌC *********** BÁO CÁO MÔN: HỆ THỐNG ĐIỀU KHIỂN NHÚNG NHÓM Giáo viên hướng dẫn :TS Nguyễn Văn Tiềm Nhóm thực : Đỗ Vương Anh Chu Văn Tưởng : Đinh Đức Lượng Nguyễn Kim Trường : Nguyễn Văn Toàn Cao Văn Hiếu : Ưng Sỹ Sang Nguyễn Anh Tuấn : Trần Văn Thế Nguyễn Xuân Tiến : Tạ Quang Vinh Đỗ Ngọc Hiệp : Trần Ngọc Tuấn Nguyễn Xuân Thao Hà Nội – 27/3/2017 LỜI NĨI ĐẦU Với q trình cơng nghiệp hóa đại hóa việc áp dụng công nghệ vi xử lý vấn đề quan trọng Ở học kỳ trước có học qua mơn Vi Xử Lý kỳ môn Điều Khiển Nhúng Với mức độ tiếp cận sâu tính thực tế cao mơn quan trọng với sinh viên ngành Tự Động Hóa Với dịng chip khác datasheet lại khác hồn tồn tìm hiểu vài ba dịng chip khơng cịn gặp phải khó khăn tiếp cận với dòng chip Sau thời gian dài học dòng điều khiển PIC16877A tốn lập trình nhúng hơm nhóm chúng em tổng hợp lập trình có liên quan để viết nên báo cáo Trong q trình làm gặp phải nhiều khó khăn với giúp đỡ nhiệt tình thầy Tiềm chúng em hồn thành báo cáo Tuy báo cáo khơng thể khơng có sai sót kiến thức chúng em cịn hạn chế Rất mong đóng góp q thầy để báo cáo tốt Chúng em xin chân thành cảm ơn! Mục lục Lời nói đầu Phần I: Khái quát VXL PIC16F877A a Giới thiệu b Sơ đồ khối c Sơ đồ chân chức chân .6 Phần II:CODE- Mơ lập trình nhúng 10 Bài 1: Ngắt – chạy hiệu ứng led 10 Bài 2: Đồng hồ thời gian thực sử dụng Timer 15 Bài 3: Counter – Đếm hiển thị lên LCD 21 Bài 4: Ngắt Timer 1- Chớp tắt led 28 Bài 5: Đèn giao thông sử dụng Timer 32 Bài 6: ADC – Đo nhiệt độ LM35 38 Bài 7: PWM – Điều khiển động DC 44 Bài 8: UART – Truyền thông vi điều khiển máy tính .51 Bài 9: Đo tốc độ điều khiển động Encoder 57 Bài 10: Truyền thông I2C – Master Slave .65 Bài 11: Truyền thông SPI 72 Bài 12: Giao tiếp với Led Matrix 8x8 79 Bài 13: Giao tiếp với Keypad – Máy tính bỏ túi 87 Phần I: Khái quát VXL PIC16F877A a Giới thiệu PIC16F877A có 40/44 chân với cấu trúc sau: • Có PORT xuất/ nhập • Có kênh chuyển đổi A/D • Được bổ sung port tử song song • Có nhớ gap nối so với PIC16F873A/PIC16F874A Tóm tắt đặc điểm PIC16F877A b Sơ đồ khối Sơ đồ khối PIC gồm khối • Khối ALU • Khối nhớ chứa chương trình • Khối nhớ chứa liệu EPROM • Khối nhớ file ghi RAM • Khối giải mã lệnh điều khiển • Khối ghi đặc biệt • Khối ngoại vi timer • Khối giao tiếp nối tiếp • Khối chuyển đổi tín hiệu tương tự sang tín hiệu số • Khối PORT xuất nhập c Sơ đồ chân chức chân • Chân OSC1/CLKI (13): ngõ vào kết nối với mạch dao động thạch anh ngõ vào nhận xung clock bên  OSC1: ngõ vào dao động thạch anh ngõ vào nguồn xung bên Ngõ có mạch Schmitt Trigger sử dụng dao động RC  CLKI: ngõ vào nguồn xung bên ngồi • Chân OSC2/CLKO (14): ngõ dao động thạch anh ngõ cấp xung clock  OSC2: ngõ dao động thạch anh Kết nối với thạch anh cộng hưởng  CLKO: chế độ RC, ngõ OSC2 ¼ tần số OSC1 tốc độ chu kỳ lệnh • Chân MCLR/ Vpp (1): có chức  MCLR: ngõ vào reset tích cực mức thấp  Vpp: lập trình cho PIC đóng vai trị ngõ vào nhận điện áp lập trình • Chân RA0/AN0 (2): có chức  RA0: xuất nhập số  AN0: ngõ vào tương tự kênh thứ • Chân RA1/AN1 (3): có chức  RA1: xuất nhập số  AN1: ngõ vào tương tự kênh thứ • Chân RA2/AN2/VREF-/CVREF (4):  RA2: xuất nhập số  AN2: ngõ vào tương tự kênh thứ  VREF- :ngõ vào điện áp chuẩn (thấp) A/D  CVREF: Điện áp tham chiếu VREF ngõ so sánh • Chân RA3/AN3/VREF+ (5):  RA3: xuất nhập số  AN3: ngõ vào tương tự kênh thứ  VREF+: ngõ vào điện áp chuẩn (cao) A/D • Chân RA4/TOCKI/C1OUT (6):  RA4: xuất nhập số  TOCKI: ngõ vào xung clock bên cho timer  C1OUT: ngõ so sánh • Chân RA5/AN4/SS/C2OUT (7):  RA5: xuất nhập số  AN4: ngõ vào tương tự kênh thứ  SS: ngõ vào chọn lựa SPI phụ  C2OUT: ngõ so sánh • Chân RB0/INT (33):  RB0: xuất nhập số  INT: ngõ vào nhận tín hiệu ngắt ngồi • Chân RB1 (34): xuất nhập số • Chân RB2 (35): xuất nhập số • Chân RB3/PGC (36):  Chân RB3: xuất nhập số  PGC: mạch gỡ rối xung clock lập trình ICSP • Chân RB4 (37): xuất nhập số • Chân RB5 (38): xuất nhập số • Chân RB6/PGC (39):  RB6: xuất nhập số  PGC: mạch gỡ rối xung clock lập trình ICSP • Chân RB7/PGD (40):  RB7: xuất nhập số  PGD: mạch gỡ rối liệu lập trình ICSP • Chân RC0/T1OCO/T1CKI (15):  RC0: xuất nhập số  T1OCO: ngõ vào dao động timer1  T1CKI: ngõ vào xung clock bên timer1 • Chân RC1/T1OSI/CCP2 (16):  RC1: xuất nhập số  T1OSI: ngõ vào dao động timer  CCP2: ngõ vào Capture2, ngõ Compare2, ngõ PWM2 • Chân RC2/CCP1 (17):  RC2: xuất nhập số  CCP1: ngõ vào Capture1, ngõ Compare1, ngõ PWM1 • Chân RC3/SCK/SCL (18):  RC3: xuất nhập số  SCK: ngõ vào xung clock nối tiếp đồng bộ/ ngõ chế độ SPI  SCL: ngõ vào xung clock nối tiếp đồng bộ/ ngõ chế độ I2C • Chân RC4/SDI/SDA (23):  RC4: xuất nhập số  SDI: liệu vào SPI  SDA: xuất/nhập liệu I2C • Chân RC5/SDO (24):  RC5: xuất nhập số  SDO: liệu SPI • Chân RC6/TX/CK (25):  RC6: xuất nhập số  TX: truyền bất đồng USART  CK: xung đồng USART • Chân RC7/RX/DT (26):  RC7: xuất nhập số  RX: nhận bất đồng USART  DT: liệu đồng USART • Chân RD0/PSP0 (19):  RD0: xuất nhập số  PSP0: liệu port tớ song song • Chân RD1/PSP1 (20):  RD1: xuất nhập số  PSP1: liệu port tớ song song • Chân RD2/PSP2 (21):  RD2: xuất nhập số  PSP2: liệu port tớ song song • Chân RD3/PSP3 (22):  RD3: xuất nhập số  PSP3: liệu port tớ song song • Chân RD4/PSP4 (27):  RD4: xuất nhập số  PSP4: liệu port tớ song song • Chân RD5/PSP5 (28):  RD5: xuất nhập số  PSP5: liệu port tớ song song • Chân RD6/PSP6 (29):  RD6: xuất nhập số  PSP6: liệu port tớ song song • Chân RD7/PSP7 (30):  RD7: xuất nhập số  PSP7: liệu port tớ song song • Chân RE0/RD/AN5 (8):  RE0: xuất nhập số  RD: điều khiển đọc port tớ song song  AN5: ngõ vào tương tự kênh thứ • Chân RE1/WR/AN6 (9):  RE1: xuất nhập số  WR: điều khiển ghi port tớ song song  AN6: ngõ vào tương tự kênh thứ • Chân RE2/CS/AN7 (10):  RE2: xuất nhập số  CS: chip chọn lựa điều khiển port tớ song song  AN7: ngõ vào tương tự kênh thứ • Chân VDD (11,32) VSS (12,31): chân nguồn PIC { vaodulieu(hang[i+k+8]); vaodulieu(hang[i+k]); STR=0; //Cấp xung xuất liệu STR=1; DATA=cot[k]; //Bật tắt led delay_ms(5); DATA=0x00; } } } } // -CHẠY CHỮ TỪ TRÁI SANG PHẢI if(LTR==0) //Tương tự { delay_ms(50); while (LTR ==0); for(i=24;i>0;i ) { for(j=0;j

Ngày đăng: 11/03/2022, 15:05

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w