BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý TỔNG QUAN về vđk STM32F103C8T6 mô PHỎNG TRÊN PROTEUS

148 71 0
BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA KỸ THUẬT ĐIỆN TỬ o0o - BÀI THỰC HÀNH MÔN KỸ THUẬT VI XỬ LÝ NGÀNH HỌC: ĐIỆN-ĐIỆN TỬ VÀ ĐIỆN TỬ-VIỄN THÔNG ĐỐI TƯỢNG: ĐẠI HỌC Hà Nội, tháng năm 2020 KYTHUATVIXULY-2020 TỔNG QUAN VỀ MÔN HỌC Đối tượng tham gia học tập  Sinh viên đam mê lập trình nói chung đam mê lập trình vi điều khiển nói riêng  Sinh viên muốn qua kì thi “Kỹ thuật vi xử lí” u cầu  Có ý thức Tự học tập, tự nghiên cứu  Sinh viên hiểu biết ngơn ngữ lập trình C  Chăm hồn thành tập bạn muốn việc học hiệu tiết kiệm thời gian bạn Hình thức học tập  Khơng nặng lý thuyết, thực hành ngắn gọn, dễ hiểu Tuy nhiên, cuối bài, yêu cầu bạn nghiên cứu thêm tự đặt câu hỏi ý nghĩa dòng code tập  Ghi lại thắc mắc hỏi tiết học để thảo luận tối ưu code tốt Khuyến khích tự tìm kiếm câu trả lời google KYTHUATVIXULY-2020 PHÂN : TỔNG QUAN VỀ VĐK STM32F103C8T6 & MÔ PHỎNG TRÊN PROTEUS I, Hướng dẫn cài đặt phần mền lập trình KeilCv5 Có nhiều trình biên dịch hỗ trợ lập trình STM32F103C8T6 có cơng cụ sử dụng nhiều KeilC KeilC hỗ trợ lập trình ASM C với họ vi điều khiển STM32F103C8T6 Sau bước để cài đặt trình biên dịch 1.1 Hướng dẫn cài đặt: Bước 1: Giải nén file KeilC V5.17.rar Bước 2: Vào thư mục vừa giải nén, sau bạn chạy file “MDK517.EXE”, Chọn Next KYTHUATVIXULY-2020 Bước 2: Tick vào ô “I agree to all the tems of the preceding License Agreement”, chọn Next Bước 3: Chọn đường dẫn lưu thư mục cài đặt, sau chọn Next KYTHUATVIXULY-2020 Bước 4: Điền thơng tin cá nhân chọn Next Bước 5: Chờ cho máy tiến hành cài đặt KYTHUATVIXULY-2020 Bước 6: Sau cài đặt xong, chọn Finish Vậy bạn cài đặt xong phần mềm KeilC cho STM32 KYTHUATVIXULY-2020 1.2 Hướng dẫn cài đặt gói pack cho STM32F1XX Bước 1: Giải nén thư mục Pack Bước 2: Vào thư mục Pack vừa giải nén chạy file Keil.STM32F1xx_DFP.2.3.0.pack KYTHUATVIXULY-2020 Bước 3: Nhấn next để cài đặt Bước 4: Nhấn Finish KYTHUATVIXULY-2020 Bước 5: Kiểm tra Vào keilC -> chọn Pack Installer Dưới hình ảnh gói pack cho STM32F1xx cài đặt thành công KYTHUATVIXULY-2020 II, Hướng dẫn cài đặt phần mền mô proteus 8.6 2.1 Hướng dẫn cài đặt Bước 1: Giải nén file KeilC V5.17.rar, pass Nhattungnt93 Bước 2: Vào thư mục vừa giải nén, sau bạn chạy file “Proteus Professional 8.6 SP2 Build 23525 RePack.kuyhAa.exe” KYTHUATVIXULY-2020 10 /* B2:Cau hinh va cho phep ngat ngoai o EXTI */ void EXTI_Config(void) { EXTI_InitTypeDef EXTI_InitStructure; EXTI_InitStructure.EXTI_Line = EXTI_Line8 | EXTI_Line13; // chon kenh va kenh 13 ung voi A8 va C13 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //chon che ngat ngoai EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //chon canh tich cuc la canh xuong EXTI_InitStructure.EXTI_LineCmd = ENABLE; //cho phep kenh ngat ngoai duoc cau hinh EXTI_Init(&EXTI_InitStructure); //lenh cau hinh cac thong so duoc luu EXTI_InitStructure } /* B3: cau hinh cap uu tien va cho phep ngat ngoai o NVIC */ void NVIC_EXTI_Config() { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //0 cap PreemptionPriority va 16 cap SubPriority NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; // chon cac kenh tu 5-9 KYTHUATVIXULY-2020 134 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //chon thu tu uu tien NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // cho phep ngoai vi dang dc cau hinh o NVIC NVIC_Init(&NVIC_InitStructure); // lenh cau hinh cac thong so duoc luu NVIC_InitStructure cho NVIC NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;//chon kenh tu 10 den 15 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //chon muc uu tien NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } /* B4: Viet chuong trinh phuc vu ngat ngoai */ // chuong trinh phuc vi ngat ngoai cho chan PA8 void EXTI9_5_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_IMR_MR8) != RESET) //kiem tra co phai la kenh ngat khong? { EXTI_ClearITPendingBit(EXTI_IMR_MR8); //xoa co ngat kenh GPIO_SetBits(PORT_LED, LED); //mo Led } } //chuong trinh phuc vu ngat ngoai cho chanP C13 void EXTI15_10_IRQHandler(void) KYTHUATVIXULY-2020 135 { if(EXTI_GetITStatus(EXTI_IMR_MR13) != RESET)//kiem tra co phai la kenh 13 ngat khong { EXTI_ClearITPendingBit(EXTI_IMR_MR13); //xoa co ngat kenh 13 GPIO_ResetBits(PORT_LED, LED); //tat Led } } int main(void) { LED_Config(); GPIO_EXTI_Config(); EXTI_Config(); NVIC_EXTI_Config(); EXTI9_5_IRQHandler(); EXTI15_10_IRQHandler(); while(1); } KYTHUATVIXULY-2020 136 III, Bài tập Bài tập 1: Viết chương trình đọc nút nhấn chân PC13 sử dụng ngắt ngoài, nhấn lần đèn chân PB9 sáng, lần thứ led chân PB9 tắt… lặp lặp lại KYTHUATVIXULY-2020 137 PHẦN 8: ADC I, Giới thiệu ADC a, ADC Mạch chuyển đổi tương tự số hay ADC (viết tắt tiếng Anh: Analog-to-Digital Converter) hệ thống mạch thực chuyển đổi tín hiệu analog (tín hiệu tương tự) liên tục, ví dụ tín hiệu âm thanh micro, hay tín hiệu ánh sáng máy ảnh kĩ thuật số, thành tín hiệu kĩ thuật số Một hệ thống ADC bao gồm phận phần cứng (như tính tốn độc lập) làm nhiệm vụ chuyển đổi tín hiệu analog (dưới dạng điện áp hay dòng điện) thành giá trị số (digital) đại diện cho cường độ điện áp hay tín hiệu Theo wikipedia b, trình chuyển đổi ADC Bộ chuyển đổi tương tự sang số – ADC (Analog to Digital Converter) lấy mức điện vào tương tự sau thời gian sinh mã đầu dạng số biểu diễn đầu vào tương tự Tiến trình biến đổi A/D thường phức tạp nhiều thời gian tiến trình chuyển đổi D/A Do có nhiều phương pháp khác để chuyển đổi từ tương tự sang số Các bước chuyển đổi AD, Quá trình chuyển đổi A/D nhìn chung thực qua bước bản, là:  lấy mẫu  nhớ mẫu KYTHUATVIXULY-2020 138  lượng tử hóa  mã hóa Định lý lấy mẫu : Đối với tín hiệu tương tự VI tín hiệu lấy mẫu VS sau q trình lấy mẫu khơi phục trở lại VI cách trung thực điều kiện sau thỏa mản: Fs >= 2Fmax Trong f : tần số lấy mẫu S f max : giới hạn giải tần số tương tự Vì lần chuyển đổi điện áp lấy mẫu thành tín hiệu số tương ứng cần có thời gian định nên phải nhớ mẫu khoảng thời gian cần thiết sau lần lấy mẫu Điện áp tương tự đầu vào thực chuyển đổi A/D thực tế giá trị VI đại diện, giá trị kết lần lấy mẫu KYTHUATVIXULY-2020 139 Lượng tử hóa mã hóa: Tín hiệu số khơng rời rạc thời gian mà cịn khơng liên tục biến đổi giá trị Một giá trị tín hiệu số phải biểu thị bội số nguyên lần giá trị đơn vị đó, giá trị nhỏ chọn Nghĩa dùng tín hiệu số biểu thị điện áp lấy mẫu phải bắt điện áp lấy mẫu hóa thành bội số nguyên lần giá trị đơn vị Quá trình gọi lượng tử hóa Đơn vị chọn theo qui định gọi đơn vị lượng tử, kí hiệu D Như giá trị bit LSB tín hiệu số D Việc dùng mã nhị phân biểu thị giá trị tín hiệu số mã hóa Mã nhị phân có sau q trình tín hiệu đầu chuyên đổi A/D Mạch lấy mẫu nhớ mẫu: Khi nối trực tiếp điện tương tự với đầu vào ADC, tiến trình biến đổi bị tác động ngược điện tương tự thay đổi tiến trình biến đổi Ta cải thiện tính ổn định tiến trình chuyển đổi cách sử dụng mạch lấy mẫu nhớ mẫu để ghi nhớ điện tương tự không đổi chu kỳ chuyển đổi diễn Hình 5.18 sơ đồ mạch lấy mẫu nhớ mẫu c, Bộ chuyển đổi ADC STM32F103C8T6 STM32 có tổng cộng 18 kênh ADC kênh nằm chip, dùng 16 kênh đo tín hiệu analog bên PCLK2 cung cấp tần số cho ADC lưu ý tần số không vượt 14Mhz Đặc điểm chính: + Độ phân giải 12bit config 10bit 8bit bit tăng tốc độ chuyển đổi + Ngắt kiện chuyển đổi xong, event watchdog xảy chuyển đổi KYTHUATVIXULY-2020 140 + Chuyển đổi liên tục + Scan mode: Quét chuyển đổi từ kênh 0-n + Điều khiển chuyển đổi từ bên ngồi sử dụng tín hiệu triger + Dual mode: Cả ADC convert kênh lúc Ví dụ ADC1 từ 0-15 ADC2 từ 15-0 Tăng tốc độ chuyển đổi + Sample time: Thời gian để điện áp nạp đầy tụ để ADC lấy mẫu Thời gian phải đủ để điện áp tụ đến điện áp input Như phụ thuộc vào điện trở nội điện áp input Với điện trở nội thấp -> sample time thấp ngược lại + Continuous mode discontinuous mode: Với continuous mode ADC tự động chuyển đổi lại chuyển đổi xong discontinuous mode ngược lại Đối với chuyển đổi nhiều kênh lúc nên dùng discontinous mode giảm thời gian đọc kênh định mà khơng phải đọc liên tục từ kênh 0-n + Thời gian chuyển đổi STM32F103xx 1us 56Mhz (1.17us với 72Mhz) Vì xung clock cấp cho ADC max 14Mhz ->khi HCLK = 56Mhz suy xung clock cấp cho max ADC = 56/2/2 = 14Mhz HCLK = 72Mhz -> max xung clock ADC = 72/1/6 = 12Mhz + Vref: điện áp so sánh Đối với chip 144 chân có chân input điện áp so sánh 3.6V>= Vref >= 2.4V phải có lọc cẩn thận để ADC hoạt động ổn định Với chip 64 chân trở xuống bạn không cần quan tâm điện áp so sánh lấy chip + Điện áp input cho kênh ADC Vref-

Ngày đăng: 31/12/2021, 04:46

Hình ảnh liên quan

Dưới đây là hình ảnh gói pack cho STM32F1xx đã được cài đặt thành công. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

i.

đây là hình ảnh gói pack cho STM32F1xx đã được cài đặt thành công Xem tại trang 9 của tài liệu.
Dưới đây là hình ảnh khi bạn đã cài đặt thành công phần mền mô phỏng proteus 8.6. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

i.

đây là hình ảnh khi bạn đã cài đặt thành công phần mền mô phỏng proteus 8.6 Xem tại trang 16 của tài liệu.
Màn hình làm việc chính. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

n.

hình làm việc chính Xem tại trang 21 của tài liệu.
Bước 6: Cấu hình VSSA, VDDA - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

c.

6: Cấu hình VSSA, VDDA Xem tại trang 23 của tài liệu.
Bước 7: Cấu hình crystal frequency - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

c.

7: Cấu hình crystal frequency Xem tại trang 24 của tài liệu.
Mở cửa sổ Manage project item bằng cách kích vào biểu tượng hình 3ô vuông màu xanh, đỏ trắng hoặc vào đường dẫn sau : Project => manage => project items. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

c.

ửa sổ Manage project item bằng cách kích vào biểu tượng hình 3ô vuông màu xanh, đỏ trắng hoặc vào đường dẫn sau : Project => manage => project items Xem tại trang 31 của tài liệu.
Bước 7: Cấu hình compiler C/C++ - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

c.

7: Cấu hình compiler C/C++ Xem tại trang 36 của tài liệu.
lần tiếp theo. Xem kết bảng thông báo build output nếu không xuất hiện lỗi tức là đã thành công. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

l.

ần tiếp theo. Xem kết bảng thông báo build output nếu không xuất hiện lỗi tức là đã thành công Xem tại trang 41 của tài liệu.
Sau đây là hình ảnh và chi tiết về 1 con LED7 thanh và bảng dữ liệu mã hóa với các số từ 0-9 theo kiểu LED sử dụng Anot chung. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

au.

đây là hình ảnh và chi tiết về 1 con LED7 thanh và bảng dữ liệu mã hóa với các số từ 0-9 theo kiểu LED sử dụng Anot chung Xem tại trang 52 của tài liệu.
Các bạn ghi nhớ bảng trên để có thể áp dụng trong các bài toán liên quan đến LED 7 thanh mà không cần lặp lại việc này - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

c.

bạn ghi nhớ bảng trên để có thể áp dụng trong các bài toán liên quan đến LED 7 thanh mà không cần lặp lại việc này Xem tại trang 53 của tài liệu.
Cấu tạo LED Martrix có dạng như hình dưới đây. Về cấu tạo rất giống với một hệ nhiều LED 7 thanh, ví dụ gồm 8 LED 7 thanh ghép với nhau - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

u.

tạo LED Martrix có dạng như hình dưới đây. Về cấu tạo rất giống với một hệ nhiều LED 7 thanh, ví dụ gồm 8 LED 7 thanh ghép với nhau Xem tại trang 76 của tài liệu.
Ở bài toán này chúng ta tập trung tìm cách hiển thị một hình ảnh chúng ta mong muốn lên LED matrix 8×8 này - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

b.

ài toán này chúng ta tập trung tìm cách hiển thị một hình ảnh chúng ta mong muốn lên LED matrix 8×8 này Xem tại trang 78 của tài liệu.
Dưới đây là hình mô phỏng, các em tìm nó với từ khóa “lcd 16x2”. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

i.

đây là hình mô phỏng, các em tìm nó với từ khóa “lcd 16x2” Xem tại trang 85 của tài liệu.
Bài 1: Gửu kí tự lên màn hình LCD1602 - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

i.

1: Gửu kí tự lên màn hình LCD1602 Xem tại trang 90 của tài liệu.
Bài 1: Cấu hình ngắt tràn TIM4. Led trên chân PB8 sáng tắt với tốc độ là 1s sáng 1s tắt. - BÀI THỰC HÀNH môn kỹ THUẬT VI xử lý  TỔNG QUAN về vđk STM32F103C8T6  mô PHỎNG TRÊN PROTEUS

i.

1: Cấu hình ngắt tràn TIM4. Led trên chân PB8 sáng tắt với tốc độ là 1s sáng 1s tắt Xem tại trang 118 của tài liệu.

Mục lục

  • TỔNG QUAN VỀ MÔN HỌC

    • 1. Đối tượng tham gia học tập

    • 3. Hình thức học tập

    • PHÂN 1 : TỔNG QUAN VỀ VĐK STM32F103C8T6 & MÔ PHỎNG TRÊN PROTEUS

      • I, Hướng dẫn cài đặt phần mền lập trình KeilCv5

        • 1.1. Hướng dẫn cài đặt:

        • 1.2 Hướng dẫn cài đặt gói pack cho STM32F1XX

        • 2.2 Hướng dẫn tạo project với STM32 trên proteus

        • III, Hướng dẫn thực hành với KIT STM32F103C8T6

          • 3.1. Tải thư viện chuẩn cho STM32F1XX

          • 3.2. Hướng dẫn tạo project

          • Câu hỏi ôn tập

          • III, Bài tập

            • Bài tập nâng cao theo nhóm

            • Bài tập cá nhân

            • PHẦN 2: Lập trình LED 7 thanh với STM32F103C8T6.

              • I, Giới thiệu về LED 7 thanh

              • PHẦN 3: Lập trình nút nhấn

                • I, Giới thiệu về nút nhấn

                • II, Hướng dẫn thực hành với KIT STM32F103C8T6

                  • Bài 1: Đọc trạng thái nút nhấn cơ bản

                  • Bài 2: Đọc đầu vào xử lý nút nhấn nâng cao

                  • PHẦN 4: Lập rình LED Matrix, LCD1602 với STM32F1

                    • I, LED Matrix

                      • 1. Giới thiệu về LED Matrix

                      • 2, Hướng dẫn thực hành với KIT STM32F103C8T6

                        • Bài 1: Hiển thị chữ cái ‘H’ trên LED matrix 8x8

                        • II, LCD1602

                          • 1, Giới thiệu về LCD1602

                          • 2, Hướng dẫn thực hành với KIT STM32F103C8T6

                            • Bài 1: Gửu kí tự lên màn hình LCD1602

                            • PHẦN 5: UART

                              • I, Giới thiệu UART

                              • II, Bài tập thực hành

                                • Bài 2.1: Viết chương trình gửi ký tự “A” lên máy tính với tốc độ baud là 9600

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

Tài liệu liên quan