Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
2,06 MB
Nội dung
Đồ án tốt nghiệp kỹ sư công nhiệp GVHD : TS TRẦN THANH TRANG LỜI MỞ ĐẦU Sau năm học đại trường ĐH Mở TP Hồ Chí Minh ,chúng em thầy ,cô truyền đạt cho kiến thức lý thuyết thực hành ,để chúng em áp dụng kiến thức vào thực tế làm quen công việc làm việc độc lập người kỹ sư tương lai ,thông qua cơng việc cụ thể ,chính lý mà em nhận đề tài tốt nghiệp :Thiết kếchếtạoxetự hành Trong trình thực đồ án em nhận hướng dẫn nhiệt tình thầy giáo ,cơ giáo khoa Xây Dựng Điện nói chung thầy TS.Trần Thanh Trang nói riêng ,là người giúp đỡ em suốt trình học tập ,thực tập thời gian làm đồ án tôt nghiệp vừa qua Tuy nhiên q trình thực đồ án em nhiều bỡ ngỡ chưa có kinh nghiệm thực tiễn nên khơng tránh khỏi sai sót Vì vậy,em mong nhận góp ý thầy ,cơ để em hồn thành tốt đồ án tốt nghiệp nhiệm vụ học trường SVTH : NGUYỄN MAI ĐỨC VŨ MSSV : 0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD : TS TRẦN THANH TRANG LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, lời em xin chân thành cảm ơn thầy giáo, cô giáo Khoa Xây Dựng Điện , Trường Đại học Mở Tp Hồ Chí Minh , người dạy dỗ, trang bị cho em kiến thức bổ ích bốn năm học vừa qua Em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo TS.Trần Thanh Trang , người tận tình hướng dẫn, bảo em suốt thời gian thực tập làm đồ án tốt nghiệp Nhân dịp em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, người thân cổ vũ, động viên tiếp thêm cho em nghị lực để em hoàn thành tốt đồ án tốt nghiệp Em xin chân thành cảm ơn ! Tp Hồ Chí Minh , tháng 02 năm 2013 Sinh viên NGUYỄN MAI ĐỨC VŨ SVTH : NGUYẾN MAI ĐỨC VŨ MSSV : 0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG MỤC LỤC CHƯƠNG 1: 1.1 LÝ DO CHỌN ĐỀ TÀI 1.2 GIỚI THIỆU ĐỀ TÀI CHƯƠNG 2: 2.1 SƠ ĐỒ KHỐI : 2.2 CÁC CHỈ TIÊU CỦA SẢN PHẨM 2.2.1 MÔ TẢ CHI TIẾT ĐỀ TÀI 2.3 CÁC LINH KIỆN DÙNG TRONG MẠCH 16 2.3.1 Giới Thiệu Về PIC 16F877A: 16 2.3.2 Điện trở tụ điện: 23 2.3.3 Tụ thạch anh : 24 2.3.4 Nút Reset : 25 2.3.5 IC 25 2.3.6 Led thu phát hồng ngoại 27 2.4 SƠ ĐỒ MẠCH HOÀN CHỈNH 29 CHƯƠNG 3: 30 3.1 LƯU ĐỒ GIẢI THUẬT 30 3.2 CHƯƠNG TRÌNH 32 CHƯƠNG 5: 43 KẾT LUẬN 43 5.1 TÍNH NĂNG CỦA XE : 43 5.2 CÔNG VIỆC THỰC HIỆN ĐƯỢC : 43 5.3 NHỮNG TỒN TẠI CỦA ĐỀ TÀI : 43 5.4 HƯỚNG PHÁT TRIỂN: 43 TÀI LIỆU THAM KHẢO : 43 Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI 1.1 LÝ DO CHỌN ĐỀ TÀI “Gần đây, Việt Nam xuất số máy thơng minh, đa số robot công nghiệp chếtạo thành công Trường Đại học Bách khoa Hà Nội, Đại học Bách khoa TP Hồ Chí Minh, Trung tâm khoa học kĩ thuật qn thuộc Bộ Quốc phòng Đó robot hỗ trợ việc cấp phôi, robot cấp than cho máy nghiền, robot mini bốn bậc tự dùng đào tạo lắp ráp nhỏ Viện Cơ học thuộc Trung tâm khoa học tự nhiên công nghệ quốc gia số đơn vị khác nghiên cứu mô máy tính robot cấu điều kiện song song, robot di động “ (Trích báo điện tử Hà Nội Mới); Robot có vai trò quan trọng đời sống đặc biệt ứng dụng sản xuất kinh tế, quốc phòng…Tuy nhiên cơng nghệ chếtạo robot nghành mẻ với Việt Nam nên việc phát triển nghành công nghiệp để bắt kịp với nước phát triển khác điều vơ quan trọng Bên cạnh đó, vi điều khiển mơn học xa lạ sinh viên nên việc tìm hiểu lý thuyết kết hợp với thực hành cần thiết bổ ích.Họ vi điều khiển 16F877A họ vi điều khiển thích hợp cho người bắt đầu làm quen với VDK Qua việc thực giao tiếp vi điều khiển với động cơ, cảm biến, phím bấm, LCD giúp phần hiểu cấu trúc vi điều khiển Những kiến thức làm tảng giúp tìm hiểu loại vi điều khiển khác Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG 1.2 GIỚI THIỆU ĐỀ TÀI Sản phẩm xetựđộng có chức tự di chuyển đế điểm mong muốn sân.Với chế độ khác xe thực đa dạng việc di chuyển có nhiều hướng phát triển thêm sau Đề tài em chếtạo sản phẩm xetự động.Chức sản phẩm thực việc di chuyển từ điểm xuất phát đến điểm sân, từ thực đường cụ thể sân.Vi điều khiển sử dụng đề tài vi điều khiển họ 16F877A.Đây họ vi điều khiển thích hợp cho người tìm hiểu vi điều khiển Đề tài chủ yếu giúp sinh viên làm quen với chức vi điều khiển thông qua giao tiếp với cảm biến, động cơ, LCD, phím bấm…Hướng phát triển đề tài cải tiến sản phẩm thành xe đa thơng minh, thực mềm dẻo nhiệm vụ Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG CHƯƠNG 2: THIẾTKẾ PHẦN CỨNG 2.1 SƠ ĐỒ KHỐI : Hình 2.1: Sơ đồ khối xetự hành Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG 2.2 CÁC CHỈ TIÊU CỦA SẢN PHẨM +Về chức năng: - Hệ thống điều khiển trước hết phải có khả giao tiếp với người sử dụng , tức cho phép thay đổi thiết lập hệ thống hiển thị trạng thái hệ thống - Hệ thống điều khiển phải có nguồn ổn định - Hệ thống nhận tín hiệu báo nhận đường -Hệ thống điều khiển động với công suất khác theo hai chiều - Hệ thống cần có chức hiển thị , để ta biết chế độ hoạt động trạng thái hệ thống - Hệ thống có nhiều chế độ hoạt động khác - Yêu cầu quan trọng với hệ thống có đơn vị xử lý trung tâm để phối hợp hoạt độngđồng thời ổn định tồn q trình hoạt động - Có hướng phát triển sau cải tiến thành robot thông minh +Về chất lượng sản phẩm: - Chạy ổn định, thích nghi với mặt sân khác 2.2.1 MÔ TẢ CHI TIẾT ĐỀ TÀI * Tên sản phẩm:xe tự hành Vi điều khiển sử dụng: 16F877A * Chức năng: thực việc di chuyển tựđộng đến điểm định sẵn đường di chuyển khác * Các khối sản phẩm: Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG 2.2.1.1 Khối nguồn Trong khối nguồn sử dụng PIN 7V Mặc khác hệ thống diều khiển cần phải có nguồn 0V 5V để cung cấp cho khối vi điều khiển khối cảm biến.Nguồn 0V hệ thống ta dung chung với nguồn 0V khối điều khiển động cơ, lấy trực tiếp từ nguồn pin.Còn để tạo nguồn VDC sử dụng IC ổn áp 7805, với đầu vào gồm đất chung toàn hệ thống nguồn VDC lấy trực tiếp từ nguồn PIN Hình 2.2: Sơ đồ mạch khối nguồn Tại đầu vào đầu dung tụ lọc âm tần cao tần Trên mạch nguồn mắc thêm diot LED đầu đầu vào để báo hiệu có nguồn nguồn vào 2.2.1.2 Khối vi điều khiển: Khối điều khiển trung tâm có nhiệm vụ phối hợp toàn hệ thống hoạt động cách hợp lý ổn định Khối xử dụng vi điều khiển IC 16F877A Vi điều khiển trung tâm nhận tín hiệu từ khối cảm biến ,bao gồm tín hiệu báo nhận đường tín hiệu kết thúc q trình ,sau xử lý liệu nhận để Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG đưa định điều khiển khối độngĐồng thời cho hiển thị trạng thái hệ thống Hình 2.3:Sơ đồ mạch khối vi điều khiển Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG Hình 2.4: Mạch điện khối Vi Điều Khiển Trang SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG CHƯƠNG 3: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH 3.1 LƯU ĐỒ GIẢI THUẬT Trang 30 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG Start Quay đầu Đ KT trái Đ Rẽ trái Hết đường S S Đ Đ Rẽ phải KT phải Đ Hết đường S S Ngã Đ S Rẽ trái cụt Ưu tiên rẽ trái Hết đường Đ Đ S Chạy thẳng Đ S Đ S Trái cụt Ngã Ưu tiên rẽ trái Hết đường Đ Phải cụt S Chạy thẳng S S Đ Rẽ phải Trang 31 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG 3.2 CHƯƠNG TRÌNH #include #fuses hs,nowdt,noput #use delay(clock=20m) #define LCD_ENABLE_PIN PIN_D2 #define LCD_RS_PIN PIN_D0 #define LCD_RW_PIN PIN_D1 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_D5 #define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7 #include int d , data; INT1 H,W,F; INT8 K=1 ,J=0,M=0; // biến bit với giá trị mặc định ban đầu INT8 DODUONG[20]={'A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A'}; }; // mảng chuỗi text tạo dùng để so sánh giá trị bên tương ứng với điều kiện VOID CHAYTHANG(); VOID QUAYTRAI(); INT READ_DATA(); void hienthi(int bien); VOID CHAYTHANG(); VOID QUAYTRAI(); VOID QUAYPHAI(); void quay(); void dung(); VOID DILUI(); void chinhtrai(); void chinhphai(); VOID DUONGCUT(); VOID NGA4(); VOID NGA3QUAYPHAI(); VOID NGA3QUAYTRAI(); VOID KETTHUC(); VOID TIMDUONG(); VOID CHAYDUONG(); VOID HUONGDI(); void main() { Trang 32 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG lcd_init();// khai báo sử dụng LCD delay_ms(10); LCD_GOTOXY(1,1); //lệnh LCD_GOTOXY lệnh hỗ trợ có “lcd.c” nhiệm vụ khai báo vị trí bắt đầu chuỗi text LCD_PUTC("DO AN TN 2013");//lệnh LCD_PUTC nhiệm vụ xuất chuỗi yêu cầu vào LCD LCD_GOTOXY(1,2); LCD_PUTC(" XETU DO DUONG "); DELAY_MS(2000); //chờ s LCD_GOTOXY(1,1); LCD_PUTC("GVHD:THANH TRANG"); LCD_GOTOXY(1,2); LCD_PUTC("SVTH:N.M.DUC VU "); DELAY_MS(2000); LCD_GOTOXY(1,1); LCD_PUTC("LOP: CN08B1 "); LCD_GOTOXY(1,2); LCD_PUTC("MSSV: 0851030098"); DELAY_MS(2000); LCD_GOTOXY(1,1); LCD_PUTC(" DO DUONG "); LCD_GOTOXY(1,2); LCD_PUTC(" YES or NO "); while (1) { W=0; WHILE(W==0) // xét điều kiện vòng lặp thực thi W = { H=INPUT(PIN_A1) ; //lấy trị bên ngồi vào chân A1 tương ứng giá trị H IF(H==0) {//điều kiện H = lệnh {} làm việc LCD_GOTOXY(1,2); printf(LCD_PUTC,"TIM DUONG ");// tương đương lệnh LCD_PUTC("TIM DUONG "); nhiệm vụ xuất chuổi text cần hiển thị LCD W=1; K=0; dung(); delay_ms(2000); LCD_GOTOXY(1,1); //chọn vị trí bắt đầu chuỗi text printf(LCD_PUTC," START ");//xuất LCD chuỗi text Trang 33 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG LCD_GOTOXY(1,2); printf(LCD_PUTC," "); DELAY_MS(1000); chaythang(); delay_ms(100); WHILE(W==1) // xét điều kiện vòng lặp thực thi W = TIMDUONG(); } F=INPUT(PIN_A2) ; //F giá trị vào chân A2 IF(F==0) {//điều kiện F = lệnh {} làm việc LCD_GOTOXY(1,2); printf(LCD_PUTC,"CHAY DUONG "); CHAYDUONG(); } } } } VOID TIMDUONG() { data=read_data(); switch (data) // switch – case giống hàm if – else nhằm lấy điều kiện để thực thi { case 0b11100111:CHAYTHANG(); break; case 0b11000011:CHAYTHANG(); break; case 0b11101111:CHAYTHANG(); break; case 0b11110111:CHAYTHANG(); break; case 0b11110011:chinhphai(); break; case 0b11001111:chinhtrai(); break; //case 0b11100011:chinhphai(); // break; //case 0b11000111:chinhtrai(); // break; case 0b11111111:DUONGCUT(); break; CASE 0B00000000:KETTHUC(); BREAK; Trang 34 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG //case 0b11000011:NGA4(); //break; case 0b10000001:NGA4(); break; case 0b01111110:NGA4(); break; case 0b10000000:NGA3QUAYPHAI(); break; case 0b11000000:NGA3QUAYPHAI(); break; case 0b11100000:NGA3QUAYPHAI(); break; case 0b00000001:NGA3QUAYTRAI(); break; case 0b00000011:NGA3QUAYTRAI(); break; case 0b00000111:NGA3QUAYTRAI(); break; //DEFAULT: CHAYTHANG(); BREAK; } } VOID CHAYDUONG() { INT TR; LCD_GOTOXY(1,1); printf(LCD_PUTC," START "); chaythang(); delay_ms(40); WHILE (1) //vòng lặp vô tận { TR=read_data();//lấy giá trị cho TR switch (TR) // chia nhánh điều kiện cho TR { case 0b11100111:CHAYTHANG();// TR = 0b11100111 CHẠYTHANG( ) break; // KẾT THÚC NHÓM LỆNH case 0b11000011:CHAYTHANG(); break; case 0b11101111:CHAYTHANG(); break; case 0b11110111:CHAYTHANG(); break; case 0b11110011:chinhphai(); Trang 35 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG break; case 0b11001111:chinhtrai(); break; //case 0b11100011:chinhphai(); // break; //case 0b11000111:chinhtrai(); // break; case 0b11111111:DUONGCUT(); break; CASE 0B00000000:KETTHUC(); BREAK; //case 0b11000011:NGA4(); //break; case 0b10000001:HUONGDI(); break; case 0b01111110:HUONGDI(); break; case 0b10000000:HUONGDI(); break; case 0b11000000:HUONGDI(); break; case 0b11100000:HUONGDI(); break; case 0b00000001:HUONGDI(); break; case 0b00000011:HUONGDI(); break; case 0b00000111:HUONGDI(); break; //DEFAULT: CHAYTHANG(); BREAK; } } } VOID HUONGDI() { M++;// M tăng giá trị sau lần thực thi IF(DODUONG[M]=='r') // xét điều kiện mảng DODUONG m++;// m tăng giá trị sau lần thực thi IF(DODUONG[M]=='R') QUAYPHAI(); IF(DODUONG[M]=='L') QUAYTRAI(); IF(DODUONG[M]=='T') Trang 36 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG { OUTPUT_C(0XF5); // xuất port c delay_ms(200); } } INT READ_data() { d=input_b(); rotate_left(&d,1); //dùng quay trái bit d = 0b00100001 dịch trái thành 0b01000010 rotate_left(&d,1); RETURN d; //trả lại giá trị d } VOID CHAYTHANG() { OUTPUT_c(0B11110101); } VOID DILUI() { OUTPUT_c(0B11111010); } VOID QUAYTRAI() { int a=1; while (a==1) // KHI a = thực lệnh { } { data=read_DATA(); output_c(0xf1); if (data==0b11100111) { a=0; break; } } } VOID QUAYPHAI() { int B=1; while(B==1) // KHI B = thực lệnh { } { data=read_DATA(); OUTPUT_C(0XF4); if (data==0b11100111) Trang 37 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG { B=0; break; } } } void quay() { int i=1; while(i==1) { data=read_DATA(); output_c(0b11110110); if (data==0b11100111) { i=0; break; } } } void dung() { output_c(0); } void chinhtrai() { OUTPUT_c(0xF1); } void chinhphai() { OUTPUT_c(0xF4); } VOID NGA3QUAYTRAI() { IF(DODUONG[K]=='r') // xét điều kiện mảng DODUONG { QUAYTRAI(); k ;// lần thực thi k giảm giá trị so với giá trị ban đầu IF(DODUONG[K]=='R') // hiểu vị trí K mảng DODUONG có giá trị ‘R’ Trang 38 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG DODUONG[K]='r'; // chuyển vị trí thứ k mảng DODUONG thành giá trị ‘r’ IF(DODUONG[K]=='L') DODUONG[K]='l'; } ELSE { K++;// lần thực thi k tăng giá trị so với giá trị ban đầu DODUONG[K]='L'; QUAYTRAI(); } lcd_send_byte(0,0X00); lcd_send_byte(0,0X01); printf(LCD_PUTC,"GT [%d]=%c [%d]=%c",k1,DODUONG[K-1],k,DODUONG[K]); LCD_GOTOXY(1,2); LCD_PUTC("NGA BA TRAI"); } VOID NGA3QUAYPHAI() { IF(DODUONG[K]=='l') // phần tử thứ K mảng DODUONG ‘l’ thực thi { } { OUTPUT_C(0XF5); delay_ms(300); data=input_b(); rotate_left(&data,1); rotate_left(&data,1); IF(data==0b11111111) { OUTPUT_C(0XFA); delay_ms(400); OUTPUT_C(0XFF); delay_ms(100); QUAYPHAI(); k ; IF(DODUONG[K]=='R') Trang 39 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG DODUONG[K]='r'; IF(DODUONG[K]=='L') DODUONG[K]='l'; } ELSE // khơng phải ‘l’ thực thi lệnh {} DODUONG[K]='R'; } ELSE { K++; DODUONG[K]='R'; QUAYPHAI(); } lcd_send_byte(0,0X00); lcd_send_byte(0,0X01); printf(LCD_PUTC,"GT [%d]=%c [%d]=%c",k1,DODUONG[K-1],k,DODUONG[K]); LCD_GOTOXY(1,2); LCD_PUTC("NGA BA PHAI"); } VOID NGA4() { IF(DODUONG[K]=='l') { OUTPUT_C(0XF5); delay_ms(300); data=input_b(); rotate_left(&data,1); rotate_left(&data,1); IF(data==0b11111111) { OUTPUT_C(0XFA); delay_ms(300); OUTPUT_C(0XFF); delay_ms(500); NGA3QUAYTRAI(); DODUONG[K]='T'; } ELSE DODUONG[K]='R'; } ELSE IF(DODUONG[K]=='r') { Trang 40 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG // QUAYPHAI(); DODUONG[K]='T'; } ELSE IF(DODUONG[K]=='t') { OUTPUT_C(0XF5); delay_ms(300); k ; IF(DODUONG[K]=='R') DODUONG[K]='r'; IF(DODUONG[K]=='L') DODUONG[K]='l'; } ELSE { k++; DODUONG[K]='L'; QUAYTRAI(); } lcd_send_byte(0,0X00); lcd_send_byte(0,0X01); printf(LCD_PUTC,"GT [%d]=%c [%d]=%c",k1,DODUONG[K],k,DODUONG[K]); LCD_GOTOXY(1,2); LCD_PUTC("NGA TU "); } VOID DUONGCUT() { QUAY(); if(DODUONG[K]=='L') DODUONG[K]='l'; if(DODUONG[K]=='R') DODUONG[K]='r'; if(DODUONG[K]=='T') DODUONG[K]='t'; lcd_send_byte(0,0X00); lcd_send_byte(0,0X01); lcd_send_byte(0,0X00); lcd_send_byte(0,0X01); printf(LCD_PUTC,"GT [%d]=%c [%d]=%c",k1,DODUONG[K-1],k,DODUONG[K]); Trang 41 SVTH :NGUYỄN MAI ĐỨC VŨ MSSV :0851030098 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD :TS TRẦN THANH TRANG } VOID KETTHUC() { //k ; lcd_send_byte(0,0X00); lcd_send_byte(0,0X01); printf(LCD_PUTC,"TONG KHUC: %d",k); lcd_gotoxy(1,2); for(j=1;j