1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình Kỹ thuật vi điều khiển nâng cao (Nghề: Công nghệ kỹ thuật điều khiển và tự động hóa - Trình độ Cao đẳng) - Trường Cao đẳng Nghề An Giang

69 12 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 đề Giáo trình Kỹ thuật vi điều khiển nâng cao (Nghề: Công nghệ kỹ thuật điều khiển và tự động hóa - Trình độ Cao đẳng)
Tác giả Lý Đa Tạo
Trường học Trường Cao Đẳng Nghề An Giang
Chuyên ngành Công nghệ kỹ thuật điều khiển và tự động hóa
Thể loại Giáo trình
Năm xuất bản 2022
Thành phố An Giang
Định dạng
Số trang 69
Dung lượng 2,27 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • BÀI 1: NGÔN NGỮ C 10 (7)
  • BÀI 2: BÀN PHÍM MA TRẬN 19 (7)
  • BÀI 3: THỜI GIAN THỰC 31 (7)
  • BÀI 4: ĐIỀU KHIỂN ADC VÀ DAC 39 (8)
  • BÀI 5: ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ 43 (8)
  • BÀI 6: ĐIỀU KHIỂN ĐỘNG CƠ DC 46 (8)
  • BÀI 7: GIAO TIẾP MÁY TÍNH 50 (8)
  • BÀI 8: HỌ VI ĐIỀU KHIỂN PIC 16Fxx 58 (9)
  • BÀI 9: LẬP TRÌNH ARDUINO 61 (9)

Nội dung

Giáo trình Kỹ thuật vi điều khiển nâng cao gồm các nội dung chính sau: Ngôn ngữ C; Bàn phím ma trận; Thời gian thực; Điều khiển ADC và DAC; Đo và điều khiển nhiệt độ; Điều khiển động cơ DC; Giao tiếp máy tính; Họ vi điều khiển PIC 16Fxx; Lập trình Arduino. Mời các bạn cùng tham khảo!

NGÔN NGỮ C 10

Thời gian : 12 giờ (LT: 4 giờ ; TH: 8 giờ)

- Trình bày được phương pháp lập trình ngôn ngữ C trong môi trường Keil C

- Sử dụng phần mềm Keil C đúng yêu cầu kỹ thuật

- Lập trình điều khiển cho vi điều khiển bằng ngôn ngữ C một cách thành thạo theo yêu cầu

I Tìm hiểu ngôn ngữ C, phần mềm Keil C

II Lập trình vi điều khiển bằng ngôn ngữ C

III Thực hành với ngôn ngữ C

BÀN PHÍM MA TRẬN 19

Thời gian : 8 giờ (LT: 3 giờ ; TH: 5 giờ)

- Trình bày được cấu trúc của bàn phím ma trận, kết nối với vi điều khiển;

- Giải thuật lập trình giao tiếp giữa bàn phím ma trận và vi điều khiển;

- Viết chương trình giao tiếp bàn phím ma trận đúng theo yêu cầu kỹ thuật

I Cấu tạo bàn phím ma trận

II Kết nối bàn phím ma trận với vi điều khiển

III Giải thuật quét theo mã phím

IV Thực hành viết chương trình quét phím

THỜI GIAN THỰC 31

Thời gian : 12 giờ (LT: 4 giờ ; TH: 8 giờ)

- Trình bày cấu tạo và chức năng của thời gian thực;

- Kết nối IC thời gian thực và vi điều khiển;

- Truy xuất bộ nhớ thời gian thực theo yêu cầu;

- Viết chương trình đồng hồ thời gian thực theo yêu cầu

I Sơ đồ chức năng các chân của IC thời gian thực

II Cấu trúc bên trong IC, các thanh ghi IC

III Kết nối IC thời gian thực với vi điều khiển

IV Giải thuật truy xuất IC thời gian thực

ĐIỀU KHIỂN ADC VÀ DAC 39

Thời gian : 12 giờ (LT: 3 giờ ; TH: 9 giờ)

- Trình bày chức năng IC ADC và DAC;

- Kết nối vi điều khiển và truy xuất dữ liệu IC ADC và DAC;

- Giải thuật và lập trình biến đổi ADC và DAC theo yêu cầu

I Tìm hiểu IC ADC và IC DAC

II Kết nối IC ADC và IC DAC với vi điều khiển

III Giải thuật và lập trình

ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ 43

Thời gian : 12 giờ (LT: 3 giờ ; TH: 9 giờ)

- Trình bày cấu tạo và nguyên lý hoạt động của các loại cảm biến nhiệt;

- Thực hiện kết nối và giải thuật lập trình với cảm biến nhiệt;

- Viết được chương trình điều khiển theo yêu cầu

I Tìm hiểu các loại cảm biến nhiệt (LM335)

II Sơ đồ kết nối cảm biến với vi điều khiển

III Giải thuật và lập trình

IV Thực hành đo và điều khiển nhiệt độ

ĐIỀU KHIỂN ĐỘNG CƠ DC 46

Thời gian : 12 giờ (LT: 4 giờ ; TH: 8 giờ)

- Trình bày cấu tạo và nguyên lý hoạt động của cầu H;

- Thực hiện kết nối cầu H và vi điều khiển đúng yêu cầu kỹ thuật;

- Trình bày cấu tạo và phương pháp điều khiển động cơ bước;

- Thực hiện lập trình điều khiển động cơ DC và động cơ bước đúng yêu cầu kỹ thuật

I Tìm hiểu mạch công suất cầu H

II Kết nối động cơ với vi điều khiển

III Tìm hiểu động cơ bước

IV Kết nối động cơ bước với vi điều khiển

V Thực hành điều khiển động cơ DC và động cơ bước

GIAO TIẾP MÁY TÍNH 50

Thời gian : 12 giờ (LT: 4 giờ ; TH: 8 giờ)

- Trình bày cấu tạo và các chế độ làm việc của cổng truyền thông nối tiếp theo nội dung đã học;

- Thực hiện cổng truyền thông nối tiếp đúng yêu cầu kỹ thuật;

- Thực hiện thu phát dữ liệu nối tiếp bằng 8051 đạt yêu cầu kỹ thuật

I Tìm hiểu chuẩn RS232 và IC Max232

II Sơ đồ kết nối vi điều khiển và máy tính

III Giải thuật và viết chương trình

IV Thực hành giao tiếp máy tính

HỌ VI ĐIỀU KHIỂN PIC 16Fxx 58

Thời gian : 20 giờ (LT: 8 giờ ; TH: 12 giờ)

- Trình bày cấu trúc của vi điều khiển PIC;

- Trình bày sơ đồ chân và tổ chức bộ nhớ của PIC đúng yêu cầu kỹ thuật;

- Truy xuất và lập trình PIC theo yêu cầu

I Cấu trúc họ vi điều khiển PIC

II Phương pháp lập trình cho PIC

III Thực hành viết chương trình một số ứng dụng của PIC

LẬP TRÌNH ARDUINO 61

Thời gian : 20 giờ (LT: 7 giờ ; TH: 13 giờ)

- Trình bày cấu trúc phần cứng của board Arduino;

- Sử dụng phần mềm IDE, giao diện của phần mềm IDE lập trình cho Arduino

- Thực hành lập trình một số ứng dụng dùng Arduino

III Phần mềm IDE cho Arduino

IV Lập trình ứng dụng

IV ĐIỀU KIỆN THỰC HIỆN MÔ ĐUN

1 Phòng học chuyên môn hóa/nhà xưởng:

- Phòng máy vi tính có cài các phần mềm chuyên dụng

2 Trang thiết bị máy móc:

- Kít thực hành vi điều khiển 89xx

- Mô hình sử dụng vi điều khiển PIC

- Máy nạp chip vạn năng

3 Học liệu, dụng cụ, nguyên liệu:

- Vi mạch số các loại

- Động cơ DC, động cơ bước

- Sơ đồ mạch thực hành

- Dụng cụ tháo ráp vi mạch

V NỘI DUNG VÀ PHƯƠNG PHÁP ĐÁNH GIÁ

Kiến thức về vi điều khiển được đánh giá bằng kiểm tra viết và trắc nghiệm, tập trung vào trình bày cấu tạo, đặc điểm và ứng dụng của các loại vi điều khiển đã học Kết quả đánh giá cho thấy người học nắm bắt được cấu tạo chi tiết, hiểu rõ đặc tính vận hành và có khả năng vận dụng thực tế các loại vi điều khiển, từ đó so sánh và lựa chọn giải pháp phù hợp với yêu cầu dự án.

Đánh giá kỹ năng thực hành được thực hiện dựa trên các nội dung đã được xác định Mỗi học viên hoặc từng nhóm học viên sẽ thực hiện một hoặc nhiều công việc cụ thể theo yêu cầu của giáo viên, nhằm kiểm tra mức độ thành thạo và khả năng vận dụng kiến thức vào thực tiễn Quá trình đánh giá tập trung vào các tiêu chí như chất lượng kết quả, tính đầy đủ của sản phẩm, sự chính xác, tuân thủ yêu cầu đề bài và khả năng làm việc độc lập hoặc theo nhóm Kết quả đánh giá kỹ năng thực hành sẽ cung cấp cơ sở để điều chỉnh phương pháp giảng dạy và nâng cao năng lực thực hành cho học viên trong các khóa học.

+ Lắp ráp được các mạch ứng dụng từng phần do giáo viên đề ra

+ Thực hiện viết các chương trình theo yêu cầu cho trước

Tiêu chí đánh giá theo các nội dung:

+ Độ chính xác của công việc

+ Tính thẩm mỹ của mạch điện

+ Độ an toàn trên mạch điện

+ Thời gian thực hiện công việc

+ Độ chính xác theo yêu cầu kỹ thuật

- Năng lực tự chủ và trách nhiệm: Đánh giá phong cách học tập thể hiện ở: Tỉ mỉ, cẩn thận, chính xác

Kiểm tra, đánh giá trực tiếp trên từng học viên

VI HƯỚNG DẪN THỰC HIỆN MÔ ĐUN

1 Phạm vi áp dụng mô đun:

- Chương trình mô đun được sử dụng để giảng dạy cho trình độ cao đẳng nghề

Chương trình đào tạo ngắn hạn dành cho học sinh ở trình độ sơ cấp nghề, có trình độ văn hóa từ trên THPT trở lên và đã qua đào tạo điện tử trung cấp, nhằm đáp ứng nhu cầu chuyển đổi nghề nghiệp bằng cách trang bị kiến thức nền tảng và kỹ năng thực hành thiết yếu.

2 Hướng dẫn về phương pháp giảng dạy, học tập mô đun:

- Đối với giáo viên, giảng viên:

+ Nội dung được biên soạn theo phương pháp tích hợp nên khi soạn giảng giáo viên nên soạn theo phương pháp tích hợp

+ Vật liệu, dụng cụ và trang thiết bị phải được chuẩn bị đầy đủ trước khi thực hiện bài giảng

+ Thực hiện giảng dạy ở nơi thực tập hoặc xưởng thực hành

+ Học sinh cần được chia thành các nhóm nhỏ từ 1 đến 4 học sinh, để thực hiện nội dung thực hành

+ Hệ thống nguồn điện cung cấp cần được phân biệt và kiểm tra chính xác trước khi cho học sinh thực tập

+ Thực hiện công việc theo sự hướng dẫn của giáo viên

+ Tuân thủ nội quy nơi xưởng thực tập

+ Đảm bảo an toàn cho người và thiết bị

3 Những trọng tâm cần chú ý:

- Về phân bổ thời gian: Căn cứ vào thực tế của nơi đào tạo giáo viên hướng dẫn có thể thay đổi thời lượng của từng nội dung, nhưng vẫn phải đảm bảo số giờ qui định trong chương trình

-Về nội dung chi tiết trong chương trình: Căn cứ vào thực tế trang bị của nhà trường hoặc nhu cầu đào tạo tại địa phương, nhà trường có thể thay thế các họ PLD tương thích với nhu cầu đào tạo và thiết bị hiện có, nhưng vẫn phải đảm bảo mục tiêu của mô đun

- Cần giới thiệu các sản phẩm, mô hình thực tế để học sinh có thể tham gia bài giảng và ghi nhớ sâu hơn

- Cần chú ý các biện pháp an toàn về điện Chống va đập, rơi rớt các thiết bị, thường xuyên theo dõi học sinh trong học tập, thực hành

Đề cương môđun/môn học nghề Sửa chữa thiết bị điện tử công nghiệp là tài liệu thuộc Dự án Giáo dục kỹ thuật và Dạy nghề (VTEP) do Tổng cục Dạy Nghề công bố tại Hà Nội năm 2003 Tài liệu trình bày mục tiêu, nội dung và cấu trúc của môn học, nhằm trang bị cho người học các kỹ năng sửa chữa và bảo dưỡng thiết bị điện tử công nghiệp và giúp chuẩn hóa chương trình đào tạo theo chuẩn của Dự án VTEP.

- Họ vi điều khiển 8051 - Tống văn On - Đại học Bách khoa TP.HCM

- Thiết kế hệ thống với họ 8051 - Tống Văn On - Nhà xuất bản Phương Đông, 2007

- Microprocessor and IC families - Walter H Buchbaum Sc.D

- Mikrocompute Lehrbuch - HPI Fachbuchreihen Pflaum Verlag Munchen

- 8051 Development Boad, Rev 5 - Paul Stoffregen

5 Ghi chú và giải thích (nếu có):

- Trình bày được phương pháp lập trình ngôn ngữ C trong môi trường Keil C

- Sử dụng phần mềm Keil C đúng yêu cầu kỹ thuật

- Lập trình điều khiển cho vi điều khiển bằng ngôn ngữ C một cách thành thạo theo yêu cầu

I Ngôn ngữ C, phần mềm Keil C

Muốn lập trình cho vi điều khiển, điều đầu tiên bạn cần làm là học một ngôn ngữ lập trình phù hợp Hiện nay có nhiều ngôn ngữ có thể dùng để lập trình cho vi điều khiển, từ ASM và C đến C++, với ngôn ngữ C được nhiều người yêu thích và sử dụng phổ biến nhất Đây là một ngôn ngữ bậc cao, khá thân thiện với người dùng và được ưa chuộng khi lập trình cho vi điều khiển nhờ sự cân bằng giữa hiệu suất và tính dễ tiếp cận.

Các #include (dùng để khai báo sử dụng các hàm chuẩn)

Các #define (dùng để định nghĩa các hằng)

Khai báo các đối tượng dữ liệu ngoài (biến, mảng, cấu trúc )

Khai báo nguyên mẫu các hàm

Hàm main() Định nghĩa các hàm (hàm main có thể đặt sau hoặc xen vào giữa các hàm khác)

2 Sử dụng phần mềm Keil C

Gõ tên file vào và save

Sau khi save sẽ xuất hiện bảng sau, chọn Chip vi xử lý để lập trình

Gõ tên file vào, đuôi là a51 nếu viết code bằng assembler

14 Chọn file khi nãy và Add vào

15 Viết chương trình nháy led

Vào Flash Configure flash tool hoặc vào biểu tượng như trên hình

16 Chọn tag Target chỉnh tần số 12Mhz

Chọn tag Ouput  đánh dấu chọn vào create hex file

17 Để dịch code ra mã hex nạp vào vxl

Vào Prject  build target (phím tắc F7) để dịch file

II Lập trình vi điều khiển bằng ngôn ngữ C

Viết chương trình tạo sóng vuông có tần số 10Hz xuất ra ngõ P3.0

Bước 1: Kết nối mạch theo hình sau

Bước 2: Vẽ lưu đồ giải thuật

#include sbit xung = P3^0; void main()

TR0=1; while(TF0==0); xung=!xung;

Bước 4: Biên dịch và nạp vi điều khiển

Bước 5: Gắn vi điều khiển vào mạch, cấp nguồn, xem và nhận xét kết quả hoạt động của mạch

III Thực hành với ngôn ngữ C

1 Kết nối mạch và viết chương trình tạo ra 2 sóng vuông có tần số 5Hz và 10Hz trên 2 chân khác nhau của Port 3 của 89S52 Dùng led đơn quan sát

2 Kết nối mạch và viết chương trình điều khiển 8 led đơn chạy sáng dần

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33

330 LED 14.KHOI DAY LED VCC

BÀI 2: BÀN PHÍM MA TRẬN

- Trình bày được cấu trúc của bàn phím ma trận, kết nối với vi điều khiển

- Giải thuật lập trình giao tiếp giữa bàn phím ma trận và vi điều khiển

- Viết chương trình giao tiếp bàn phím ma trận đúng theo yêu cầu kỹ thuật

I Cấu tạo bàn phím ma trận

Cấu tạo bàn phím ma trận 4x4 (4 hàng x 4 cột) được kết nối như hình sau

Khi nhấn 1 phím bất kỳ thì tín hiệu cột và hàng tại vị trí đó được kết nối Ví dụ nhấn phím 1 thì C1=R1

II Kết nối bàn phím ma trận với vi điều khiển

Kết nối P1 của vi điều khiển với khối bàn phím 4x4 như hình vẽ

Phần hiển thị kết nối với led 7 đoạn

III Giải thuật quét theo mã phím

Viết chương trình hiển thị giá trị phím được nhấn (0-F) lên led 7 đoạn

Giải thuật chương trình con quét phím

Mã quét cột = 11111110B (cho cột 0 là 0)

Xuất mã quét cột ra Port 1

Xóa các bit cột (4 bit thấp) Giữ lại các bit hàng (4 bit cao)

Có phím ấn không?(có bit hàng nào = 0?)

Quay trái mã quét cột (để có cột kế bằng 0)

Chương trình con nhận mã (Quét phím chống rung)

- Nếu có phím ấn, cờ C=1 và thanh ghi A chứa mã phím được ấn (00H-0FH)

- Nếu không có phím ấn thì C=0

- Chương trình chống rung phím bằng cách lặp lại 50 lần

IV Thực hành viết chương trình quét phím

1 Chuyển mã hàng về 4 bit thấp

Xác định STT của cột có phím nhấn

Quay phải thanh ghi A vào cờ C

Mã phím = STT + số cột (số cột = 4) Giảm bộ đếm

Gán cờ C = 1 Cất mã phím vào A

This embedded C snippet for a microcontroller starts by including intrinsic definitions and declaring runtime and hardware-facing variables (notably sophim and r4–r8) It defines multiple code-memory lookup tables (table0 through tableF and tableH) filled with hexadecimal values, which are likely used for key matrix scanning or display bit patterns stored in flash to conserve RAM The program provides prototypes for quetphim (keyboard scan), xuatphim (output key), and delay1, a timing helper that takes an unsigned long int to implement precise delays Together, these elements imply a keyboard scanning and output routine that reads inputs, maps them via the lookup tables, and produces corresponding outputs with controlled timing, leveraging program memory to optimize resource usage.

P1=sophim; r7=sophim; sophim = P1; sophim=sophim&0xF0; if(sophim !=0xF0)

CY=0; sophim=sophim-r6; r6=sophim; sophim=r7; r4=sophim>>4; sophim=r4; r5=4; while(r5)

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

XBYTE[0x2000]=tableH[i]; delay1(30); if(i==7)XBYTE[0x4000]=0xFF;

- Trình bày cấu tạo và chức năng của thời gian thực

- Kết nối IC thời gian thực và vi điều khiển

- Truy xuất bộ nhớ thời gian thực theo yêu cầu

- Viết chương trình đồng hồ thời gian thực theo yêu cầu

I Sơ đồ chức năng các chân của IC thời gian thực

AD0 – AD7: Bus đa hợp địa chỉ / dữ liệu

MOT: lựa chọn loại Bus

CS\: ngõ vào lựa chọn

IRQ\: ngõ ra yêu cầu ngắt

SQW: ngõ ra song vuông

II Cấu trúc bên trong IC, các thanh ghi IC

Bảng địa chỉ của IC thời gian thực Địa chỉ Chức năng Giới hạn

Cách truy xuất bộ nhớ IC thời gian thực:

+ Đọc dữ liệu: giay=XBYTE[0x0000];

III Kết nối IC thời gian thực với vi điều khiển

IV Giải thuật truy xuất IC thời gian thực

1 Viết chương trình xuất dữ liệu (số thập phân 0-9) ra 6 led 7 đoạn dùng phương pháp quét led a) Lý thuyết liên quan

- Led 7 đoạn loại Anot chung:

Mã 7 đoạn Số thập phân h g f e d c b a Mã Hex

Phương pháp quét LED dựa trên khả năng lưu ảnh trên võng mạc của mắt ở mức khoảng 24 hình/giây; có nghĩa là một LED thực hiện chu kỳ bật/tắt nhanh hơn 24 lần mỗi giây sẽ khiến mắt người không phân biệt được LED đang tắt hay sáng, tạo hiệu ứng ánh sáng liên tục và cho phép quét LED diễn ra mà mắt không nhận ra nhấp nháy.

- Ví dụ ta cần quét 6 led hiện ra số 1, 2, 3, 4, 5, 6

Quét 6 led Tdelay = 41ms/6  6,8ms

Ta phải chọn: 6,8 ms ≥ thời gian Delay ≥ Tổn định

(Tổn định: thời gian để led sáng ổn định (1ms))

- Bước 1: Từ số led cần quét Tính thời gian delay cho mỗi led

+ Tính như ví dụ trên Chọn thời gian delay là 5ms

+ Viết chương trình con delay void delay_ms(unsigned int n)

- Bước 2: Viết đoạn chương trình hiển thị số ra 6 led (vị trí Giờ/Phút/Giây) void main()

P1_0=0; //cấp nguồn led 1 delay_ms(5);

- Bước 3: Biên dịch và nạp vi điều khiển

+ Chương trình không báo lỗi

- Bước 4: Gắn vi điều khiển vào Socket mạch Kiểm tra sơ đồ kết nối

+ Chân IC kết nối tốt với Socket

+ Các bus dây kết nối tốt

- Bước 5: Cấp nguồn, cho vi điều khiển hoạt động

- Bước 6: Nhận xét, đánh giá, hiệu chỉnh (nếu cần thiết)

+ Hoạt động, hiển thị đúng yêu cầu

+ Hoạt động, hiển thị chưa đúng yêu cầu  Hiệu chỉnh

+ Không hoạt động  Hiệu chỉnh

2 Viết chương trình đồng hồ thời gian thực a) Lyù thuyeát lieân quan:

- Bảng địa chỉ của IC thời gian thực: Địa chỉ Chức năng Giới hạn

- Cách truy xuất bộ nhớ IC thời gian thực:

+ Đọc dữ liệu: giay=XBYTE[0x0000];

XBYTE[0x0000]=giay; b) Qui trình thực hiện:

- Bước 1: Viết đoạn chương trình đọc dữ liệu Giờ (địa chỉ 4), Phút (địa chỉ 2),

Giaõy (ủũa chổ 0) giay=XBYTE[0x0000]; phut=XBYTE[0x0002]; gio=XBYTE[0x0004];

- Bước 2: Tách dữ liệu Giây ra 2 số (chục và đơn vị) để hiển thị Tương tự đối với dữ liệu Phút và Giờ Chương trình hoàn chỉnh như sau:

//Viết chương trình đọc dữ liệu từ IC DS12C887 hiển thị ra led 7 đoạn

//Port2 bus dữ liệu, Port1 cấp nguồn

Code unsigned char maled[]={0xC0, 0xF9, 0XA4, 0XB0, 0X99, 0X92, 0X82, 0XF8, 0X80, 0X90}; int gio, phut, giay; unsigned int chuc, donvi; void bcd(unsigned int k); void delay_ms(unsigned int n); void main()

{ giay=XBYTE[0x0000]; phut=XBYTE[0x0002]; gio=XBYTE[0x0004]; bcd(giay);

P1_0=0; //cấp nguồn led 1 delay_ms(2);

} void delay_ms(unsigned int n)

- Bước 3: Biên dịch và nạp vi điều khiển

+ Chương trình không báo lỗi

- Bước 4: Gắn vi điều khiển vào Socket mạch Kiểm tra sơ đồ kết nối

+ Chân IC kết nối tốt với Socket

+ Các bus dây kết nối tốt

- Bước 5: Cấp nguồn, cho vi điều khiển hoạt động

- Bước 6: Nhận xét, đánh giá, hiệu chỉnh (nếu cần thiết)

+ Hoạt động, hiển thị đúng yêu cầu

+ Hoạt động, hiển thị chưa đúng yêu cầu  Hiệu chỉnh

+ Không hoạt động  Hiệu chỉnh

BÀI 4: ĐIỀU KHIỂN ADC VÀ DAC

- Trình bày chức năng IC ADC và DAC

- Kết nối vi điều khiển và truy xuất dữ liệu IC ADC và DAC

- Giải thuật và lập trình biến đổi ADC và DAC theo yêu cầu

I Tìm hiểu IC ADC và IC DAC

IC chuyển đổi tín hiệu tương tự sang tín hiệu số 8 bit, có 8 ngõ vào tương tự và 8 ngõ ra 8-bit Thiết bị cho phép chọn 1 trong 8 ngõ vào tương tự để chuyển đổi sang giá trị 8-bit, với 3 bit điều khiển dùng để chọn ngõ vào.

Đây là IC chuyển đổi tín hiệu số sang tín hiệu tương tự (DAC) 8 bit Thiết bị có 8 ngõ vào dữ liệu 8 bit và 8 ngõ ra tín hiệu tương tự, được điều khiển bằng 3 bit để chọn một ngõ ra bất kỳ Thiết kế này cho phép chuyển đổi nhanh dữ liệu nhị phân thành tín hiệu analog trên nhiều kênh, phù hợp với các ứng dụng DAC phân kênh và điều khiển ngõ ra bằng số.

II Kết nối IC ADC và IC DAC với vi điều khiển

1.Kết nối IC ADC với vi điều khiển

Kết nối IC ADC0809 với vi điều khiển như sơ đồ mạch sau

2 Kết nối IC DAC với vi điều khiển

Kết nối IC DAC0808 với vi điều khiển như sơ đồ mạch sau

IN5 IN4 IN3 IN2 IN1 IN0

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 U401

/CS2 /CS2 /CS2 /CS2 /CS2 /CS2 /CS2 /CS2 /CS2 /CS2 /CS2 /CS2

/CS6 /CS6 /CS6 /CS6 /CS6 /CS6 /CS6 /CS6 /CS6 /CS6 /CS6 /CS6

/CS5 /CS5 /CS5 /CS5 /CS5 /CS5

4.KHOI MCU-ROM-RAM-DAC

12.KHOI THAY DOI DIEN AP

III Giải thuật và lập trình

Bài viết trình bày cách viết chương trình điều khiển quá trình biến đổi A/D qua ADC0809 và hiển thị giá trị điện áp lên bốn LED 7 đoạn, gồm một chữ số ở hàng đơn vị và ba chữ số ở phần thập phân; nội dung mô tả cách giao tiếp giữa vi điều khiển và ADC0809, cách đọc dữ liệu ADC, quy đổi sang giá trị điện áp và ánh xạ kết quả lên màn hình LED 7 đoạn để hiển thị từ 0.000 V đến 5.000 V, đồng thời nêu rõ các bước xử lý ngắt, chu kỳ quét và cách hiệu chuẩn để đảm bảo độ chính xác, tối ưu hóa mã nguồn, kết nối phần cứng và nguồn cấp cho hệ thống.

Quá trình biến đổi A/D được thực hiện qua các bước cơ bản: xác lập địa chỉ chọn kênh ngõ vào (ADD0, ADD1, ADD2) và sau đó tạo xung START/ALE bằng cách xuất một giá trị bất kỳ ra ngoại vi để kích hoạt chu trình chuyển đổi.

Đọc giá trị từ ngoại vi tại địa chỉ đã chọn (ví dụ 0809) sau một khoảng trễ gần 120 ms Giá trị này từ 0 đến 255, tùy theo điện áp ngõ vào từ 0–5 V, với độ phân giải ~5 V/255,6 mV Đổi giá trị này thành điện áp ở đơn vị mV bằng cách nhân với 19,6–20 Sau đó, chuyển giá trị này sang mã BCD bằng chương trình con mẫu ở mục 3.3.1.b và xuất kết quả lên LED 7 đoạn.

Bieõn dũch chửụng trỡnh ra file hex

Thay đổi điện áp ngõ vào (chỉnh biến trở VR- khối 12) và quan sát hiển thị trên led 7 đoạn

2.Viết chương trình liên tục xuất các giá trị 00H, 40H, 80H, C0H và FFH ra DAC 0808 thông qua ngoại vi 74573, mỗi lần xuất cách nhau 2s

Bieõn dũch chửụng trỡnh ra file hex

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 U401

/CS4 /CS4 /CS4 /CS4 /CS3 /CS3 /CS3 /CS3

/CS2 /CS2 /CS2 /CS2 /CS2 /CS2

/CS5 /CS5 /CS5 /CS5 /CS5 /CS5 /CS6 /CS6 /CS6 /CS6 /CS6 /CS6

Dùng Oscilloscope quan sát dạng điện áp tại J602 (ANALOG-OUT) ở khối 6

BÀI 5: ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ

- Trình bày cấu tạo và nguyên lý hoạt động của các loại cảm biến nhiệt

- Thực hiện kết nối và giải thuật lập trình với cảm biến nhiệt

- Viết được chương trình điều khiển theo yêu cầu

I Tìm hiểu các loại cảm biến nhiệt (LM335)

LM335 là cảm biến nhiệt độ có thể hoạt động đến 150 ¨C Tương ứng với nhiệt độ

LM335 là cảm biến nhiệt có đặc tính tuyến tính: mỗi 1°C tăng khoảng 10 mV Khi ở 0°C, điện áp đầu ra là 2.73 V Để dễ xử lý trong chương trình, ta muốn ở 0°C điện áp ra bằng 0 V, do đó cần một mạch khuếch đại và trừ tín hiệu để loại bỏ 2.73 V từ đầu ra Với mạch khuếch đại hiệu chỉnh đúng tham chiếu, đầu ra sẽ cho giá trị nhiệt độ dễ xử lý trong xử lý số.

Mạch thiết kế như sau:

R703 = R704 =RF Điện áp ngõ ra của mạch V-OUT = RF / RI * (V1 – V2) = Av (V1-V2)

Ngày đăng: 01/09/2022, 10:42

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm