BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠNG NGHỆ THÔNG TIN MÔN HỆ THỐNG NHÚNG ĐỒ ÁN CUỐI KỲ ĐỀ TÀI: GIAO TIẾP VỚI MÀN HÌNH CẢM ỨNG Giảng viên hướng dẫn: ThS Đinh Công Đoan Giao tiếp với hình cảm ứng BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN MÔN HỆ THỐNG NHÚNG ĐỒ ÁN CUỐI KỲ ĐỀ TÀI: GIAO TIẾP VỚI MÀN HÌNH CẢM ỨNG Giảng viên hướng dẫn: ThS Đinh Cơng Đoan Sinh viên thực hiện: Nguyễn Văn Hải Phan Vũ Minh Hiển Bùi Công Hiếu 16110318 16110323 16110324 TP Hồ Chí Minh, tháng 12 năm 2019 Giao tiếp với hình cảm ứng NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… TP.Hồ Chí Minh, tháng 12 năm 2019 Giảng viên hướng dẫn (Ký tên) Đinh Cơng Đoan Giao tiếp với hình cảm ứng LỜI NÓI ĐẦU Ngày nay, hệ thống nhúng trở nên phổ biến đóng vai trị quan trọng đời sống người Ví dụ quanh ta có nhiều sản phẩm nhúng lị vi sóng, nồi cơm điện, điều hịa, điện thoại di động, tơ, máy bay, tàu thủy, cấu chấp hành thông minh, robot ta thấy hệ thống nhúng có mặt lúc nơi sống Qua môn học hệ thống nhúng, chúng em hiểu thêm hệ thống nhúng thực tế, đặc điểm, tính ưu việt tính ứng dụng chúng người Với mong muốn làm rõ kiến thức học giới thiệu ứng dụng hệ thống nhúng, nhóm chúng em tìm hiểu mơ hình cảm ứng kit nhúng Do thời gian thực kiến thức hạn chế nên nhiều sai sót q trình thực đề tài, mong bổ sung đóng góp thầy bạn Chúng em xin chân thành cảm ơn thầy Đinh Cơng Đoan tận tình hướng dẫn giúp đỡ chúng em thực hồn thành đề tài Nhóm sinh viên thực hiên Giao tiếp với hình cảm ứng MỤC LỤC PHẦN MỞ ĐẦU Giới thiệu hệ thống nhúng Xuất từ năm đầu thập niên 1960, hệ thống nhúng dần trở thành ngành phát triển mạnh mẽ lĩnh vực Công nghệ thông tin, với ứng dụng rộng rãi cồn nghiệp đời sống Theo chuyên gia, ước tính đến 2010, doanh số thị trường phần mềm cho hệ thống nhúng toàn cầu đạt cột mốc tỷ đơ-la Mỹ Điều dự báo nói trên, với xuất ngày nhiều đối tác lớn lĩnh vực Việt Nam mở hướng cho thị trường phần mềm tương lai Hệ thống nhúng (Embedded system) thuật ngữ để hệ thống có khả tự trị nhúng vào môi trường hay hệ thống mẹ Đó hệ thống tích hợp phần cứng phần mềm phục vụ tốn chun dụng nhiều lĩnh vực cơng nghiệp, tự động hoá điều khiển, quan trắc truyền tin Đặc điểm hệ thống nhúng hoạt động ổn định có tính tự động hố cao Tiểu luận môn Hệ thống nhúng Giao tiếp với hình cảm ứng Đặt vấn đề 2.1 Tóm lược nghiên cứu ngồi nước Ngoài nước: Hệ thống nhúng Apollo Guidance Computer (Máy tính Dẫn đường Apollo) phát triển Charles Stark Draper phịng thí nghiệm trường đại học MIT Hệ thống nhúng sản xuất hàng loạt máy hướng dẫn cho tên lửa quân vào năm 1961 Nó máy hướng dẫn Autonetics D-17, xây dựng sử dụng bóng bán dẫn đĩa cứng để trì nhớ Khi Minuteman II đưa vào sản xuất năm 1996, D-17 thay với máy tính sử dụng mạch tích hợp Tính thiết kế chủ yếu máy tính Minuteman đưa thuật tốn lập trình lại sau để làm cho tên lửa xác hơn, máy tính kiểm tra tên lửa, giảm trọng lượng cáp điện đầu nối điện Vào thập niên 80, kỹ thuật mạch tích hợp đạt trình độ cao dẫn đến nhiều thành phần đưa vào chip xử lý Các vi xử lý gọi vi điều khiển chấp nhận rộng rãi Với giá thấp, vi điều khiển trở nên hấp dẫn để xây dựng hệ thống chuyên dụng Đã có bùng nổ số lượng hệ thống nhúng tất lĩnh vực thị trường số nhà đầu tư sản xuất theo hướng Ví dụ, nhiều chip xử lý đặc biệt xuất với nhiều giao diện lập trình kiểu song song truyền thống để kết nối vi xử lý Vào cuối năm 80, hệ thống nhúng trở nên phổ biến hầu hết thiết bị điện tử khuynh hướng tiếp tục Trong nước: Hiện nay, lĩnh vực hệ thống nhúng Việt Nam có bước chập chững ban đầu, với sản phẩm “Made in Vietnam” ứng dụng vào thực tế Công việc chủ yếu gia cơng phần mềm cho nước ngồi, chiếm tỷ lệ lớn thị trường Nhật, Mỹ châu Âu Rất nhiều hãng sản xuất phần mềm lớn “đổ bộ” vào thị trường Việt Nam để tận dụng lợi nguồn nhân lực giá rẻ khai thác thị trường tiềm IBM, CSC, Altera… Tuy nhiên, Việt Nam đối đầu với thách thức lớn, “đầu vào” nguồn nhân lực cho thị trường phần mềm nói chung phần mềm cho hệ thống Tiểu luận môn Hệ thống nhúng Giao tiếp với hình cảm ứng nhúng nói riêng Ở lĩnh vực phần mềm đơn thuần, nhân viên vào nghề cần từ ba đến sáu tháng huấn luyện làm tốt cơng việc giao Cịn ngành gia công phần mềm cho hệ thống nhúng, nhân viên cần sáu tháng đến năm để bắt đầu làm việc có hiệu quả, từ hai đến ba năm làm việc thành thạo Việc tuyển người đào tạo khó, việc giữ người lại khó Đặc thù ngành đòi hỏi nhân viên phải có kiên trì bền bỉ để nắm bắt kiến thức cần thiết, đồng thời cần thời gian dài thấy thành Đó lý tỷ lệ chuyển nghỉ việc lĩnh vực cao, trung bình 12-20% Tuy nhiên, người gắn bó với ngành có phần thưởng tương xứng, tích lũy nhiều kiến thức phần mềm phần cứng liên quan, thường xuyên có đổi mới, tránh nhàm chán công việc Một điểm yếu khác góp phần làm hạn chế phát triển ngành gia cơng phần mềm Việt Nam nhân viên thiếu khả giao tiếp tiếng Anh kỹ mềm khả thuyết trình, làm việc theo nhóm, quản lý thời gian… Như nói, nhân viên ngành hệ thống nhúng cần phải có giao tiếp chặt chẽ với khách hàng nhóm làm việc nước ngồi khác Tiếng Anh kỹ mềm tiếng nói chung giúp người hiểu làm việc với hữu hiệu Tuy nhiên, trình độ tiếng Anh sinh viên trường phần lớn không đáp ứng yêu cầu nhà tuyển dụng, cịn kỹ mềm khơng trọng Bên cạnh việc đào tạo kỹ thuật, cơng ty cịn cần phải huấn luyện thêm nhiều tiếng Anh kỹ mềm để nhân viên theo kịp đáp ứng yêu cầu môi trường làm việc đa văn hóa Muốn phát triển ngành phần mềm hệ thống nhúng lên tầm cao sản xuất, ứng dụng thực tế xuất phần mềm nhúng Việt Nam, điều tiên phải tập trung phát triển lĩnh vực nghiên cứu phát triển (R&D) Hiện có số chương trình hợp tác với hãng lớn nước Toshiba, Panasonic, STMicroelectronics, Samsung… để phát triển theo hướng Tuy nhiên, chương trình cịn hạn chế khơng có định hướng chiến lược chung Việt Nam cần phải đẩy mạnh vấn đề định hướng nghiên cứu phát triển cho ngành hệ thống nhúng từ trường đại học trung Tiểu luận môn Hệ thống nhúng Giao tiếp với hình cảm ứng tâm nghiên cứu, trang bị kiến thức tổng quát lĩnh vực cho sinh viên trẻ, đáp ứng nhu cầu ngày cao nhà tuyển dụng Trong tương lai, Việt Nam muốn nâng cao khả cạnh tranh với nước chuyên gia công phần mềm lớn khác Trung Quốc, Ấn Độ…, cần phải tập trung giải toán tăng cường tính hiệu nguồn nhân lực, phát triển tập trung theo chiều sâu thay chiều rộng Trình độ chun mơn lĩnh vực phần mềm nhúng tương đối “chắp vá” theo kiểu đâu làm đó, thiếu đầu tư chiến lược phát triển hợp lý Chúng ta cần có thêm nhiều chương trình đào tạo chun ngành hệ thống nhúng từ trường đại học sở đào tạo quy Đồng thời, mở rộng cửa đón nhà đầu tư để học hỏi kỹ thuật chuyển giao công nghệ, q trình phải thực cách có chọn lọc kiểm sốt, tránh tình trạng biến Việt Nam thành “bãi đáp” tiếp nhận công nghệ lỗi thời số ngành công nghiệp khác 2.2 Tính cấp thiết cần nghiên cứu đề tài - Mục tiêu môn hệ thống nhúng nhằm hình thành phát triển sinh viên hững kiến thức kỹ ứng dụng hệ thống nhúng phẩm chất trí tuệ cần thiết để tiếp tục học lên vào sống lao động Đó quan điểm chủ điểm (thematic approach) đề cao phương pháp học tập tích cực chủ động - sin Các kỹ thiết kế board mạch, viết chương trình ứng dụng vào thực tiễn - quan tâm phối hợp tập hoạt động lớp Một kỹ mà người học nói chung, thường gặp khó khăn - định q trình học ứng dụng vào thực tiễn Trên thực tế để có kỹ người học phải có q trình luyện tập thường xuyên, lâu dài với hình thức thực tiễn nội dung khác Với việc nghiên cứu đề tài này, em mong muốn phần giúp sinh viên dần khắc phục khó khăn để tiến hành học có hiệu tốt Đó lý mà nhóm chúng - em chọn đề tài Hiện nay, việc giao tiếp với hình cảm ứng tương tự giao tiếp với hình cảm ứng Smart Phone hệ thống toán của hàng kinh doanh ngày phát triênr mạnh mẽ Để bắt kịp xu hướng cơng nghệ nước giới việc nghiên cứu vấn đề giao tiếp với hình cảm Tiểu luận môn Hệ thống nhúng Giao tiếp với hình cảm ứng ứng vấn đề cấp thiết để hiểu rõ quy trình hoạt động để áp dụng mạnh mẽ thúc đẩy trình phát triển đất nước 2.3 Một số tài liệu có liên quan [1] Jonathan W Valvano, Embedded Systems: Introduction to Arm® Cortex(TM)-M Microcontrollers(Volume 1), 2012 [2] Jonathan W Valvano, Embedded Systems: Real-Time Interfacing to Arm® Cortex™M Microcontroller, 2012 [3] Joseph Yiu, “The Definitive Guide to the ARM Cortex-M4”, Elsevier Newnes, 2007 [4] Đinh Công Đoan, Bài giảng Hệ thống nhúng, khoa CNTT đại học SPKT TP.HCM [5] ‘Nhúng’ - hội vàng FPT Software – Báo Công Nghệ - xuất ngày 10/11/2011 [6] Hệ thống nhúng phát triển lĩnh vực công nghệ cao "3C" - TS Nguyễn Hữu Công - Trưởng khoa Điện tử - Trường ĐHKTCN [7] Hệ thống nhúng phát triển công nghệ thông tin - PGS TSKH Phạm Thượng Cát - Viện Công nghệ Thông Tin-Viện Khoa học Công nghệ Việt nam [8] Bài tập thực hành Adruino – Lập trình điều khiển với Adruino (Phạm Quang Huy, Lê Cảnh Trung) 2.4 Lý chọn đề tài Trong suốt năm theo học ngành Công nghệ thông tin, chúng em thầy cô dạy chi tiết cách viết nhiều ứng dụng phần mềm Web, Mobile, Window Form… đặc biệt Mobile Nhờ giúp đỡ nhiệt tình từ thầy cơ, chúng em xây dựng số ứng dụng mobile, dừng lại mức xây dựng ứng dụng hoạt động, chưa sâu vào việc chạm vào hình ưngs dụng lại hoạt động Vì vậy, chúng em chọn đề tài “Giao tiếp với hình cảm ứng” để hiểu rõ việc giao tiếp với hình cảm ứng q trình hồn thành đề tài, từ có Tiểu luận môn Hệ thống nhúng Giao tiếp với hình cảm ứng thể biết cách hoạt động loại hình cảm ứng để mang lại nhiều điều thú vị đẩy mạnh công nghệ đến tay khách hàng Mục tiêu đề tài Tạo ứng dụng thực việc giao tiếp với hình cảm ứng cho phép tăng 2.5 - giảm độ sáng hình, bật tắt Led cách chạm vào nút hình - - - cảm ứng Tìm hiểu cách hình cảm ứng hoạt động Khai thác số chức có sẵn chip STM32F4, vận dụng vào đề tài 2.6 Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Board STM32F4 với hình HY32D TFT LCD Các thiết bị hỗ trợ: đèn Led, dây cáp kết nối Các thiết bị kết nối, làm nguồn: laptop Phạm vi nghiên cứu: Tìm hiểu cấu trúc chung board STM32F4 Tìm hiểu cấu trúc chung hình HY32D TFT LCD Viết code nạp vào board 2.7 Phương pháp nghiên cứu Tìm hiểu lý thuyết cách thức giao tiếp board STM32F4 với đèn Led Tìm hiểu lý thuyết cách thức hoạt động hình HY32D TFT LCD Xây dựng thuật tốn thực lập trình 2.8 Nội dung đề tài Trong đề tài này, nhóm em giới thiệu vi xử lý STM32F4, hình HY32D TFT LCD ứng dụng minh họa (điều khiển đèn Led thông qua giao tiếp hình cảm ứng Kit nhúng) Và nhóm trình bày thêm phần nạp code vào KIT demo ứng dụng Tiểu luận môn Hệ thống nhúng 10 Giao tiếp với hình cảm ứng #define BUTTON_Paint(hObj) WM_Paint (hObj) #define BUTTON_Invalidate(hObj) WM_InvalidateWindow(hObj) / **************************************************************** ***** * * The callback * * Do not call it directly ! It is only to be used from within an * overwritten callback */ void BUTTON_Callback(WM_MESSAGE *pMsg); / **************************************************************** ***** * * Member functions * **************************************************************** ****** */ GUI_COLOR BUTTON_GetBkColor (BUTTON_Handle hObj, unsigned int Index); const GUI_BITMAP GUI_UNI_PTR * BUTTON_GetBitmap(BUTTON_Handle hObj,unsigned int Index); const GUI_FONT GUI_UNI_PTR * BUTTON_GetFont (BUTTON_Handle hObj); GUI_COLOR BUTTON_GetFrameColor (BUTTON_Handle hObj); WIDGET * BUTTON_GetpWidget (BUTTON_Handle hObj); void BUTTON_GetText (BUTTON_Handle hObj, char * pBuffer, int MaxLen); GUI_COLOR BUTTON_GetTextColor (BUTTON_Handle hObj, unsigned int Index); int BUTTON_GetTextAlign (BUTTON_Handle hObj); int BUTTON_GetUserData (BUTTON_Handle hObj, void * pDest, int NumBytes); unsigned BUTTON_IsPressed (BUTTON_Handle hObj); void BUTTON_SetBitmap (BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP * pBitmap); void BUTTON_SetBitmapEx (BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP * pBitmap, int x, int y); void BUTTON_SetBkColor (BUTTON_Handle hObj, unsigned int Index, GUI_COLOR Color); void BUTTON_SetBMP (BUTTON_Handle hObj, unsigned int Index, const void * pBitmap); Tiểu luận môn Hệ thống nhúng 59 Giao tiếp với hình cảm ứng void BUTTON_SetBMPEx (BUTTON_Handle hObj, unsigned int Index, const void * pBitmap, int x, int y); void BUTTON_SetFont (BUTTON_Handle hObj, const GUI_FONT GUI_UNI_PTR * pfont); void BUTTON_SetFrameColor (BUTTON_Handle hObj, GUI_COLOR Color); void BUTTON_SetState (BUTTON_Handle hObj, int State); /* Not to be doc */ void BUTTON_SetPressed (BUTTON_Handle hObj, int State); GUI_COLOR BUTTON_SetFocusColor (BUTTON_Handle hObj, GUI_COLOR Color); void BUTTON_SetFocussable (BUTTON_Handle hObj, int State); void BUTTON_SetStreamedBitmap (BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP_STREAM * pBitmap); void BUTTON_SetStreamedBitmapEx(BUTTON_Handle hObj, unsigned int Index, const GUI_BITMAP_STREAM * pBitmap, int x, int y); int BUTTON_SetText (BUTTON_Handle hObj, const char* s); void BUTTON_SetTextAlign (BUTTON_Handle hObj, int Align); void BUTTON_SetTextColor (BUTTON_Handle hObj, unsigned int Index, GUI_COLOR Color); void BUTTON_SetTextOffset (BUTTON_Handle hObj, int xPos, int yPos); void BUTTON_SetSelfDrawEx (BUTTON_Handle hObj, unsigned int Index, GUI_DRAW_SELF_CB * pDraw, int x, int y); /* Not to be doc */ void BUTTON_SetSelfDraw (BUTTON_Handle hObj, unsigned int Index, GUI_DRAW_SELF_CB * pDraw); /* Not to be doc */ void BUTTON_SetReactOnLevel (void); void BUTTON_SetReactOnTouch (void); int BUTTON_SetUserData (BUTTON_Handle hObj, const void * pSrc, int NumBytes); / **************************************************************** ***** * * Member functions: Skinning * **************************************************************** ****** */ void BUTTON_GetSkinFlexProps (BUTTON_SKINFLEX_PROPS * pProps, int Index); void BUTTON_SetSkinClassic (BUTTON_Handle hObj); void BUTTON_SetSkin (BUTTON_Handle hObj, WIDGET_DRAW_ITEM_FUNC * pfDrawSkin); int BUTTON_DrawSkinFlex (const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo); Tiểu luận môn Hệ thống nhúng 60 Giao tiếp với hình cảm ứng void BUTTON_SetSkinFlexProps (const BUTTON_SKINFLEX_PROPS * pProps, int Index); void BUTTON_SetDefaultSkinClassic(void); WIDGET_DRAW_ITEM_FUNC * BUTTON_SetDefaultSkin(WIDGET_DRAW_ITEM_FUNC * pfDrawSkin); #define BUTTON_SKIN_FLEX BUTTON_DrawSkinFlex #if defined( cplusplus) } #endif #endif // GUI_WINSUPPORT #endif // BUTTON_H /*************************** End of file ****************************/ MAINTASK.c #include "MAINTASK.h" #include "SSD1289.h" #include "touch_7846.h" / **************************************************************** ***** * * Externals * **************************************************************** ****** */ / **************************************************************** ***** * * Public code * **************************************************************** ****** */ / **************************************************************** ***** Tiểu luận môn Hệ thống nhúng 61 Giao tiếp với hình cảm ứng * * MainTask */ void GUIDEMO(void) { WM_HWIN hDlg; //GUI_Init(); // // Call creation function for the dialog // hDlg = CreateFramewin(); // // May anything with hDlg // // // Keep program alive // while (1) { GUI_Delay(10); } } bsp.c /** **************************************************************** ************** * @file bsp.c * @author MCD Application Team * @version V1.1.2 * @date 28-January-2014 * @brief This file provides targets hardware configuration **************************************************************** ************** * @attention * * © COPYRIGHT 2014 STMicroelectronics * * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); Tiểu luận môn Hệ thống nhúng 62 Giao tiếp với hình cảm ứng * You may not use this file except in compliance with the License * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied * See the License for the specific language governing permissions and * limitations under the License * **************************************************************** ************** */ /* Includes */ #include "bsp.h" /* Private typedef -*/ /* Private define */ /* Private macro -*/ /* Private variables -*/ /* Private function prototypes -*/ /* Private functions -*/ /** * @brief Initializes the target hardware * @param None * @retval None */ uint32_t BSP_Init (void) { /* Setup SysTick Timer for msec interrupts */ RCC_ClocksTypeDef RCC_Clocks; /* Enable the CRC Module */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE); // Wichtig !! // // init Systick (1ms) // RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000); LCD_Initializtion(); touch_init(); Tiểu luận môn Hệ thống nhúng 63 Giao tiếp với hình cảm ứng return 0; } /** * @brief Provide the GUI with current state of the touch screen * @param None * @retval None */ void BSP_Pointer_Update(void) { GUI_PID_STATE TS_State; Pen_Holder *ts; ts = IOE_TS_GetState(); // read data from TC TS_State.x = ts->X0; TS_State.y= ts->Y0; TS_State.Pressed = (ts->TouchDetected==0); TS_State.Layer = 0; if((TS_State.x > ) && (TS_State.x < LCD_GetXSize())&& (TS_State.y > ) && (TS_State.y < LCD_GetYSize())) { GUI_TOUCH_StoreStateEx(&TS_State); } } /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ DIALOG.h / **************************************************************** ***** * Portions COPYRIGHT 2013 STMicroelectronics * * Portions SEGGER Microcontroller GmbH & Co KG * * Solutions for real time microcontroller applications * **************************************************************** ****** Tiểu luận môn Hệ thống nhúng 64 Giao tiếp với hình cảm ứng * * * (c) 1996 - 2013 SEGGER Microcontroller GmbH & Co KG * * * * Internet: www.segger.com Support: support@segger.com * * * **************************************************************** ****** ** emWin V5.22 - Graphical user interface for embedded applications ** All Intellectual Property rights in the Software belongs to SEGGER emWin is protected by international copyright laws Knowledge of the source code may not be used to write a similar product This file may only be used in accordance with the following terms: The software has been licensed to STMicroelectronics International N.V a Dutch company with a Swiss branch and its headquarters in Planles-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_ troller products commercialized by Licensee only, sublicensed and dis_ tributed under the terms and conditions of the End User License Agree_ ment supplied by STMicroelectronics International N.V Full source code is available at: www.segger.com We appreciate your understanding and fairness -File : Dialog.h Purpose : Dialog box include END-OF-HEADER */ /** **************************************************************** ************** * @attention * * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); * You may not use this file except in compliance with the License * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied * See the License for the specific language governing permissions and Tiểu luận môn Hệ thống nhúng 65 Giao tiếp với hình cảm ứng * limitations under the License * **************************************************************** ************** */ #ifndef DIALOG_H #define DIALOG_H #include "WM.h" #include "BUTTON.h" #include "CALENDAR.h" #include "CHECKBOX.h" #include "CHOOSECOLOR.h" #include "CHOOSEFILE.h" #include "DROPDOWN.h" #include "EDIT.h" #include "FRAMEWIN.h" #include "GRAPH.h" #include "HEADER.h" #include "ICONVIEW.h" #include "IMAGE.h" #include "LISTBOX.h" #include "LISTVIEW.h" #include "LISTWHEEL.h" #include "MENU.h" #include "MULTIEDIT.h" #include "MULTIPAGE.h" #include "PROGBAR.h" #include "RADIO.h" #include "SCROLLBAR.h" #include "SLIDER.h" #include "SPINBOX.h" #include "TEXT.h" #include "TREEVIEW.h" #if GUI_WINSUPPORT #if defined( cplusplus) extern "C" { /* Make sure we have C-declarations in C++ programs */ #endif / **************************************************************** ***** * * WINDOW API Tiểu luận môn Hệ thống nhúng 66 Giao tiếp với hình cảm ứng */ WM_HWIN WINDOW_CreateEx (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, WM_CALLBACK * cb); WM_HWIN WINDOW_CreateUser (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, WM_CALLBACK * cb, int NumExtraBytes); WM_HWIN WINDOW_CreateIndirect (const GUI_WIDGET_CREATE_INFO * pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK * cb); GUI_COLOR WINDOW_GetDefaultBkColor(void); int WINDOW_GetUserData (WM_HWIN hObj, void * pDest, int NumBytes); void WINDOW_SetBkColor (WM_HWIN hObj, GUI_COLOR Color); void WINDOW_SetDefaultBkColor(GUI_COLOR Color); int WINDOW_SetUserData (WM_HWIN hObj, const void * pSrc, int NumBytes); void WINDOW_Callback(WM_MESSAGE * pMsg); #if defined( cplusplus) } #endif #endif // GUI_WINSUPPORT #endif // DIALOG_H /*************************** End of file ****************************/ 4.2.5 Cách nạp code vào KIT - Kết nối KIT vào máy tính - Từ project chứa đoạn mã chương trình Nhấn F11 chọn tùy chọn Program Ngay hình mikroProg xuất Và chọn write (chắc chắn KIT - kết nối vào máy tính) để tiến hành ghi code (nạp tệp HEX) vào KIT Sau nạp code hoàn tất, tiến hành kết nối bàn phím chuột để kiểm tra xem 4.3 - code hoạt động hay chưa Mô tả ứng dụng Giới thiệu sơ lược: Ứng dụng nhằm giao tiếp với hình cảm ứng: Demo hình LCD 3.2inch Khi ta thao tác hình hình tang giảm độ - sáng nhấn vào nút button đèn leb kết nối ngồi sáng Demo ứng dụng: Tiểu luận môn Hệ thống nhúng 67 Giao tiếp với hình cảm ứng Hình 34: Hình ảnh KIT sau nối dây nạp code hoàn tất Hình 36: Demo ứng dụng minh họa Tiểu luận mơn Hệ thống nhúng 68 Giao tiếp với hình cảm ứng Hình 36: Demo ứng dụng minh họa Tiểu luận mơn Hệ thống nhúng 69 Giao tiếp với hình cảm ứng Hình 37: Demo ứng dụng minh họa Tiểu luận môn Hệ thống nhúng 70 Giao tiếp với hình cảm ứng Hình 38: Demo ứng dụng minh họa Tiểu luận môn Hệ thống nhúng 71 Giao tiếp với hình cảm ứng PHẦN KẾT LUẬN - Kết đạt Hiểu cấu trúc, cách thức hoạt động board STM32F407VGT6 Hiểu chế truyền data từ bàn phím chuột với board STM32F407VGT6 Giao tiếp thành cơng board STM32F407VGT6 với chuột bàn phím thông qua cổng PS2 Ưu, nhược điểm 2.1 Ưu điểm - Vẽ hình dạng chuột, chuyển động chuột - Có thể giao tiếp bàn phím chuột với board lúc 2.2 Nhược điểm lên LCD Sau tìm hiểu nhóm nhận thấy STM32F407x không hổ trợ USB HOST nên không đọc bàn phím chuột Cổng USB kết nối với máy tính để điều khiển đọc bàn phím chuột khơng Nên nhóm định làm - giao tiếp giao tiếp chuột bàn phím với board thơng qua cổng PS2 Hướng phát triển Trong tương lai, nhóm cố gắng giao tiếp chuột bàn phím thơng qua - cổng Usb cổng Usb sử dụng phổ biến Bên cạnh đó, thực hiên việc lưu liệu thao tác bàn phím chuột LCD vào ổ cứng TÀI LIỆU THAM KHẢO - Giáo trình mơn Hệ thống nhúng, ThS Đinh Cơng Đoan, 2015 Các nguồn tài liệu tham khảo internet: [1] http://www.computer-engineering.org/ps2protocol/ Tiểu luận môn Hệ thống nhúng 72 Giao tiếp với hình cảm ứng [2] https://www.scribd.com/document/215533638/Giao-tiep-voi-ban-phim- PS2-PS2-Keyboard-Interface [3] http://docslide.us/documents/giao-tiep-voi-ban-phim-ps2-ps2-keyboardinterface.html Link full đồ án: https://drive.google.com/file/d/1uB3BDkNB9iyaqT19QCB-3x9o4RpHXcJf/view? usp=sharing Tiểu luận môn Hệ thống nhúng 73 ... 30 Giao tiếp với hình cảm ứng 29 TP_CS Màn hình cảm ứng chip chọn Hoạt động thấp 30 TP_CS K Màn hình cảm ứng SPI đồng hồ Kết nối với SPI SCK 31 TP_SI Màn hình cảm ứng liệu đầu vào Kết nối với. .. 44 Giao tiếp với hình cảm ứng - Chọn IC STM32F4 Nhấn OK Hình 29 - Chọn YES Hình 30 - Nhấn vào biểu tượng hiển thị hình thiết lâp sau Tiểu luận mơn Hệ thống nhúng 45 Giao tiếp với hình cảm ứng Hình. .. nhúng 37 Giao tiếp với hình cảm ứng Hình 15 - Bước 2: Chọn Accept sau ấn Next Tiểu luận môn Hệ thống nhúng 38 Giao tiếp với hình cảm ứng Hình 16 - Bước 3: Chọn thư mục cài đặt ấn Next Hình 17