Đã có rất nhiều tài liệu hướng dẫn học tập về các thế hệ vi xử lý như 89C51, AVR, PIC… Tuy nhiên, những sinh viên mới tiếp cận với kỹ thuật vi xử lý thường gặp khó khăn trong việc thực h
Trang 1S 0 1
S KC 0 0 3 2 2 3
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
KHOA ĐIỆN BỘ MÔN ĐIỆN CÔNG NGHIỆP
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC
Trang 3CHƯƠNG I: ĐẶT VẤN ĐỀ
1.1 Lý do chọn đề tài Trang1 1.2 Tổng quan, tóm lượt đề tài Trang 1 1.3 Những giải pháp đã được giải quyết và vấn đề còn tồn tại Trang 2 1.4 Phương án giải quyết Trang 2
CHƯƠNG II: MỤC TIÊU, PHƯƠNG PHÁP NGHIÊN CỨU
2.1 Mục tiêu nghiên cứu Trang 3 2.2 Phương pháp nghiên cứu Trang 3
CHƯƠNG III: GIẢI QUYẾT VẤN ĐỀ
PHẦN A: NỘI DUNG
3.1 Cơ sở lý luận Trang 4 3.2 Vi điều khiển PIC16F877A Trang 7 3.3 Phần mềm Flowcode Trang 7 3.4 Xây dựng giáo trình điện tử trên nền Web Trang 7 3.5 Kít thí nghiệm Trang 12
PHẦN B: CÁC KẾT QUẢ NGHIÊN CỨU ĐẠT ĐƯỢC
3.6 Ý nghĩa khoa học và hiệu quả kinh tế xã hội Trang 21 3.7 Qui mô và phạm vi ứng dụng Trang 23
CHƯƠNG IV: KẾT LUẬN VÀ KIẾN NGHỊ
4.1 Kết luận Trang 24 4.2 Kiến nghị Trang 24 4.3 Định hướng nghiên cứu trong tương lai Trang 25
CHƯƠNG V: TÀI LIỆU THAM KHẢO VÀ PHỤ LỤC
5.1 Tài liệu tham khảo Trang 26 5.2 Phụ lục A: Vi điều khiển PIC Trang 27 5.3 Phụ lục B: Phần mềm lập trình đồ họa FLOWCODE Trang 32
Trang 4CHƯƠNG I: ĐẶT VẤN ĐỀ
Trong xu hướng hiện nay, các bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi trong sản xuất và đời sống, đặc biệt là trong kỹ thuật tự động hoá và điều khiển từ xa Việc đưa ra phương pháp giảng dạy hiệu quả, tiết kiệm chi phí cho nhà trường và sinh viên là hoàn toàn cấp thiết mang tính thực tế cao, nhằm đáp ứng nhu cầu của xã hội Đã có rất nhiều tài liệu hướng dẫn học tập về các thế hệ vi xử lý như 89C51, AVR, PIC… Tuy nhiên, những sinh viên mới tiếp cận với kỹ thuật vi xử lý thường gặp khó khăn trong việc thực hiện các yêu cầu điều khiển vì không hiểu cặn kẽ
từng câu lệnh
Đồng thời, phát triển các tài liệu điện tử, các Kit thực hành, ứng dụng các phần mềm lập trình tiên tiến vào trong học tập, giảng dạy ngành Điện Tử nói riêng và các ngành thuộc khối kỹ thuật nói chung là định hướng phát triển của bộ giáo dục nhằm nâng cao đội ngũ lao động có trình độ cao của nước ta
Trong đề tài này, chúng tôi nghiên cứu về cách thiết kế các Kit thực hành, tài liệu điện tử và ứng dụng phần mềm tiên tiến cho việc đào tạo sinh viên trong lĩnh vực thiết kế các hệ thống nhúng Chúng tôi tập trung vào xây dựng một “hệ thống” hỗ trợ cho việc học tập môn Vi điều khiển của sinh viên, bao gồm Kit thực hành Vi điều khiển PIC thiết kế theo dạng module, tài liệu hỗ trợ cho thực hành trên Kit được thiết
kế trên nền Web, và phần mềm Flowcode phần mềm tiên tiến cho lập trình vi điều khiển
Với điều kiện kinh tế hiện nay, việc thiết kế các các Kit thí nghiệm dành cho sinh viên thực hành sao cho giá thành thấp, đủ số lượng và đảm bảo chất lượng cho từng xưởng thực hành ở các trường đại học, cao đẳng và trung cấp nghề là rất khó khăn
Trang 5Bên cạnh đó, việc in ấn các tài liệu dạng sách chuyên ngành gây tốn kém và khó khăn trong trong việc chỉnh sửa, vận chuyển Công nghệ phát triển nhanh chóng hàng năm, hàng tháng, thậm chí hàng ngày do đó các tài liệu cần phải chỉnh sửa sao cho phù hợp
Vấn đề vận dụng các công nghệ tiên tiến trên thế giới vào việc giảng dạy trong nhà trường, nâng cao hiệu quả đào tạo cũng đang là vấn đề cấp thiết cho ngành giáo dục
- Thiết kế Kit thí nghiệm cho vi điều khiển theo dạng module
- Xây dựng website hướng dẫn sử dụng vi điều khiển PIC và hướng dẫn sử dụng phần mềm Flowcode
- Các ứng dụng của phần mềm lập trình hiện đại Flowcode
Trang 6CHƯƠNG II: MỤC TIÊU, PHƯƠNG PHÁP NGHIÊN CỨU
Thiết kế, xây dựng một một module học tập cho môn vi điều khiển nhằm nâng cao hiệu quả học tập, giảng dạy so với cách thiết kế hiện nay
Nghiên cứu thông qua các tài liệu nước ngoài về phần mềm Flowcode vì nó khá phổ biến ở nước ngoài
Trực tiếp sử dụng phần mềm và đọc tài liệu hướng dẫn của phần mềm
Thiết kế Kit thực hành và kiểm tra tính hiệu quả so với cách thiết kế thông thường hiện nay
Trang 7CHƯƠNG III: GIẢI QUYẾT VẤN ĐỀ
PHẦN A: NỘI DUNG
3.1.1 Giải thuật
Là một dãy các thao tác xác định trên một đối tượng, sao cho sau khi thực hiện
một số hữu hạn các bước thì đạt mục tiêu
Giải thuật = Logic + Điều khiển
- Logic: Đây là phần khá quan trọng, nó trả lời câu hỏi “Giải thuật làm gì?, giải quyết vấn đề gì?”, những yếu tố nào trong bài toán có quan hệ với nhau như thế nào v.v…Ở đây bao gồm những kiến thức chuyên môn mà bạn phải biết để có thể tiến hành giải bài toán
- Điều khiển: Thành phần này trả lời câu hỏi “Giải thuật phải làm như thế nào?”, chính là cách thức tiến hành áp dụng thành phần logic để giải quyết vấn đề
3.1.2 Chương trình
Là một tập hợp các mô tả, các phát biểu, nằm trong một hệ thống quy ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển máy tính làm việc
Chương trình = Thuật toán + Cấu trúc dữ liệu
Các thuật toán và chương trình đều có cấu trúc dựa trên 3 cấu trúc điều khiển cơ bản:
Tuần tự (Sequential): Các bước thực hiện tuần tự một cách chính xác từ trên xuống, mỗi bước chỉ thực hiện đúng 1 lần
Chọn lọc (Selection): Chọn 1 trong 2 hay nhiều thao tác để thực hiện
Lặp lại (Repetition): Một hay nhiều bước được thực hiện lặp lại một số lần
3.1.3 Lưu đồ
Để dễ hơn về quy trình xử lý, các nhà lập trình đưa ra dạng lưu đồ để minh họa từng bước quá trình xử lý một vấn đề (bài toán)
Trang 8Bảng 2.0: Các quy ước vẽ lưu đồ
3.1.4 Graphical User Interface
GUI là giao diện giữa người và máy tính (user interface), là 1 cách giúp cho người tương tác (trao đổi thông tin) với máy tính bằng việc sử dụng các window, icon, menu, thao tác chuột, bàn phím GUI trái ngược hẳn với giao diện dòng lệnh CLI (command line interface) – người dùng chỉ có thể sử dụng bàn phím để gõ vào 1 câu lệnh, sau đó nhấn Enter để yêu cầu máy tính thực thi lệnh đó, kết quả cuối cùng được hiển thị ra màn hình dưới dạng văn bản Một ví dụ của CLI mà hẳn rất quen thuộc với
Trang 9nhiều người là giao diện của HDH MS-DOS, hoặc sử dụng Linux trong chế độ console toàn bộ màn hình chỉ hiển thị dưới dạng văn bản
Một Icon là hình ảnh (hay biểu tượng) nhỏ trong GUI mà tượng trưng cho một chương trình, 1 lệnh, 1 file, 1 thư mục, hay 1 thiết bị (CD, HDD,USB…)… Icon có thể xuất hiện trên desktop, hay bên trong các chương trình ứng dụng
Ví dụ như một hình chữ nhật nhỏ tượng trưng cho file, 1 cái cặp táp thể hiện thư mục, 1 hình đĩa CD cho ổ CD-ROM…, hay các nút back, forward, home… trong cửa sổ trình duyệt Web
Trong GUI, các lệnh được đưa ra bằng cách bạn dùng chuột, touchpad (trên Laptop) để di chuyển con trỏ chuột trên màn hình để chọn đối tượng (icon, menu, window) cần xử lý
Thuận lợi của GUI:
Làm cho việc thao tác, sử dụng máy tính trở nên đơn giản, trực quan hơn
Ví dụ, để di chuyển 1 file từ folder này sang folder khác bạn chỉ cần kéo thả icon của file đó hơn là phải nhớ và gõ các lệnh để hoàn thành công việc tương tự
Hơn nữa, GUI cung cấp cho người dùng phản hồi trực quan, tức thì về kết quả của hành động đưa ra bởi người dùng
Ví dụ, khi bạn xóa 1 icon biểu thị cho 1 file, icon đó lập tức biến mất, xác nhận rằng file đó đã không còn tồn tại trên hệ thống Điều này khác hẳn với CLI, bạn sẽ không nhận được thông báo, phản hồi nào nhằm biểu thị rằng file đó đã bị xóa
Ngoài ra, GUI còn giúp người dùng đạt được tối đa lợi thế của tính năng multitasking (đa nhiệm – nhiều chương trình chạy đồng thời) được các HDH hiện nay
hỗ trợ khi cho phép hiển thị cùng lúc nhiều cửa sổ chương trình và bạn di chuyển qua lại giữa các tác vụ 1 cách dễ dàng
Chút hạn chế của GUI:
Mặc dù GUI đem lại sự thuận tiện to lớn, nhưng các quản trị hệ thống và người dùng chuyên nghiệp lại ưa thích thao tác với CLI hơn, vì CLI cung cấp tối đa các tùy chọn đem lại tính linh hoạt, uyển chuyển, và rất hữu ích trong việc tự động hóa tác vụ với script, liên lạc giữa các chương trình thông qua pipe (ống dẫn)
Ngoài ra, sử dụng GUI sẽ tiêu tốn nhiều tài nguyên hệ thống (RAM, CPU…) hơn CLI
Trang 10ở Việt Nam, đặc biệt là các sinh viên vừa tiếp cận với kỹ thuật vi xử lý
(Chi tiết hướng dẫn sử dụng xem phụ lục B)
Tài liệu mang tính tương tác cao bao gồm văn bản, âm thanh, hình ảnh, video được tích hợp trên nền Web
3.4.1 Thiết kế Web
- Nghiên cứu các tài liệu tổng quan về Web và lên kịch bản
- Học cách sử dụng các chức năng của phần mềm thiết kế Web chuyên nghiệp Dreamwever
- Tiến hành chuyển đổi nội dung từ kịch bản lên Web
3.4.2 Video hướng dẫn
- Lên kịch bản của video
Trang 11- Quay lại màn hình Desktop các thao tác trên phần mềm Flowcode theo kịch bản
đã định sẵn
- Thu âm lời hướng dẫn theo kịch bản và tiến hành lồng ghép vào video
Giới thiệu sơ lược về website
Giao diện chính của website được thiết kế có các tab:
1 Vi điều khiển Pic
Trang 12 Lý thuyết về vi điều khiển PIC: Các chân I/O, timer, khối CCP, tập lệnh…Sau đây là trình tự thao tác trên giáo trình điện tử để tham khảo lý thuyết về PIC:
Hình 3.2: Mô tả các bước thao tác tìm hiểu về Tab Vi điều khiển PIC trên website
Lý thuyết về Flowcode: Có hướng dẫn cơ bản và các module cụ thể: Led đơn, led 7seg, nút nhấn, LCD, timer
Sau đây là các bước thao tác để tìm hiểu về module LCD trên website:
Hình 3.3: Mô tả các bước thao tác tìm hiểu về Tab Phần mềm Flowcode trên website
Trang 13 Về phần ví dụ lập trình có các ví dụ về :led đơn, led 7seg, LCD, timer Sau đây là thao tác chi tiết thưc hiện trên website để tham khảo ví dụ lập trình về LCD mà nhóm đã thực hiện:
Hình 3.4: Mô tả các bước thao tác tìm hiểu về Tab Ví dụ lập trình trên website
Hình 3.5: Mô tả các về Sử dụng video trên website
Trang 14 Về phần tài liệu tham khảo có: Sách vi xử lý 1,datasheet Pic, tài liệu Flowcode,tài liệu ngôn ngữ C Trình tự thao tác các bước:
Hình 3.6: Mô tả các bước thao tác tìm hiểu về Tab Tham khảo trên website
Trang 16Hình 3.9: Layout khối board trung tâm
Hình 3.10: Sản phẩm thực tế khối board trung tâm
Trang 173.5.2 Các Module
Thành phần chính của các Module là tên linh kiện của Module và cổng COM để kết nối với board chính Thuận lợi của cách thiết kế theo module giúp việc thao tác kết nối được linh động và dễ dàng sửa chữa hoặc thay thế nếu có sự hư hỏng ở bất kỳ module nào:
- Module Led đơn: Gồm 8 led đơn, nối lên nguồn 5V thông qua điện trở 330 Ohm để hạn dòng qua Led Led sẽ sáng khi tín hiệu vi điều khiển xuất ra mức thấp
Hình 3.11: Sơ đồ nguyên lý khối led đơn
Trang 18Hình 3.12: Layout khối led đơn
Hình 3.13: Sản phẩm thực tế khối led đơn
Trang 19- Module LCD: Gồm LCD (16x2) Giao tiếp theo chế độ 4 bit hoặc 8 bit Kèm theo biến trở để chỉnh độ tương phản
Hình 3.14: Sơ đồ nguyên lý khối LCD
Trang 20Hình 3.15: Layout khối LCD
Hình 3.16: Sản phẩm thực tế khối LCD
Trang 21- Module Led 7 đoạn: Gồm 4 Led 7 đoạn, kết nối theo phương pháp quét Led Tất cả các Led đều được nối qua điện trở 330 Ohm để hạn dòng qua Led
Hình 3.17: Sơ đồ nguyên lý khối led 7 đoạn
Hình 3.18: Layout khối led 7 đoạn
Trang 22Hình 3.19: Sản phẩm thực tế khối led 7 đoạn
- Module nút nhấn: Gồm 8 nút nhấn tác động mức thấp
Hình 3.20: Sơ đồ nguyên lý khối nút nhấn
Trang 23Hình 3.21: Layout khối nút nhấn
Hình 3.22: Sản phẩm thực tế khối nút nhấn
Trang 24PHẦN B: CÁC KẾT QUẢ NGHIÊN CỨU ĐẠT ĐƯỢC
Kit được thiết kế theo dạng các module tách rời hoàn toàn Ưu điểm của hướng thiết kế này so với hướng thiết kế trọn bộ hiện nay:
- Dễ dàng cho việc sữa chữa hoặc thay thế nếu có hư hỏng xảy ra, từ đó làm giảm giá thành cho công tác bảo trì
- Thuận tiện cho việc vận chuyền vì các module có thể tháo rời riêng lẽ
- Vì được thiết kế dưới dạng module nên các sinh viên có thể luân phiên xoay vòng sử dụng từng module cho thực hành, từ đó giảm chi phí đầu tư cho việc thiết kế các xưởng thực hành hoặc giúp tăng số lượng các bộ Kit với cùng một chi phí đầu tư như hiện nay
- Giúp cho sinh viên dễ dàng tiếp cận các hệ thống Vì các hệ thống nhúng phức tạp ngày nay đều được thiết kế theo dạng module riêng biệt đảm nhận các chức năng khác nhau Sử dụng phương pháp tiếp cận hệ thống sinh viên có thể xây dựng một hệ thống điện tử phức tạp bằng cách “kết nối” các module với nhau ứng với sơ đồ điều khiển Cách tiếp cận này có một số lợi ích cho người học: cho phép người học xem toàn bộ hệ thống điện tử được xây dựng, người học không cần quan tâm đến chi tiết của chương trình mà tập trung vào việc kết nối
hệ thống cũng như qui trình điều khiển và đây cũng chính là mục đích của các
kỹ sư công nghệ
Tài liệu học tập được thiết kế trên nền Web Ưu điểm của hướng thiết kế này so với tài liệu dạng sách thông thường hiện nay:
- Với sự phát triển mạnh mẽ của Website ngày nay, cho phép chúng ta tích hợp
dễ dàng các văn bản, hình ảnh, âm thanh, các video… hỗ trợ trực quan, sinh động cho người học
- Công nghệ luôn luôn thay đổi do đó ta có thể chình sửa tài liệu một cách dễ dàng, không tốn kém Trong khi các loại sách thông thường thì chúng ta phải bỏ
đi, gây tốn kém tiền bạc cho cá nhân người sử dụng, cũng như toàn xã hội
Trang 25- Website chỉ tốn công xây dựng một lần và có thể chia sẻ rộng rãi cho tất cả mọi người một cách nhanh chóng
Phần mềm Flowcode
- Xu hướng ngày nay trong việc triển khai các phần mềm ứng dụng là tương tác với người dùng qua giao diện đồ họa Flowcode là một phần mềm lập trình vi điều khiển phát huy được tính năng này
- Ngày nay với sự phát triển không ngừng của khoa học và công nghệ, các sản phẩm của khoa học trí tuệ ra đời và đi vào ứng dụng một cách nhanh chóng, giúp con người tiết kiệm được thời gian và công sức bỏ ra nhưng vẫn đạt được hiệu quả cao Với sự hỗ trợ của phần mềm, người lập trình chỉ cần đưa ra cấu trúc của chương trình hoạt động, phần mềm sẽ đảm đương việc sản sinh mã chương trình, trong khi hiện tại người lập trình phải ngổi viết từng dòng mã chương trình rất tốn kém thời gian mà hiệu quả không cao
- Với các linh kiện mô phỏng được thiết kế sát với thực tế, người lập trình có thể kiểm tra ngay tính đúng đắn của chương trình ngay khi vừa viết ra giúp tiết kiệm thời gian Ngoài ra, người lập trình còn có thể xây dựng ngay một hệ thống hoàn chỉnh trên màn hình với sự hỗ trợ của các linh kiện trên trước khi đưa ra ngoài thực tế, giảm thiểu sai sót, tiết kiệm chi phí
- Lợi ích của việc sử dụng các sơ đồ khối là nó cho phép giáo viên sử dụng phương pháp tiếp cận hệ thống để dạy học Cách tiếp cận này có một số lợi ích cho người học: phần mềm cho phép người học xem toàn bộ hệ thống điện tử được xây dựng, phần mềm giúp cho người học phản hồi nhanh các kết quả để kiểm tra, đánh giá, phát triển
- Flowcode cho phép chuyển đổi dễ dàng qua ngôn ngữ khác: C, ASM Học tập các ngôn ngữ này bằng cách đưa thêm đoạn chương trình ở dạng ngôn ngữ C hay ASM dựa vào lưu đồ chương trình
- Lập trình hiện nay được xem là một kỹ năng quan trọng của nhiều tổ chức giáo dục kỹ thuật Nhiều nhà giáo dục cảm thấy khó khăn để quyết định sử dụng ngôn ngữ nào để giảng dạy kỹ năng lập trình cơ bản cho người học Do đó các giáo viên hầu hết bắt đầu giảng dạy một chương trình bằng cách sử dụng các