HƯỚNG DẪN SỬ DỤNG PHẦN MỀM LẬP TRÌNHKEIL CHO ARM CORTEX –M3 STM32F103VETCÁC BÀI THỰC HÀNH LED ĐƠN

30 440 0
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM LẬP TRÌNHKEIL CHO ARM CORTEX –M3 STM32F103VETCÁC BÀI THỰC HÀNH LED ĐƠN

Đ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

Đại Học Sư Phạm Kỹ Thuật Chương 2.Module led đơn Chương HƯỚNG DẪN SỬ DỤNG PHẦN MỀM LẬP TRÌNH KEIL CHO ARM CORTEX – M3 STM32F103VET CÁC BÀI THỰC HÀNH LED ĐƠN  GIỚI THIỆU • •     CÀI ĐẶT CHƯƠNG TRÌNH CÁCH VIẾT CHƯƠNG TRÌNH GIAO TIẾP VI ĐIỀU KHIỂN VỚI LED ĐƠN SỬ DỤNG PHẦN MỀM LẬP TRÌNH C CHO VI ĐIỀU KHIỂN CÁC CHƯƠNG TRÌNH ĐIỀU KHIỂN LED ĐƠN CÁC CHƯƠNG TRÌNH GIAO TIẾP NÚT NHẤN Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 23 Chương 2.Module led đơn I Đại Học Sư Phạm Kỹ Thuật GIỚI THIỆU Chương trình bày cách sử dụng phần mềm KEIL – ARM để tạo project lập trình cho ARM cortex – M3 STM32F Sau biết cách tạo project thực điều khiển khác II CÁCH TẠO PROJECT Cách tạo project lập trình cho ARM giống lập trình cho vi điều khiển AT89Sxx, có vài khác biệt, chi tiết tiến hành sau u cầu: tạo project điều khiển led đơn chớp tắt Thực hiện: ARM dòng 32 bit với tài ngun cấu trúc lớn nhiều so với vi điều khiển bit hổ trợ thư viện nhiều nên lập trình ta phải khai báo thư viện cho sẵn Mỗi project chứa nhiều file nên phải tạo nhiều thư mục để lưu loại file khác ví dụ thư mục lưu thư viện, thư mục lưu file phát sinh sau biên dịch, thư mục lưu file biên dịch trung gian, … Bước 1: Tạo thư mục cha để lưu tất project, tiến hành tạo thư mục để lưu project led chớp tắt Kết sau tạo thư mục hình sau Hình 2-2 Thư mục cha thư mục Bước 2: Tiến hành copy thư mục chứa file thư viện từ project có sẵn chạy vào thư mục project mà bạn xây dựng, tên thư mục khác khơng quan trọng, kết sau copy sau: Hình 2-3 Sau copy thư mục có tên Source Các thành phần có thư mục hình sau: 24 Nguyễn Đình Phú Thực hành vi điều khiển ARM STM32 Đại Học Sư Phạm Kỹ Thuật Chương 2.Module led đơn Hình 2-4 Các thư mục thư mục Source Bên thư mục có thư mục lưu file thư viện file để xây dựng project Bước 3: Khởi động phần mềm KEIL sau: Hình 2-5 Giao diện phần mềm Keil Bước 4: Tạo project theo trình tự hình sau: Hình 2-6 Tiến hành tạo project Một giao diện xuất hiện, bạn tiến hành chọn thư mục lưu project đánh tên cho project tùy ý đặt tên LED_CHOPTAT, kết hình sau: Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 25 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Hình 2-7 Đặt tên, chọn đường dẫn lưu project Một giao diện xuất u cầu bạn chọn loại ARM, bạn tiến hành chọn mục ARM “STMicroelectronis” chọn chip cho với kit sử dụng, kết hình sau: Hình 2-8 Chọn thơng số cho chip 26 Nguyễn Đình Phú Thực hành vi điều khiển ARM STM32 Đại Học Sư Phạm Kỹ Thuật Chương 2.Module led đơn Tiến hành nhấn Ok, giao diện thơng báo xuất u cầu tạo file Startup mới, bạn nên chọn No file có sẵn thư viện mà đa copy Màn sau: Hình 2-9 Màn hình chưa có Bước 5: Tiến hành gán tên project, thiết lập nhóm, gán thư viện: Chọn biểu tượng hình sau: Hình 2-10 Chọn biểu tượng gán Khi giao diện xuất hình sau: Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 27 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Hình 2-11 Giao diện thay đổi tên đường dẫn Trong giao diện bạn thấy có cột, cột thứ tên project target1 cột thứ có tên Source Group1, tên phần mềm tạo ra, ta cần phải thay tên Kết thay đổi tên project thành lập group hình sau: Hình 2-12 Sau thay đổi tên Tên group đặt tùy ý Cách thực hiện: bạn để dấu nháy cột thứ tiến hành đánh tên xong Chuyển sang cột thứ đánh hàng thứ xong nhấn enter bấm vào vng gần xóa để tạo hàng đánh tên cho group thứ 2, tương tự cho group thứ Tiếp theo gán file cho group: Gán file cho group CMSIS: chọn group CMSIS chọn Add Files nằm cột thứ giao diện xuất hình sau: 28 Nguyễn Đình Phú Thực hành vi điều khiển ARM STM32 Đại Học Sư Phạm Kỹ Thuật Chương 2.Module led đơn Hình 2-13 Giao diện chọn file để Add Tiến hành vào thư mục Source tìm file bấm Add để đưa vào group hình sau: Hình 2-14 Chọn file để add Group CMSIS cần lưu file này, sau bấm close để trở lại, hình sau add cho group CMSIS hình sau: Hình 2-15 Kết sau add cho group CMSIS Tương tự bạn chọn group APP tìm file add, kết group App hình sau: Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 29 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Hình 2-16 Kết sau add cho group APP Tương tự bạn chọn group LIB tìm file add, kết group LIB hình sau: Hình 2-17 Kết sau add cho group LIB Sau nhấn OK để đóng phần này, giao diện sau: Hình 2-18 Giao diện hình sau gán cho group 30 Nguyễn Đình Phú Thực hành vi điều khiển ARM STM32 Đại Học Sư Phạm Kỹ Thuật Chương 2.Module led đơn Bước 6: Tiến hành thiết lập lựa chọn cho project cách bấm vào biểu tượng có tên “Target Option” Một giao diện xuất tiến hành chọn tab có tên “Output” tick vào mục tạo file hex hình sau: Hình 2-19 Tick xây dựng file hex Sau bấm vào tương ứng với số để tạo thư mục lưu file phát sinh biên dịch Giao diện sau xuất hiện: Hình 2-20 Giao diện tạo thư mục Bạn tiến hành tạo thêm thư mục có tên obj mở thư mục để thiết lập đường dẫn cho phần mềm biết file đối tượng sau tạo trình biên dịch lưu vào thư mục cho dễ quản lý Kết hình sau: Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 31 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Hình 2-21 Sau thiết lập thư mục obj Sau tạo thư mục obj vào ln thư mục (số 1) đường dẫn tạo trỏ đến thư mục (số 2), nhấn Ok (số 3) để kết thúc tab Tiến hành chọn tab Listing bấm vào để thiết lập thư mục lưu file lst trình biên dịch tạo giống vừa làm cho obj Kết sau thực hình sau: Hình 2-22 Sau thiết lập thư mục lst Tiến hành chọn tab C/C++ bấm vào dấu chấm hàng “Include Paths” để thiết lập đường dẫn cho file cho trình biên dịch biết để biên dịch Một giao diện xuất chưa có đường dẫn, bạn tiến hành thiết lập đường dẫn kết sau: 32 Nguyễn Đình Phú Thực hành vi điều khiển ARM STM32 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật GPIO_SetBits(GPIOD, GPIO_Pin_11); Delay(0xEFFFF); GPIO_ResetBits(GPIOD, GPIO_Pin_8); Delay(0xEFFFF); GPIO_ResetBits(GPIOD, GPIO_Pin_9); Delay(0xEFFFF); GPIO_ResetBits(GPIOD, GPIO_Pin_10); Delay(0xEFFFF); GPIO_ResetBits(GPIOD, GPIO_Pin_11); Delay(0xEFFFF); /* Turn off LD1 */ } } d e Tiến hành biên dịch nạp Quan sát kết quả: kết khơng u cầu kiểm tra lại chương trình Bài tập 2-3 Chương trình điều khiển 32 LED đơn nhấp nháy Tạo thư mục “BAI_997_32_LED_CHOPTAT” để lưu project Bài mẫu 2-4 Chương trình điều khiển 32 LED đơn nhấp nháy lần sáng ln Tạo thư mục “BAI_996_32_LED_CHOPTAT_5” để lưu project a Mạch điện : b Lưu đồ: c.Chương trình: #include signed char i; void delay(unsigned int x) { unsigned int y; for(y=0;y8); } void MAIN () { Z = 0x0000; XUAT2PORT(); delay (5000); while (1) { for(i = 0; i < 16; i++) { Z = (Z 1) + 0x8000; XUAT2PORT (); delay (5000); for(i = 0; i < 16; i++) { Z = (Z >> 1); XUAT2PORT (); delay (5000); } } d Tiến hành biên dịch nạp e Quan sát kết quả: kết khơng u cầu kiểm tra lại chương trình f.Giải thích chương trình: Cách thực port, dài, cách sau xử lý 16 bit DEM Trước dịch 42 0000 0000 0000 1000 0000 Sau dịch 0000 0000 0000 0000 0100 0000 Sau cộng 1000_0000 0x8000 0000 1000 0000 0000 0000 Nguyễn Đình Phú } } } } gọn = 1100 0000 Thực hành vi điều khiển ARM STM32 Đại Học Sư Phạm Kỹ Thuật 1100 0000 Chương 2.Module led đơn … Bài mẫu 2-9 Chương trình điều khiển 32 LED sáng dần tắt dần từ phải sang trái, trái sang phải Tạo thư mục “BAI_990_32_LED_STD_PST_TSP” để lưu project a Mạch điện: b Lưu đồ: c Chương trình: #include unsigned int Z,V; signed char i; unsigned long W; void delay( unsigned int x) { unsigned int y; for( y =0;y>8); P2 = V; P3 = (V>>8); } void tach_16bit_xuat4port() { Z = W; V = W>>16; xuat4port() ; } void stdan_pstrai() { for(i=0;i[...]... khảo sát các bài ứng dụng theo sau Bài mẫu 2-21 Dùng vi điều khiển AT89S52 giao tiếp với 8 led đơn và 2 nút nhấn ON, OFF Khi cấp điện thì 8 led tắt, khi nhấn ON thì 8 led sáng, khi nhấn OFF thì 8 led tắt Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 47 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Tạo thư mục “BAI_969_ 8LED_ ON_OFF” để lưu project a Mạch điện: kết nối port0 với 8 led đơn, 3 nút... 2.Module led đơn Bài mẫu 2-22 Dùng vi điều khiển AT89S52 giao tiếp với 8 led đơn và 3 nút nhấn ON, OFF, INV Khi cấp điện thì 8 led tắt, khi nhấn ON thì 4 led phải sáng, 4 led trái tắt, khi nhấn INV thì 4 led sáng thành tắt, 4 led tắt thành sáng, khi nhấn OFF thì 8 led tắt Tạo thư mục “BAI_968_ 8LED_ ON_OFF_INV” để lưu project a b Mạch điện: giống hình 2-23 Lưu đồ: Hình 2-23: Lưu đồ điều khiển led ON-OFF-INV... 2-25 Kết quả sau khi biên dịch Bước 9: Tiến hành nạp và quan sát kết quả sau khi nạp III CÁC CHƯƠNG TRÌNH ĐIỀU KHIỂN LED ĐƠN Sau khi thực hiện xong bài 2-1 thì tiến hành làm bài 2-2, vào “Project”, chọn mục “Close projet” để đóng project Thực hiện tương tự cho các bài tiếp theo Bài mẫu 2-2 Chương trình điều khiển 4 LED đơn sáng tắt dần Tạo thư mục “BAI_998_ 4LED_ STD” để lưu project a Mạch điện: b Lưu... vào đảo chiều cho 2 phím UP và DN Tạo thư mục “BAI_965_1 6LED_ UP_DN_CLR_2” để lưu project Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 51 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Bài tập 2-26 Dùng vi điều khiển AT89S52 giao tiếp với 16 led đơn và 3 nút nhấn được đặt tên là UP, DN, CLR Hệ thống điều khiển 16 led với các chương trình như sau: 1 Chớp tắt 16 led 2 Sáng tắt dần 16 led từ phải... Đình Phú Thực hành vi điều khiển ARM STM32 Đại Học Sư Phạm Kỹ Thuật Chương 2.Module led đơn } } } d e Tiến hành biên dịch và nạp Quan sát kết quả: nếu kết quả khơng đúng u cầu thì kiểm tra lại chương trình Bài tập 2-16 Chương trình điều khiển 32 LED sáng dồn từ trong ra Viết thêm chương trình con sáng dồn 32 led từ trong ra vào chương trình tổng hợp Bài tập 2-17 Chương trình điều khiển 32 LED chạy... Kỹ Thuật Chương 2.Module led đơn Hình 2-23 Thiết lập đường dẫn cho các file để biên dịch Tiến hành chọn tab Linker rồi tick vào ơ chọn “Use Memory layout …” Tiến hành chọn tab Utilities rồi chọn loại bộ nạp mà bạn đang có, ở đây tác giả sử dụng bộ nạp có tên là Cortex- M3 J-LINK (số 1) Hình 2-24 Chọn bộ nạp Tiếp theo bấm vào ơ Setting (số 2), một giao diện mới xuất hiện, tiến hành tick vào ơ “Reset and... biên dịch và nạp Quan sát kết quả: nếu kết quả khơng đúng u cầu thì kiểm tra lại chương trình Bài tập 2-3 Chương trình điều khiển 32 LED đơn nhấp nháy Tạo thư mục “BAI_997_32 _LED_ CHOPTAT” để lưu project Bài mẫu 2-4 Chương trình điều khiển 32 LED đơn nhấp nháy 5 lần rồi sáng ln Tạo thư mục “BAI_996_32 _LED_ CHOPTAT_5” để lưu project a Mạch điện : b Lưu đồ: c.Chương trình: #include signed char... nhấn thì 1 led sáng, khi nhấn DN thì led tắt dần theo chiều ngược lại, khi nhấn CLR thì xóa hết Tạo thư mục “BAI_966_1 6LED_ UP_DN_CLR_1” để lưu project Bài tập 2-25 Dùng vi điều khiển AT89S52 giao tiếp với 16 led đơn và 3 nút nhấn được đặt tên là UP, DN, CLR_DIR Khi cấp điện thì 16 led tắt, khi nhấn UP thì led sáng dần lên từ phải sang trái – mỗi lần nhấn thì 1 led sáng, khi nhấn DN thì led tắt dần... delay(5000); } delay(5000); } } } d Tiến hành biên dịch và nạp e Quan sát kết quả: nếu kết quả khơng đúng u cầu thì kiểm tra lại chương trình f.Giải thích chương trình: Lệnh “P0 = 0x00;” làm cho port0 bằng 00 để tắt 8 led, delay để nhìn thấy Thực hành vi điều khiển ARM STM32 Nguyễn Đình Phú 39 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Vòng lặp for thực hiện 8 lần: mỗi lần thực hiện lệnh: “P0 = (P0

Ngày đăng: 10/04/2016, 18:57

Từ khóa liên quan

Mục lục

  • HƯỚNG DẪN SỬ DỤNG

  • PHẦN MỀM LẬP TRÌNH KEIL CHO ARM CORTEX – M3 STM32F103VET

  • CÁC BÀI THỰC HÀNH

  • LED ĐƠN

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

Tài liệu liên quan