Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
784,64 KB
Nội dung
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 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 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đạ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 STM32Nguyễ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 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đạ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 STM32Nguyễ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 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đạ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 STM32Nguyễ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 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đạ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 STM32Nguyễ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 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật GPIO_SetBits(GPIOD, GPIO_Pin_8); /* Turn off LD1 */ Delay(0xEFFFF); GPIO_SetBits(GPIOD, GPIO_Pin_9); Delay(0xEFFFF); GPIO_SetBits(GPIOD, GPIO_Pin_10); Delay(0xEFFFF); 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 gọn 42 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đại Học Sư Phạm Kỹ Thuật DEM Trước dịch 0000 0000 0000 1000 0000 1100 0000 Chương 2.Module led đơn Sau dịch 0000 0000 0000 0000 0100 0000 … Sau cộng 1000_0000 0x8000 0000 1000 0000 0000 0000 = 1100 0000 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[...]... cầu thì kiểm tra lại chương trình Bài tập 2-14 Hãy viết chương trình con điều khiển 32 LED sáng dồn từ trái sang phải Thêm chương trình con sáng dồn 32 led từ trái sang phải vào chương trình tổng hợp Bài mẫu 2-15 Chương trình điều khiển 32 LED sáng dồn từ ngồi vào Thêm chương trình con sáng dồn 32 led từ trái sang phải vào chương trình tổng hợp a Mạch điện: b Lưu đồ: c Chương trình: void sangdon_tnv()... vi điều khiển chạy chương trình 1 Khi nhấn UP thì chuyển sang chương trình kế theo chiều tăng - khi đến chương trình số 7 thì ngừng Khi nhấn DN thì chuyển sang chương trình kế theo chiều giảm - khi đến chương trình số 1 thì ngừng Khi nhấn CLR thì quay về chương trình số 1 Tạo thư mục “BAI_964_TONGHOP_UP_DN_CLR” để lưu project 52 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM ...Đại Học Sư Phạm 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... ARM STM32Nguyễn Đình Phú 45 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật 6 Sáng dần tắt dần từ ngồi vào và từ trong ra – 2 lần 7 Chớp tắt 5 lần 8 Sáng dần phải sang trái, tắt dần từ trái sang phải – 2 lần 9 Chớp tắt 5 lần 10 Sáng dần trái sang phải, tắt dần từ phải sang trái – 2 lần Chú ý: ghép thêm các chương trình con Tạo thư mục “BAI_987_32_LED_TONGHOP_2” để lưu project Bài mẫu 2-13 Chương trình. .. đồ và chương trình xử lý phần chống dội và chờ bng phím INV Bài mẫu 2-23 Giống bài 2-22 nhưng chống dội cho phím INV Tạo thư mục “BAI_967_8LED_ON_OFF_INV_CD” để lưu project a b Mạch điện: giống hình 2-23 Lưu đồ: Hình 2-24: Lưu đồ điều khiển led ON-OFF-INV có chống dội c Chương trình: #include #define ON P3_0 #define OFF P3_1 50 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đại Học Sư... 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 i; void delay(unsigned... chương trình f Giải thích chương trình: Cách này thực hiện từng port, hơi dài, cách sau xử lý 16 bit sẽ gọn hơn 42 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đại Học Sư Phạm Kỹ Thuật DEM Trước khi dịch 0 1 2 0000 0000 0000 1000 0000 1100 0000 Chương 2.Module led đơn Sau khi dịch 0000 0000 0000 0000 0100 0000 … Sau khi cộng 1000_0000 0x8000 0000 1000 0000 0000 0000 = 1100 0000 Bài mẫu 2-9 Chương trình. .. kết quả: nếu kết quả khơng đúng u cầu thì kiểm tra lại chương trình Thực hành vi điều khiển ARM STM32Nguyễn Đình Phú 43 Chương 2.Module led đơn Đại Học Sư Phạm Kỹ Thuật Bài mẫu 2-10 Chương trình điều khiển 32 LED sáng tắt dần từ ngồi vào, từ trong ra Tạo thư mục “BAI_989_32_LED_STD_TNV_TTR” để lưu project a Mạch điện: b Lưu đồ: c Chương trình: #include unsigned int Z,V; signed char i; void... 0xFF; P1 = 0xFF; } while(1) {} } f Tiến hành biên dịch và nạp 38 STM32 P2 = 0x00; P2 = 0xFF; Nguyễn Đình Phú P3 = 0x00; P3 = 0xFF; delay(5000); delay(5000); Thực hành vi điều khiển ARM Đại Học Sư Phạm Kỹ Thuật Chương 2.Module led đơn g 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 h Giải thích chương trình: Cho vòng lặp for thực hiện chóp tắt 5 lần, sau đó thực hiện vòng... 8; i++) { P0 = (P0 ... 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. .. 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 STM32Nguyễn Đình Phú 31 Chương... 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 STM32 Nguyễn Đình Phú Thực hành vi điều khiển ARM Đại