TUYÊN BBN QUYỀN:
Tài liệu này thuộc loại sách giáo trình n các nguồn thông tin có th đưc phép
ng nguyên bản hoc trích ng cho các mục đích v đào tạo tham kho.
Mọi mục đích khác mang tính lệch lc hoặc s dụng với mục đích kinh doanh thiếu
nh mạnh s bị nghiêm cm.
ỦY BAN NHÂN DÂN TỈNH TRÀ VINH
TRƯỜNG CAO ĐẲNG NGHỀ TRÀ VINH
GIÁO TRÌNH
MÔ ĐUN: NGÔN NGỮ LẬP TRÌNH C
NGÀNH, NGHỀ: TỰ ĐỘNG HÓA CÔNG NGHIỆP
TRÌNH ĐỘ: CAO ĐẲNG
Ban hành kèm theo quyết định số: ……QĐ/CĐN, ngày … tháng …. năm 20…
của Hiệu trưởng Trường cao đẳng nghề Trà Vinh
Trà Vinh, năm 2021
(Lưu hành nội bộ)
TUYÊN BỐ BẢN QUYỀN:
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin thể được phép
dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu
lành mạnh sẽ bị nghiêm cấm.
LỜI GIỚI THIỆU
Để phục vụ cho việc giảng dạy nội dung môn học Ngon ngữ lập trình C theo
chương trình đào tạo nghề tự động hóa công nghiệp trình độ cao đẳng. Quyển giáo trình
này sẽ cung cấp những kiến thức cơ bản về các hàm, thuận toán chương trình.
Sau một thời gian khảo sát nghiên cứu tài liệu cũng như trong thực tiễn về lĩnh
vực Điện- Điện tử chúng tôi viết giáo trình y nhằm phục vụ cho công tác giảng dạy
giáo dục nghề nghiệp. Để hoàn thành được quyển giáo trình này s giúp sức không
nhỏ của trường cao đẳng nghề Trà Vinh và tập thể đội ngũ giáo viên trong Khoa Kỹ thuật
Điện, Điện lạnh và Điện tử. Giáo trình này được biên soạn để giảng dạy cho người học ở
trình độ trung cấp kỹ thuật chuyên ngành Điện tử dân dụng.
Mặc nhóm tác giả đã nhiều cố gắng, song thiếu sót khó tránh. Rất mong
nhận được sự đóng góp ý kiến của các thầy giáo bạn đọc để giáo trình được hoàn
thiện hơn!
Trà Vinh, ngày tháng 5 năm 2020
Tham gia biên soạn
1. Chủ biên: Trần Văn Hồng
2. Thành viên: Trần Hoàng Binh
3. Thành viên: Lâm Thị Thanh Nga
MỤC LỤC
Trang
Bài 1: Ngôn ngữ C - Trình dịch Keil C..............................................................................1
1. Ngôn ngữ C cho vi điều khiển.......................................................................................1
1.1. Giới thiệu ngôn ngữ C.................................................................................................1
1.2. Ngôn ngữ C.................................................................................................................1
2. Trình biên dịch Keil C (compiler)..................................................................................9
2.1. Khởi tạo cho Project....................................................................................................9
2.2. Soạn thảo chương trình.............................................................................................14
2.3. Biên dịch một chương trình.......................................................................................15
Bài 2: Hiển thị LCD, Giao tiếp bàn phím Hex, Hiển thị ma trận Led..............................24
1. LCD.............................................................................................................................24
1.1. Ghép nối vi điều khiển với LCD 16x2......................................................................24
2.Nguyên lí hoạt động của LCD.......................................................................................25
3. Phần luyện tập:.............................................................................................................26
2. Giao tiếp bàn phím Hex (ma trận phím 4x4)................................................................28
2.1. Thuật toán đọc bàn phím...........................................................................................28
2.2. Chương trình.............................................................................................................29
Bài 3: Giao tiếp ADC - Xử lý ngắt...................................................................................41
1. Giao tiếp ADC.............................................................................................................41
2. Lập trình xử lý ngắt 1. Ngắt timer/counter...................................................................43
2.1. Cơ chế tạo trễ của timer và cách tính toán giá trị nạp vào timer................................43
2.2. Ngắt của bộ định thời................................................................................................44
2.3. Bài toán:....................................................................................................................45
3. Lập trình với các ngắt ngoài của vi điều khiển.............................................................48
3.1. Khái niệm:.................................................................................................................48
3.2. Cách lập trình:...........................................................................................................48
3.3. Bài toán:....................................................................................................................49
Bài 4: Điều khiển động cơ DC, động cơ Servo, động cơ bước.........................................50
1. Đông cơ DC.................................................................................................................50
1.1. Động cơ Servo..........................................................................................................50
1.2. Động cơ bước (Step motor).......................................................................................50
1. Cổng truyền thông nối tiếp...........................................................................................53
2. Chương trình vi điều khiển..........................................................................................55
GIÁO TRÌNH MÔN HỌC
Tên môn học: Ngôn ngữ lập trình C
Mã môn học: MĐ26
Vị trí, tính chất môn học:
- Vị trí: Môn học Môn học được bố trí học sau khi học xong môn học An toàn lao
động và học song song với các môn học Mạch điện, Vật liệu điện, Khí cụ điện
- Tính chất: Là môn học chuyên môn bắt buộc.
Mục tiêu môn học:
Cung cấp cho học sinh những khái niệm bản về ngôn ngữ lập trình C: câu
lệnh, từ khóa, pháp, cách khai báo sử dụng biến, hàm các cấu trúc lệnh trong
ngôn ngữ C; Hiểu được ý nghĩa, cách khai báo, cách truy xuất với một số cấu trúc dữ
liệu; Biết được một số thuật toán để xử lý một số yêu cầu đơn giản;
Lập trình được một số chương trình ứng dụng đơn giản bằng ngôn ngữ lập
trình C; Đọc hiểu và chỉnh sửa các chương trình C có sẵn;
Nghiêm túc tích cực trong việc học thuyết làm bài tập, chủ động tìm
kiếm các bài tập ứng dụng liên quan.
Nội dung chính: