L ỜI CAM ĐOAN
2. Chương trình lập trình trên KeilC
Tổng kết lại các hàm của từng thư viện: - Thư viện USART_TM.h:
+ USART2_Init_TM() : thiết lập cổng USART2 để giao tiếp với SDS011.
+ USART2_IRQHandler() : nhận dữ liệu mỗi khi SDS011 truyền tới.
+ USART3_Init_TM() : thiết lập cổng USART3 để giao tiếp với module GPRS.
- Thư viện GLCD_TM.h:
58
+ GLCD_Send_Bit() : gửi một bit . + GLCD_Send_Instruction() : gửi một byte lệnh. + GLCD_Send_Data() : gửi một byte dữ liệu. + GLCD_Gotoxy() : đưa con trỏđến một vịtrí cho trước. + GLCD_Putchar() : ghi một ký tự lên GLCD.
+ GLCD_Puts() : ghi một chuối lên GLCD. + GLCD_Clear() : xóa toàn màn hình GLCD. + GLCD_Init() : khởi tạo GLCD.
+ Check_usart() : kiểm tra dữ liệu hợp lệ thu được từ SDS011 và SDS198.
+ GLCD_Update() : thu thập dữ liệu để hiện thị GLCD và truyên lên module GPRS.
- Thư viện bổ trợ delay.h:
+ delay_init() : cài đặt đồng hồ thời gian thực. + delay_ms() : tạo trễđơn vị miligiây.
+ delay_us() : tạo trễđơn vị microgiây.
- File thư viện main.h gồm các thư viện đã được tạo trước đó: #include "stm32f10x.h" #include "GLCD_TM.h" #include "USART_TM.h" #include "string.h" #include "stdio.h" #include "delay.h" File chương chình chính:
#include "main.h" //include các thư viện //khai báo các biến chứa dữ liệu thu được
volatile unsigned char Data2[10]=""; //lưu dữ liệu nhận được từ SDS011 int main()
59 //khởi tạo GLCD_Delay(2000); GLCD_Init(); //khởi tạo GLCD delay_init(72); //khởi tạo trễ thời gian thực USART2_Init_TM(); //khởi tạo cổng USART2 USART3_Init_TM(); //khởi tạo cổng USART3 delay_ms(300); //tạo trễ300ms để hệ thống chạy ổn định while(1) {
GLCD_Update(); //thu thập dữ liệu hiển thị lên GLCD và gửi lên server
delay_ms(1000); //tạo trễ 1 giây rồi quay lại vòng lặp }