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

ĐỀ CƯƠNG BÀI GIẢNG THỰC TẬP LẬP TRÌNH C ỨNG DỤNG

25 3 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

Tiêu đề Đề cương bài giảng thực tập Lập trình C ứng dụng
Tác giả Nhóm tác giả
Trường học Trường Đại học Sư phạm Kỹ thuật Hưng Yên
Chuyên ngành Kỹ thuật điện, Điện tử
Thể loại Đề cương bài giảng
Năm xuất bản 2022
Thành phố Hưng Yên
Định dạng
Số trang 25
Dung lượng 3,29 MB

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

Nội dung

- Sử dụng tốt phần mềm để lập trình và giải các bài tập cơ bản - Biết tạo dự án, tạo file để viết chương trình mô phỏng - Biết cách chỉnh sửa lỗi và chạy mô phỏng chương trình - Giúp cho

Trang 1

TRƯỜNG ĐẠI HỌC

SƯ PHẠM KỸ THUẬT HƯNG YÊN

KHOA ĐIỆN – ĐIỆN TỬ

ĐỀ CƯƠNG BÀI GIẢNG THỰC TẬP LẬP TRÌNH C ỨNG DỤNG

(Dùng cho Sinh viên Đại học chuyên ngành Tự động hóa công nghiệp,

Điều khiển tự động)

Hưng yên, tháng 10 năm 2022

Trang 2

ĐẠI HỌC SPKT HƯNG YÊN

KHOA ĐIỆN - ĐIỆN TỬ

Bộ môn ĐK&TĐH

THỰC TẬP LẬP TRÌNH C ỨNG DỤNG

BÀI SỐ 1

BÀI THỰC HÀNH VỀ 1 LED ĐƠN, DÃY 16 LED

ĐƠN

NGÀY : ……….

SỐ GIỜ TT : ………

LỚP : ……….

TÊN SV : ……….

1 Mục tiêu bài học:

Học xong bài này người học có khả năng:

- Biết Cài đặt phần mềm

- Sử dụng tốt phần mềm để lập trình và giải các bài tập cơ bản

- Biết tạo dự án, tạo file để viết chương trình mô phỏng

- Biết cách chỉnh sửa lỗi và chạy mô phỏng chương trình

- Giúp cho Sinh viên nâng cao kỹ năng sử dụng tập lệnh đã được học

2 Kiến thức cần thiết

2.1 Hướng dẫn sử dụng phần mềm CCS C compiler

Vi điều khiển chỉ nhận và xử lý chương trình dưới dạng file Hex Vì vậy cần phải có phần mềm để soạn thảo và biên dịch chương trình sang mã Hex Hiện nay, có rất nhiều phần mềm có thể lập trình và mô phỏng: CCS C, Keil C, Prog studio, Sim.51, Raisonance Kit 6.1(Ride) …

Với vi điều khiển PIC16F877A sử dụng trình biên dịch CCS C

Các bước thực hiện viết chương trình trên phần mềm CCS C

Bước 1: Tạo Project

Cách 1: Project Wizard

Để tạo 1 project mới sau khi khởi động chương trình CCS C Compiler chọn File → New → Project Wizard như sau:

Hình 1.1 Tạo giao diện với Project Wizard

Trang 3

Hộp thoại mới hiện ra và định tên Project và vị trí nơi Project tồn tại:

Hình 1.2 Lưu file project Chọn loại vi điều khiển, tần số thạch anh sử dụng sau đó nhấn Create Project:

Hình 1.3 Cấu hình vi điều khiển trong CCS

Trang 4

Quá trình khởi tạo một project hoàn thành, người sử dụng có thể viết chương trình

ngay:

Hình 1.4 Giao diện soạn thảo chương trình theo Project

Cách 2: Tạo chương trình với Source File

File => New => Source File:

Hình 1.5 Tạo chương trình mới với Source File

Trang 5

Lưu file vừa tạo:

Hình 1.6 Lưu file theo định dạng source file Viết chương trình:

Hình 1.7 Giao diện lập trình với Source file

Chú ý: Với việc tạo file dạng Source File thì nội dung ban đầu trong file được tạo sẽ để

trống, người lập trình sẽ viết chương trình tại đây, bao gồm việc khai báo tệp tiêu đề

#include<16f877a.h> và các khai báo khác

Trang 6

Bước 2: Soạn thảo chương trình

Hình dưới đây là giao diện người dùng sử dụng để viết chương trình

Hình 1.8 Giao diện soạn thảo chương trình trong ccs

Bước 3: Biên dịch một chương trình

Sau khi soạn thảo xong nhấn Ctrl+S để lưu Biên dịch chương trình bằng cách Click

vào nút Compile hoặc nhấn tổ hợp phím Ctrl + Alt + F9:

Hình 1.9 Giao diện Compile chương trình

Trang 7

Với trường hợp tạo Project theo cách 2 (Source File) thì trước khi biên dịch cần Click

chuột phải vào tên file và chọn Make File Project

Sau khi biên dịch phần mềm sẽ tạo ra file hex để nạp vào vi điều khiển

2.2 Thư viện và hàm được hỗ trợ trong trình biên dịch CCS C

2.2.1 Khai báo thư viện

 Khai báo tệp tiêu đề: #include<16f877a.h>

Để làm việc với vi điều khiển PIC16F877A với phần mềm CCS thì ta cần khai báo tệp

tiêu đề “16f877a.h” Tệp tiêu đề “16f877a.h” được cung cấp khi cài đặt phần mềm CCS và

được lưu trữ tại thư mục PICC\Devices

 Khai báo sử dụng hàm trễ: #use delay(option)

Trình biên dịch CCS hỗ trợ hàm thực hiện tạo trễ thường được sử dụng trong lập trình

vi điều khiển Để sử dụng chức năng tạo trễ cần khai báo và cung cấp thông số dao động của

Giá trị của tần số có thể ghi theo đơn vị M, MHZ, K, KHZ

Sau khi khai báo sử dụng delay người dùng có thể sử dụng các hàm delay_ms(time)

và delay_us(time) để tạo trễ

delay_ms(time): Hàm tạo trễ theo đơn vị mili giây

delay_us(time): Hàm tạo trễ theo đơn vị micro giây

Trong đó: time là một biến hoặc một hằng số kiểu int16 có giá trị trong khoảng từ

0-65535

2.2.2 Các hàm nhập xuất

- set_tris_x (value): Cài đặt trạng thái vào ra cho PORT

+ x: tên các PORT (a, b, c, d, …);

+ value: giá trị là 8bit int với mỗi bit đại diện cho một bit của cổng I / O (bit 0: output, bit 1:

input)

- output_low (pin): Xuất ra giá trị mức thấp

+ pin: là tên các chân I/O cần xuất có dạng PIN_tên chân

- output_high (pin): Xuất ra giá trị mức cao

+ pin: là tên các chân I/O cần xuất có dạng PIN_tên chân

- output_toggle (pin): Xuất ra giá trị mức đảo với mức hiện tại

+ pin: là tên các chân I/O cần xuất có dạng PIN_tên chân

- output_x (value): Xuất giá trị cho port

+ x: tên các PORT (a, b, c, d, )

Trang 8

+ value: giá trị là 8bit int với mỗi bit đại diện cho một bit của cổng I / O trong PORT

- value = input (pin): đọc tín hiệu từ một chân I/O

+ pin: là tên các chân I/O cần đọc có dạng PIN_tên chân

+ value: Giá trị đọc được (= 0: mức thấp, =1: mức cao)

- value = input_x: đọc tín hiệu từ một PORT

+ pin: là tên các chân I/O cần đọc có dạng PIN_tên chân

+ value: Giá trị đọc được dạng 8bit tương ứng với 8 pin trong PORT (= 0: mức thấp, =1: mức

cao)

2.3 Hướng dẫn sử dụng phần mềm nạp chương trình

Để nạp chương trình cho MCU PIC16F877A ta cần sử dụng các mạch nạp PICKIT

Một số mạch nạp được sử dụng như: PICKIT V2, PICKIT V2 OEM, PICKIT V3

Hình 1.10 PICKIT v2 OEM

Hình 1.11 PICKIT V2

Trang 9

Hình 1.12 PICKIT V3 Mạch nạp bao gồm các chân cần được kết nối tương ứng với vi điều khiển PIC:

Hình 1.13 Bố trí chân trong mạch nạp PICKit

* Quy trình nạp chương trình xuống vi điều khiển PIC

Bước 1: Kết nối mạch nạp vào bộ KIT PIC

Bước 2: Mở phần mềm PICkit3 hoặc PICkit 2 tùy theo mạch nạp sử dụng

Hình 1.14 Biểu tượng phần mềm PICkit 2 và PICkit 3 tại Desktop

Bước 3: Vào tool -> Check Communication để kiểm tra PICKIT đã kết nối thành công

chưa

Trang 10

Hình 1.15 Kiểm tra giao tiếp với Check Communication Bước 4: Xóa chương trình cũ trong PIC: chọn Erase

Hình 1.16 Nút Erase dùng để xóa chương trình trong chip Bước 5: Vào File -> Import Hex -> Chọn tới file hex của chương trình cần nạp

Hình 1.17 Import Hex và Export Hex Bước 6: Nhấn Write để nạp chương trình

Hình 1.18 Ghi chương trình với nút Write

2.4 Giới thiệu modul KIT thực hành PIC16F877A

2.4.1 Sơ đồ khối

Trang 11

MCU PIC16F877A Button

DC DC

Hình 1.19 Sơ đồ khối modul KIT thực hành vi điều khiển PIC 16F877A

Trong đó:

Khối nguồn: Sử dụng nguồn điện đầu từ bộ nguồn Adapter 220AC/12VDC sau đó

được chia làm 2 cấp điện áp 5VDC cấp cho mạch điều khiển và 12VDC cấp cho mạch động

Khối đầu ra số: Gồm các khối Led đơn, Led 7 thanh, Led ma trận, màn hình LCD,

động cơ bước và động cơ một chiều

Khối MCU: Sử dụng vi điều khiển PIC16F877A, khối MCU được thiết kế riêng và

được ghép nối với các khối còn lại thông qua kết nối jump và dây cắm

2.4.2 Sơ đồ nguyên lý

Trang 12

Hình 1.20 Sơ đồ nguyên lý mạch mainboard bộ KIT thực hành

Trang 13

Hình 1.21 Modul KIT thực tập vi điều khiển PIC16F877A thực tế

Trang 14

3 Nội dung thực tập:

3.1 Các bài toán ví dụ

Bài toán 1: Cho sơ đồ kết nối như hình vẽ Viết chương trình điều khiển led D1 sáng nhấp

nháy với chu kỳ T=1 giây

+ Lưu đồ thuật toán:

Trang 15

+ Viết chương trình:

1 #include <16F877A.h> // Khai bao tien xu ly

2 #device ADC=16 // Thiet lap ADC 16bit

3 #FUSES NOWDT //No Watch Dog Timer

4 #FUSES NOBROWNOUT //No brownout reset

5 #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) u

sed for I/O

13 output_low(pin_d0); // Bat led D1

14 delay_ms(500); // Tao tre 500ms

15 output_high(pin_d0); // Tat led D1

16 delay_ms(500); // Tao tre 500ms

17 }

19 }

Bài toán 2: Viết chương trình điều khiển 8 led đơn D1 D8 được nối với Port D sáng dần rồi

tắt dần ngược chiều.(Các led được nối A chung)

+ Lưu đồ thuật giải:

Trang 16

Chương trình:

Trang 17

3.2 Bài tập tự luyện:

Bài tập số 1: Viết chương trình điều khiển led đơn D1 (nối với RD0) sáng tắt 10 lần với tần

số f=1Hz

Bài tập số 2: Viết chương trình điều khiển 8 led đơn D1 D8 được nối với Port D sáng dần

rồi tắt dần ngược chiều 10 lần

Trang 18

Bài tập số 3: Viết chương trình điều khiển 8 led đơn D1 D8 được nối với Port D sáng dần 8

Led từ giữa sáng ra ngoài rồi tắt từ ngoài vào trong

Bài tập số 4: Viết chương trình điều khiển 16 led đơn sáng dần từ giữa ra, tắt dần từ ngoài

vào

Trang 19

Bài tập số 5: Viết chương trình điều khiển 8 LED sáng dồn

Bài tập số 6: Viết chương trình điều khiển 16 led đơn sáng dần rồi tắt dần ngược chiều 5 lần

Chú ý: Thời gian delay giữa các trạng thái led do người lập trình quy định sao cho có thể dễ

quan sát

Trang 20

ĐẠI HỌC SPKT HƯNG YÊN

KHOA ĐIỆN - ĐIỆN TỬ

Bộ môn ĐK&TĐH

THỰC TẬP LẬP TRÌNH C ỨNG DỤNG

BÀI SỐ 2

BÀI THỰC HÀNH ĐIỀU KHIỂN LED 7 THANH

KẾT NỐI TRỰC TIẾP

NGÀY : ……….

SỐ GIỜ TT : ………

LỚP : ……….

TÊN SV : ……….

1 Mục tiêu bài học:

Học xong bài này người học có khả năng:

- Sử dụng tốt phần mềm để lập trình và giải các bài tập cơ bản

- Lập được lưu đồ thuật toán theo yêu cầu công nghệ

- Viết được chương trình điều khiển led 7 thanh kết nối trực tiếp

- Kết nối được mạch phần cứng và vận hành mạch hoạt động

2 Kiến thức cần thiết

2.1 Led 7 thanh

LED 7 thanh hay còn được gọi là LED 7 đoạn, bao gồm 7 đoạn đèn LED được xếp lại với nhau thành hình chữ nhật Khi các đoạn lập trình để chiếu sáng thì sẽ hiển thị chữ số của

hệ thập phân hoặc thập lục phân Đôi khi LED số 8 được hiển thị dấu thập phân khi có nhiều LED 7 thanh được nối với nhau để có thể hiển thị được các số lớn hơn 2 chữ số

Hình 2.1 Cách tạo số từ các thanh led Phân loại LED 7 đoạn:

Dựa vào các cực được nối, có thể phân loại LED 7 đoạn như sau:

Loại dương chung (Common Anode): nếu cực dương (anode) của tất cả 8 LED được nối với nhau và các cực âm (cathode) đứng riêng lẻ

Hình 2.2 Sơ đồ kết nối led 7 thanh kiểu Anode chung

Trang 21

Loại âm chung (Common Cathode): nếu cực âm (cathode) của tất cả 8 LED được nối

với nhau và các cực dương (anode) đứng riêng lẻ

Hình 2.3 Sơ đồ kết nối led 7 thanh kiểu cathode chung Bảng 2.1 Mã cho led anode chung

Trang 23

+ Chương trình điều khiển:

3.2 Bài tập tự luyện

Bài tập số 1: Cho sơ đồ mạch nguyên lý như hình vẽ Viết chương trình hiển thị ngày sinh

của sinh viên trên 2 led 7 thanh

Trang 24

Bài tập số 2: Cho sơ đồ mạch nguyên lý như hình vẽ Viết chương trình hiển thị các số đếm

từ 00 – 99 trên 2 LED 7 thanh

Bài tập số 3: Cho sơ đồ mạch nguyên lý như hình vẽ Viết chương trình hiển thị các số đếm

từ 99 – 00 trên 2 LED 7 thanh

Trang 25

Bài tập số 4: Cho sơ đồ mạch nguyên lý như hình vẽ Viết chương trình hiển thị các số lẻ có

2 chữ số tăng dần trong đoạn 00 – 99 sau đó hiển thị các số chẵn theo chiều ngược lại trên 2

LED 7 thanh

Bài tập số 5: Viết chương trình hiển thị dãy số fibonacci trên 2 LED 7 thanh

Gợi ý: Dãy Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng hai phần tử 0 hoặc 1 và 1,

các phần tử sau đó được thiết lập theo quy tắc mỗi phần tử luôn bằng tổng hai phần tử trước

nó Công thức truy hồi của dãy Fibonacci là:

Ví dụ: 01, 01, 02, 03, 05, 08, 13, 21…

Ngày đăng: 23/12/2022, 00:58

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

w