Trang Lêi cam ®oan Tôi xin cam đoan đồ án công trình nghiên cứu riêng tôi, cha đợc công bố phơng tiện Những vấn đề đợc trình bày đồ án không chép lại từ tài liệu nào, tài liệu ®a ë phÇn cuèi chØ mang tÝnh chÊt tham khảo Trang MụC LụC Lời cam đoan MôC LôC Danh mơc b¶ng 12 A:Phần mở đầu 17 Đặt vấn đề .17 Giới thiệu đề tài 18 Mục đích nghiên cứa đề tài: 18 B: Néi dung 19 Ch¬ng I : Tổng quan hệ thống cân điện tử 19 1.1 HƯ thèng c©n sư dơng loadcell vµ øng dơng .19 Hình 1.1 Sơ đồ khối hệ thống cân điện tử dùng loadcell 19 1.2 Sơ lợc phơng pháp cảm biến đợc dùng việc đo khối lợng 21 1.2.1 Nguyªn lý đo khối lợng 21 1.2.2 Các phơng pháp đo khối lợng 21 Bảng1.1.Đặc trng vật lý số vật liệu áp điện Dới tác dụng lực học, áp điện bị biến dạng, làm xuất hai cực điện tích trái dấu Hiệu điện xuất hai cực tỉ lệ với lực tác dụng 24 Hình1.2 Các dạng biến dạng 24 Hình1.3 Cách ghép phần tử áp điện 25 1.3 Giíi thiƯu chung vỊ loadcell 27 1.3.1 Cấu tạo nguyên lý hoạt động 27 H×nh 1.5a LoadCell Hình 1.5b.LoadCell có 27 Hình 1.5c Sơ đồ điện cho cảm biến Load Cell .27 Hình 1.8 Sơ ®å tÝnh tæng trë 29 Hình 1.9 Đầu dây Loadcell 31 Bảng 1.2 Các mầu thông dụng đầu Loadcell .31 Hình 1.10 hình dạng cđa mét sè lo¹i Loadcell cã thùc tÕ 33 1.4 VÝ dơ vỊ hƯ thèng øng dụng cân điện tử: Hệ thống cân xe 33 1.4.1 Sơ đồ khối hệ thống 33 Hình1.11 Sơ đồ khối mét hƯ thèng c©n xe 34 Trang 1.4.2 Cầu cân 34 Hình1.12 Bàn cân trạm cân xe 34 1.4.3 C¸ch bè trí Loadcell trạm nối dây 34 Hình 1.13 Cách bố trí Loadcell 36 Hình 1.14 Một số loại Loadcell cã t¶i träng lín 37 1.4.4 Thiết bị thị khối lợng .37 H×nh 1.15 Mét số thiết bị thị khối lợng thực tế 37 1.4.5 Quản lý trạm cân dùng máy tính .38 Chơng II:Khảo sát vi điều khiển 8051, ADC 0809 ,LCD mạch khuếch đại 38 2.1 Kh¶o sÊt vi ®iỊu khiĨn 8051 38 2.1.1 CÊu tróc cđa 8051 39 Hình 2.1.Sơ đồ chân 8051/8052 39 Hình 2.2 Mắc điện trở kÐo cæng P0 .41 Bảng 2.1 Các chức khác cổng P3 41 H×nh 2.3 Sơ đồ khối tổng quát 8051/8052 .43 2.1.2 Các chế độ định địa 8051 tập lệch 8051 44 2.1.3 C¸c ghi 44 2.1.4 Bé Timer/ Counter Các ngắt 8051 45 a.Bộ Timer/ Counter ( định thời/ đếm ) 45 B¶ng 2.2: Thanh ghi chức đặc biệt dùng timer 46 47 H×nh 2.4 Cấu tạo định thời/ đếm .47 Hình 2.5: Các bít cña ghi TCON 47 Bảng 2.3: Các bít ghi điều khiển trạng thái TCON 48 Hình 2.6 C¸c bit cđa ghi TMOD 49 Bảng 2.4 Các bit cña ghi TMOD 49 Bảng 2.5 Các chế độ TMOD 50 b.Các ngắt 8051 50 H×nh 2.7: Thùc hiƯn chơng trình không ngắt(a) có ngắt chơng trình(b) 50 H×nh 2.8 Thanh ghi IE 51 H×nh 2.9 Thanh ghi IP 52 Trang 2.2 Khảo sát bé chun ®ỉi ADC .55 2.2.1 Các phơng pháp chuyển đổi .56 2.2.2 Giíi thiƯu ADC 0809 56 Hình2.10 Sơ đồ khối chuyển đổi ADC dùng phơng pháp xấp xỉ liên tiếp 57 Hình 2.11 Sơ đồ chân ADC0809 58 Bảng2.5 Bảng trạng thái ADC0809 .59 H×nh 2.12 BiĨu ®å thêi gian cđa ADC 0809 .61 2.3 Khảo sát LCD .61 Hình 2.13 Sơ ®å ch©n cđa LCD: 61 Bảng2.6 Bảng mô tả chân LCD: 62 H×nh 2.14 GhÐp nèi LCD .63 2.4 Khảo sát mạch khuếch đại 63 2.4.1 Bộ khuếch đại không đảo : 64 64 Hình 2.15 Bộ khuếch đại không đảo : 64 2.4.2 Bộ khuếch đảo : .64 H×nh 2.16 Bé khuÕch ®¶o .64 Chơng III: vi điều khiển Giao tiếp với máy tính 65 3.1 Truyền liệu máy tính vi điều khiển 65 3.1.1 Cơ sở truyền thông nối tiếp 65 3.1.2 Tèc ®é trun d÷ liƯu 66 Bảng 3.1 Các giá trị ghi TH1 Timer1 cho tốc độ baud khác 67 3.2 Các chuẩn giao tiếp dùng truyền thông nèi tiÕp.67 3.2.1 ChuÈn RS232 67 H×nh 3.1 §Çu nèi DB - 25 cđa RS232 68 Hình3.2 Sơ đồ đầu nèi DB - cña RS232 .68 Bảng Các tín hiệu chân đầu nối DB - máy tÝnh IBM PC 68 3.2.2 Bé ®iỊu khiĨn ®êng trun MAX232 69 H×nh3.3 a) Sơ đồ bên MAX232 .70 b) Sơ đồ nối ghép MAX232 víi 8051 theo moden kh«ng 70 3.2.3 Các cổng COM IBM PC tơng thích 70 3.3 Các ghi điều khiĨn thun th«ng nèi tiÕp 70 Trang 3.3.1 Bộ đệm liệu nối tiếp(SBUF) 70 3.3.2 Thanh ghi ®iỊu khiĨn nèi tiÕp SCON 71 B¶ng 3.3 Các chế độ đóng khung liệu 71 3.4 LËp tr×nh 8051 trun th«ng nèi tiÕp .72 3.4.1 Lập trình 8051 để truyền liệu nối tiếp 72 3.4.2 Lập trình 8051 để nhËn d÷ liƯu nèi tiÕp .74 3.5 Ngôn ngữ lập trình Visual basic 6.0 .75 3.5.1 Giíi thiƯu 75 3.5.2 Trun th«ng nèi tiÕp dïng VB 6.0 76 Hình3.4: Cách chọn thêm thành phần microsoft comm control visual basic 6.0 77 Hình3.5 Thành phần Mscomm hợp công cụ (toolbox) 77 Bảng 3.4 : Bảng đặc tính ®iỊu khiĨn MSComm 78 Dim instring as string 79 Mscomm1.comport =1 79 Mscomm1.setting = “9600 ,N,8,1” 79 Mscomm1.portopen = true 79 Mscomm1.portopen = false 79 End sub 79 Setting Prorety : 79 B¶ng 3.5 B¶ng liệt kê giá trị baud hợp lệ 80 Thông số tốc độ baud .80 Bảng 3.6 Bảng mô tả giá trị chẳn lẽ hợp lệ: 80 End Sub 83 Ch¬ng IV: Thiết kế thi công 85 4.1 NhiƯm vơ 85 4.2 Sơ đồ khối tổng quát hệ thống 86 Hình 4.1 Sơ đồ khèi tỉng qu¸t hƯ thèng 87 4.3 Tính chọn thiết bị 87 4.3.1 Khèi Loadcell 87 Hình 4.2 Hình dạng kÝch thíc cđa Loadcell VLC-A123 88 Trang 4.3.2 Khối khuếch đại .89 Hình 4.3: Sơ đồ mạch KĐ 90 4.3.3 Bé ADC 90 4.3.4 Khèi vi ®iỊu khiĨn 90 4.3.5 Khèi hiĨn thÞ .91 Hình 4.4 Hình dạng LCD .91 Hình 4.5 Sơ ®å ghÐp nèi LCD vµ 8051 92 4.3.6 Khèi nguån 92 Hình 4.6 Các khối nguồn đợc sử dụng hƯ thèng 93 4.3.7 Nót nhÊn 94 H×nh 4.7 Nót nhÊn 95 4.3.8 Khèi giao tiÕp m¸y tÝnh 95 Hình 4.8 Sơ đồ khèi giao tiÕp m¸y tÝnh 95 4.3.9 Màn hình giao diện hiển thị khối lợng máy tính .96 Hình 4.9 Màn hình giao diện hiển thị khối lợng 96 4.4 Sơ đồ nguyên lý giải thuật chơng trình 97 4.4.1 Sơ đồ nguyên lý .97 4.4.2.Chơng trình .97 Hình 4.11 Giải thuật chơng trình viết cho vi điều khiển 98 Hình 4.12 Giải thuật trình ngắt 232 99 H×nh 4.13 Giải thuật cho timer nhận(a) hiển thị (b) 100 Hình 4.14 Giải thuật FORM 101 C- kÕt luËn 110 Sau b¶y tuần thực đồ án với hớng dẫn tận tình thầy Phạm Xuân Bách thầy cô Khoa Điện Điện tử, cộng với cố gắng nỗ lực thân giúp đỡ bạn, em đà hoàn thành đồ án thời gian quy định theo yêu cầu đề tài là: Thiết kế cân điện tử dùng vi điều khiển 8051 hiển thị hình LCD giao tiÕp víi m¸y tÝnh qua cỉng RS232 111 Trang Tài liệu tham khảo .112 Lêi cam ®oan MôC LôC Danh mơc b¶ng 12 A:Phần mở đầu 17 Đặt vấn đề .17 Giíi thiệu đề tài 18 Mục đích nghiên cứa đề tài: 18 B: Néi dung 19 Ch¬ng I : Tổng quan hệ thống cân điện tử 19 1.1 HƯ thèng c©n sư dơng loadcell vµ øng dơng .19 Hình 1.1 Sơ đồ khối hệ thống cân điện tử dùng loadcell 19 1.2 Sơ lợc phơng pháp cảm biến đợc dùng việc đo khối lợng 21 1.2.1 Nguyªn lý ®o khèi lỵng 21 1.2.2 Các phơng pháp đo khối lợng 21 Bảng1.1.Đặc trng vật lý số vật liệu áp điện Dới tác dụng lực học, áp điện bị biến dạng, làm xuất hai cực điện tích trái dấu Hiệu điện xuất hai cực tỉ lệ với lực tác dụng 24 Hình1.2 Các dạng biến dạng b¶n 24 Hình1.3 Cách ghép phần tử áp điện 25 1.3 Giíi thiƯu chung vÒ loadcell 27 1.3.1 Cấu tạo nguyên lý hoạt động 27 H×nh 1.5a LoadCell Hình 1.5b.LoadCell có 27 Hình 1.5c Sơ đồ điện cho cảm biến Load Cell .27 Hình 1.8 Sơ đồ tÝnh tæng trë 29 Hình 1.9 Đầu dây Loadcell 31 B¶ng 1.2 Các mầu thông dụng đầu Loadcell .31 Hình 1.10 hình dạng mét sè lo¹i Loadcell cã thùc tÕ 33 1.4 VÝ dơ vỊ hƯ thèng øng dơng cân điện tử: Hệ thống cân xe 33 1.4.1 Sơ ®å khèi hÖ thèng 33 Hình1.11 Sơ đồ khối hƯ thèng c©n xe 34 1.4.2 Cầu cân 34 Trang Hình1.12 Bàn cân trạm cân xe 34 1.4.3 C¸ch bè trÝ Loadcell trạm nối dây 34 Hình 1.13 Cách bố trí Loadcell 36 Hình 1.14 Một số loại Loadcell có t¶i träng lín 37 1.4.4 Thiết bị thị khối lợng .37 H×nh 1.15 Mét sè thiết bị thị khối lợng thực tế 37 1.4.5 Quản lý trạm cân dùng máy tính .38 Chơng II:Khảo sát vi điều khiển 8051, ADC 0809 ,LCD mạch khuếch đại 38 2.1 Kh¶o sÊt vi ®iỊu khiĨn 8051 38 2.1.1 CÊu tróc cđa 8051 39 H×nh 2.1.Sơ đồ chân 8051/8052 39 Hình 2.2 Mắc điện trở kéo cæng P0 .41 Bảng 2.1 Các chức khác cổng P3 41 H×nh 2.3 Sơ đồ khối tổng quát 8051/8052 .43 2.1.2 Các chế độ định địa chØ cđa 8051 vµ tËp lƯch cđa 8051 44 2.1.3 C¸c ghi 44 2.1.4 Bé Timer/ Counter Các ngắt 8051 45 a.Bộ Timer/ Counter ( định thời/ đếm ) 45 B¶ng 2.2: Thanh ghi chøc đặc biệt dùng timer 46 47 H×nh 2.4 Cấu tạo định thời/ đếm .47 Hình 2.5: Các bít ghi TCON 47 Bảng 2.3: Các bít ghi điều khiển trạng thái TCON 48 Hình 2.6 C¸c bit cđa ghi TMOD 49 Bảng 2.4 Các bit ghi TMOD 49 Bảng 2.5 Các chế độ TMOD 50 b.C¸c ng¾t cđa 8051 50 Hình 2.7: Thực chơng trình không ngắt(a) có ngắt chơng trình(b) 50 H×nh 2.8 Thanh ghi IE 51 H×nh 2.9 Thanh ghi IP 52 Trang 2.2 Khảo sát chun ®ỉi ADC .55 2.2.1 Các phơng pháp chuyển đổi .56 2.2.2 Giíi thiƯu ADC 0809 56 Hình2.10 Sơ đồ khối chuyển đổi ADC dùng phơng pháp xấp xỉ liên tiếp 57 Hình 2.11 Sơ ®å ch©n cđa ADC0809 58 Bảng2.5 Bảng trạng thái ADC0809 .59 H×nh 2.12 BiĨu ®å thêi gian cña ADC 0809 .61 2.3 Khảo sát LCD .61 Hình 2.13 Sơ đồ ch©n cđa LCD: 61 Bảng2.6 Bảng mô tả chân LCD: 62 H×nh 2.14 GhÐp nèi LCD .63 2.4 Khảo sát mạch khuếch ®¹i 63 2.4.1 Bộ khuếch đại không đảo : 64 64 Hình 2.15 Bộ khuếch đại không đảo : 64 2.4.2 Bộ khuếch đảo : .64 Hình 2.16 Bộ khuếch đảo .64 Chơng III: vi điều khiển Giao tiếp với máy tÝnh 65 3.1 Trun d÷ liƯu gi÷a máy tính vi điều khiển 65 3.1.1 Cơ sở truyền thông nối tiếp 65 3.1.2 Tốc độ truyền liÖu 66 Bảng 3.1 Các giá trị ghi TH1 Timer1 cho tốc độ baud khác 67 3.2 Các chuẩn giao tiếp dùng truyền thông nối tiÕp.67 3.2.1 ChuÈn RS232 67 Hình 3.1 Đầu nèi DB - 25 cña RS232 68 Hình3.2 Sơ đồ đầu nối DB - cña RS232 .68 Bảng Các tín hiệu chân đầu nối DB - máy tính IBM PC 68 3.2.2 Bé ®iỊu khiĨn ®êng trun MAX232 69 Hình3.3 a) Sơ ®å bªn cđa MAX232 .70 b) Sơ đồ nối ghép MAX232 víi 8051 theo moden kh«ng 70 3.2.3 Các cổng COM IBM PC tơng thích 70 3.3 Các ghi điều khiển thun th«ng nèi tiÕp 70 Trang 10 3.3.1 Bộ đệm liệu nối tiếp(SBUF) 70 3.3.2 Thanh ghi ®iỊu khiĨn nèi tiÕp SCON 71 B¶ng 3.3 Các chế độ đóng khung liệu 71 3.4 LËp tr×nh 8051 trun th«ng nèi tiÕp .72 3.4.1 Lập trình 8051 để truyền liệu nối tiếp 72 3.4.2 Lập trình 8051 để nhận d÷ liƯu nèi tiÕp .74 3.5 Ngôn ngữ lập trình Visual basic 6.0 .75 3.5.1 Giíi thiƯu 75 3.5.2 Trun th«ng nèi tiÕp dïng VB 6.0 76 Hình3.4: Cách chọn thêm thành phần microsoft comm control visual basic 6.0 77 Hình3.5 Thành phần Mscomm hợp công cụ (toolbox) 77 Bảng 3.4 : Bảng đặc tính điều khiÓn MSComm 78 Dim instring as string 79 Mscomm1.comport =1 79 Mscomm1.setting = “9600 ,N,8,1” 79 Mscomm1.portopen = true 79 Mscomm1.portopen = false 79 End sub 79 Setting Prorety : 79 B¶ng 3.5 B¶ng liƯt kê giá trị baud hợp lệ 80 Thông số tốc độ baud .80 Bảng 3.6 Bảng mô tả giá trị chẳn lÏ hỵp lƯ: 80 End Sub 83 Ch¬ng IV: ThiÕt kế thi công 85 4.1 NhiƯm vơ 85 4.2 Sơ đồ khối tổng quát hệ thống 86 Hình 4.1 Sơ đồ khối tỉng qu¸t hƯ thèng 87 4.3 Tính chọn thiết bị 87 4.3.1 Khèi Loadcell 87 Hình 4.2 Hình dạng kích thíc cđa Loadcell VLC-A123 88 Trang 70 Khi lập trình 8051 để truyền byte ký tự nối tiếp cần phải thực bớc sau đây: Nạp ghi TMOD giá trị 204 báo sử dụng Timer1 chế độ để thiết lập chế độ baud Nạp ghi TH1 giá trị cho bảng 3.1 để thiết lập chế độ baud truyền liệu nối tiếp Nạp ghi SCON giá trị 50H báo chế độ nối tiếp để đóng khung bít liệu, bÝt Start vµ bÝt Stop BËt TR1 = 1để khởi động Timer1 Xoá bít TI lệnh CLR TI Byte ký tự cần phải truyền đợc ghi vào SBUF Bít cờ TI đợc hiển thị lệnh JNB TI, xx để báo ký tự đà đợc truyền hoàn tất cha Để truyền ký tù tiÕp theo quay trë vỊ bíc b Qu¸ trình truyền số liệu Thực qua bớc sau: Byte ký tự cần phải truyền đợc ghi vào SBUF TruyÒn bÝt Start TruyÒn ký tù bít lần lợt bít Bít Stop đợc truyền xong, trình truyền bít Stop cờ TI đợc bật (TI= 1) 8051 để báo sẵn sàng để truyền ký tự Bằng việc hiển thị cờ TI ta biết ta không nạp vào ghi SBUF Nếu ta nạp byte vào SBUF trớc ghi TI đợc bật phần liệu byte trớc cha truyền hết bị Hay nói cách khác 8051 bật cờ TI đà truyền xong byte sẵn sàng ®Ĩ trun byte kÕ tiÕp Sau SBOF ®ỵc nạp byte cờ nhằm để truyền byte Từ phần trình bày ta kÕt ln r»ng b»ng viƯc kiĨm tra bÝt cê ngắt TI ta biết đợc 8051 có sẵn sàng để truyền byte khác không Quan trọng cần phải nói Trang 71 bít cờ TI đợc bËt bëi tõ 8051 nã hoµn tÊt viƯc trun byte liệu, việc xoá phải đợc lập trình viên thực lệnh CLR TI Cịng cÇn lu ý r»ng, nÕu ta ghi mét byte vào ghi SBUF trớc cờ TI đợc bật có nguy phần liệu trun BÝt cê TI cã thĨ kiĨm tra b»ng lƯnh JNB TI sử dụng ngắt 3.4.2 Lập trình 8051 để nhận liệu nối tiếp a Các bớc để lập trình nhận liệu Trong lập trình 8051 để nhận byte ký tự nối tiếp phải thực bớc sau Nạp giá trị 20H vào ghi TMOD để báo sử dụng Timer1, chế độ (8 bít, tự động nạp lại) để thiết lập tốc độ baud Nạp TH1 giá trị cho bảng 3.1 để tạo tốc độ baud Nạp giá trị 50H vào ghi SCON để báo sử dụng chế độ truyền nối tiếp liệu đợc đóng gói bít liệu, bít Start bÝt Stop BËt TR1 = ®Ĩ khëi động Timer1 Xoá cờ ngắt RI lệnh CLR RI Bít cờ RI đợc hiển thị lệnh JNB RI, xx để xem toàn ký tự đà đợc nhận cha Khi RI đợc thiết lập SBUF đà có byte Các nội dung đợc cất lu vào nơi an toàn §Ĩ nhËn mét ký tù tiÕp theo quay trë vỊ bớc b Quá trình nhận số liệu Khi nhận bít qua chân RxD 8051 phải ®i quan c¸c bíc sau: Nã nhËn bÝt Start báo bít sau bít liệu cần phải nhận Ký tự bít đợc nhận lần lợt bít Khi bít cuối đợc nhận byte đợc hình thành đặt vào SBUF Khi bít Stop đợc nhận 8051 bật RI = để báo toàn ký tự đợc nhận phải lấy trớc bị byte nhận ghi đè lên Trang 72 B»ng viƯc kiĨm tra bÝt cê RI đợc bật lên biết ký tự đà đợc nhận nằm SBUF Cần nội dung SBUF vào nơi an toàn mét ghi hay bé nhí kh¸c tríc nã bị Sau SBUF đợc ghi vào nơi an toàn cờ RI đợc xoá lƯnh “CLR RI” nh»m cho c¸c ký tù kÕ tiÕp nhận đợc đa vào SBUF Nếu không làm đợc điều gây ký tự vừa nhận đợc Từ mô tả ta rút kết luận r»ng b»ng viƯc kiĨm tra cê RI ta biÕt 8051 ®· nhËn ®ỵc mét byte ký tù cha hay råi Nếu ta không đợc nội dung ghi SBUF vào nơi an toàn có nguy ta bị ký tự vừa nhận đợc Quan trọng phải nhớ cờ RI đợc 8051 bật lên nh lập trình viên phải xoá lệnh CLR RI” Cịng nªn nhí r»ng, nÕu ta néi dung SBUF vào nơi an toàn trớc RI đợc bật ta mạo hiểm đà liệu cha đầy đủ Bít cờ RI đợc kiểm tra lệnh JNB RI, xx ngắt 3.5 Ngôn ngữ lËp tr×nh Visual basic 6.0 3.5.1 Giíi thiƯu Visual Basic ngôn ngữ lập trình phổ biến ngày nay, ngôn ngữ lập trình môi trờng Windows đời sớm đà tạo cách mạng công nghiệp phần mềm Có thể nói VB mạnh tất (đợc hỗ trợ nhiều khả sở liệu, kỹ thuật phần mỊm míi nh OLE, COM, DCOM ) nhng chÝnh khả nên tốc độ nhìn chung chậm Với Visual Basic, công việc tạo giao diện máy tính trở nên dễ dàng nhiều so với việc tạo giao diện ngôn ngữ C trớc Chỉ với vài thao tác Click Drag đơn giản, ta bổ sung vào cửa sổ trống lệnh đơn, hộp văn bản, c¸c nót lƯnh, c¸c nót t chän Sau tạo giao diện công việc viết mà cho đối tợng (gọi điều khiển: control) Nh vËy ta cã thĨ nãi, víi VB c«ng việc tạo giao diện đồ hoạ cho ứng dụng đà đợc VB đảm nhận Visual Basic cho phép ứng dụng tạo liên kết với ứng dụng Windows khác dễ dàng, cho phép dễ dàng tạo ứng dụng thiên quản lý liệu mạng Trang 73 Visual Basic cho phÐp ngêi sư dơng giao tiếp với th viện liên kết động DLL Điều giúp giảm kích cỡ chơng trình, tập tin thực thi đặc biệt làm cho chơng trình có khả nâng cấp dễ dàng 3.5.2 Truyền thông nối tiếp dùng VB 6.0 a Điều khiển truyền thông: Bình thờng chạy phần mềm visual basic ta thấy có số thành phần quen thuộc hợp công cụ (toolbox) Nhng visual basic cho phép nhiều thành phần đợc bổ sung thêm vào Điều khiển truyền thông Mscomm viual basic số ®èi tỵng cã thĨ ®ỵc bỉ sung ®Ĩ tham gia vào số ứng dụng việc chuyển nhận liƯu qua cỉng nèi tiÕp Trong visual basic 5.0 vµ 6.0 ta bổ sung thành phần MSCOMM đề cËp ë trªn nh sau: chän project=> components (Ctrl-T),cđa sỉ sau xuất hiện: Trang 74 Hình3.4: Cách chọn thêm thành phần microsoft comm control visual basic 6.0 Đánh dấu chọn thành phần microsoft comm control 6.0 nh hình trên, sau nhấn OK Khi thành phần Mscomm xuất hợp công cụ nh hình dới đây: Điều khiển Mscomm Hình3.5 Thành phần Mscomm hợp công cụ (toolbox) Điều khiển truyền thông cung cấp hai khả trao đổi thông tin: Điều khiển kiện: Truyền thông điều khiển kiện phơng pháp tốt đợc sử dụng trình việc trao đổi thông tin nối tiếp giải phóng máy tính để làm công việc khác Hỏi vòng (poing): Ta hỏi vòng kiện lỗi cách kiểm tra giá trị đặc tính comEvent sau chu kỳ chơng trình để xác định xem liệu có kiện lỗi đà xuất Visual basic sử dụng điều khiển cửa sổ chuẩn cho cồng truyền thông tin nối tiếp (nh serial.dll serial.vxd ) Điều khiển truyền thông đợc bổ sung cho ứng dụng cổng nối tiếp, nói khác điều khiển truyền thông mà ta dùng điều khiển mét cỉng nèi tiÕp NÕu cÇn truy nhËp nhiỊu cỉng ứng dụng ta phải nhiều điều khiển truyền thông Địa cổng địa ngắt thay đổi nhở control panel windows Các tham số (nh tốc độ truyền bit, chẳn lẽ,)đều thay đổi cách lựa chọn : Trang 75 control panel=> sestem=> device manager=> port(com vµ lpt)=> port setting Việc thiết lập cổng truyền thông (IRQ địa cổng) thay đổi cách lực chọn : control panel=>sestem=>device manager=> port(com LPT)=>resources Việc đà đợc nói đến phần cổng nối tiếp b Đặc tính (Properti) Hình bên đặc tính Theo mặc định, cổng thứ tạo đối tợng có tên Mscomm1, đối tợng ứng với cổng thứ hai đợc gọi Mscomm2 , nhìn thấy đặc tính đối tợng là: Commport, Dtrenable, Eofenable,Hnadshaking, Inbuffersize, Index,Inputlen, Inputmode, Left, Name, Nulldiscard, Outbuffersize, Parityreplace, Rthreshold, Rtsenable, Settings, Sthreshold, Tag, Top Ta thÊy ®iỊu khiĨn trun thông có nhiều đặc tính, nhng để làm việc với điều khiển truyền thông, trớc hết ta cần hiểu kỹ đặc tính đợc liệt kê bảng sau Bảng 3.4 : Bảng đặc tính điều khiển MSComm Các đặt tính Commport Input Output Portopen Setting Sự mô tả Đặt trả lại số cổng truyền thông Trả lại loại bỏ ký tự khỏi xâu đệm nhận Viết xâu ký tự tới vào đệm truyền Mở đóng cổng đặt thông số cho cổng Đặt trả lại thông số truyền thông Trang 76 Thí dụ sau cách truyền thông qua cổng nối tiếp đợc tiến hành nh thề cách sử dụng Modem Private sub form_load biến để lu trữ chuỗi nhËp vµo Dim instring as string ‘sư dơng com1 Mscomm1.comport =1 ‘9600 baud, no parity, bit data, stop bit Mscomm1.setting = “ 9600 ,N,8,1” ‘ra lÖnh cho msc ®äc hÕt bé ®Öm nhËn dïng lÖnh input mscomm1.inputlen =0 ‘më cỉng Mscomm1.portopen = true ‘gëi lƯnh attention tíi modem Mscomm1.output = ATV1Q0 &CHR$(13) để modem đà trả lời OK đợi liệu trả lời gởi vỊ cỉng nèi tiÕp Doevents Buffer$ = buffer$ & mscomm1.input Loop until instr (buffer$ &, “ OK” &vbCLRF) ‘®äc liệu trả lời OK đóng cổng nối tiếp Mscomm1.portopen = false End sub Sau ta lần lợt tìm hiểu số đặt tính quan trọng điều khiển truyền thông Setting Prorety : Đặt tính setting đặt trả lại thông số truyền thông cho cổng RS_232, nh tốc độ baud, tính chẳn lẻ số bit data số bit stop Cú pháp câu lệnh : [form.]mscomm.setring [=paramstring$] Trang 77 Nếu paramstring$ không hợp lệ (valid) mở cổng điều khiển truyền thông phát sinh lỗi 380 (lỗi giá trị thuộc tính không hợp lệ) Parastring$ chuỗi chứa thông số thiết lập cho truyền thông RS-232 có dạng nh sau: BBBB,P,D,S BBBB xác định tốc độ baud, P bit tính chẳn lẻ, D số bit data,và S bit dừng (stop bits) Giá trị mặc định paramstring$ là: 9600,N,8,1 Bảng sau liệt kê giá trị baud hợp lệ: Bảng 3.5 Bảng liệt kê giá trị baud hợp lệ Thông số tốc độ baud 110 2400 19200 300 4800 28800 600 9600 38400 1200 14400 56000 57600 115200 128000 256000 Bảng sau mổ tả giá chẳn lẽ hợp lệ: Bảng 3.6 Bảng mô tả giá trị chẳn lẽ hợp lệ: Giá Mô tả trị E M N O S Even(chẳn) Mark (dấu) None (không kiểm tra chẳn lẻ-default) Odd (lẻ) Space (trống) Số bit hợp lệ lần truyền (khung truyền ) :4,5,6,7,8,(default) Số bit Stop hợp lệ là:1,1.5,2 Trang 78 Thí dụ sau cho phép đặt thông số cho cổng truyền tốc độ baud 4800,không kiểm tra bit chẳn lẻ, bit liệu, bit dừng: Mscomm1.Settings = “ 4800,N,8,1” KiĨu data cđa Mscomm1.Settings lµ String Commport Property: Đặc tính đặt trả số cổng truyền thông Cú pháp câu lệnh là: [Form.] Mscomm.commport [= portnumber %] Trong thiÕt kÕ (design time) ta đặt portnumber% giá trị nằm khoảng từ đến 16 (giá trị mặc định 1) Trớc dùng lệnh portopen phải thiết lặp cổng commport Nếu ta dùng đặc tính PortOpen trớc thiết lập cổng Commport điều khiển truyền thông sinh lỗi 68 (cổng không tồn tại) Kiểu liệu: Integer Portopen Property: Đặc tính portoper đặt trả lại trạng thái cổng truyền thông ( đóng mở) Đặc tính thời gian thiết kế chơng trình Cú pháp câu lệnh là: [Form.]Mscomm.PortOpen [= True/False] Thông số thiết lập true mở cổng, false để đóng cổng xóa nội dung đệm nhận truyền Mscomm tù ®éng ®ãng cỉng nèi tiÕp øng dơng kết thúc (terminated) Trớc dùng đặc tính (portopen), phải đặt thông số cổng đặc tính CommPort với giá trị hợp lệ, ta quên đặc tính lỗi 68 phát sinh Thí dụ sau mở cổng truyền thông số (Com1) với tốc độ baud 4800 buad, không kiểm tra tính chẳn lẻ, bit liệu, bit stop Mscomm1.Settings =“4800,N,8,1” Mscomm1.Commport =1 Mscomm1.PortOpen =true KiÓu data: kiÓu logic (Boolean) Các Đặt Tính Phục Vụ Nhập Dữ Liệu (Input, Inbuffercount Và Inbuffersize): Trang 79 ã Input : Đặc tính input trả lại xóa bỏ chuỗi ký tự từ đệm nhận Đặc tính sẵn thiết kế đọc (read _only) chạy chơng trình Cú pháp câu lệnh là: [Form.] Mscomm.Input Đặc tính InputLen quy định số ký tự đợc đọc câu lệnh Input Để xác định số ký tự đệm, đặc tính InputBufferCount đợc kiểm tra Đặc tính InputLen để đọc toàn nội dung đệm nhận Đặc tính InputMode định kiểu data thu qua đặc tính Input.Nếu đặc tính đợc set CommInputMode Text đặc tính Input trả liệu kiểu Text vào biến Variant Nếu InputMOde comINputModeBinary Input trả liệu nhị phân mảng byte vào biến Variant Thí dụ dới cách ®äc d÷ liƯu tõ bé ®Ưm nhËn Mscomm1.InputLen = đọc toàn nội dung đệm nhận kiểm tra có data hay không If Mscomm1.inbufferCount then đọc liƯu ‘ Instring$ = Mscomm1.Input End if KiĨu data : variant InBufferSize: Đặc tính InBufferSize đặt trả lại kÝch thít bé ®Ưm nhËn, tÝnh theo sè byte Có pháp câu lệnh: [Form.]Mscomm InBufferSize [=numbyte%] Đặc tính có liên quan đến kích thớc đệm nhận Giá trị mặc định 1024 bytes Kích thớc đệm phải đợc đặt cho cất giữ đợc số lớn ký tự đợc nhận trớc chơng trình ứng dụng đọc chúng từ đệm, trừ ta làm việc chế độ bắt tay (handshaking) Kiểu data đặc tính là: Integer Trang 80 ã InbufferCount: Đặc tính InbufferCout trả lại số ký tự đệm nhận Nó đợc sử dụng để xóa đệm cách đặt số ký tự Đặc tính thời gian thiết kế chơng trình (design time) Cú pháp câu lệnh nh sau: [Form.] Mscomm.InbufferCout [ =count%] Ta cã thÓ xãa bé đệm cách đặt đặc tính InBufferCount = Kiểu liệu đặc tính là: Integer Các Đặc Tính Phục Vụ Việc Xuất Dữ Liệu(Output,OutBufferCount Và OutBufferSize): ã Output property: Đặc tính output viết chuỗi ký tự vào đệm đờng truyền, đặc tính thời gian thiết kế chơng trình Cú pháp câu lệnh là: [Form.]Mscomm.Output [ = outstring$] Thí dụ sau cho biết cách gửi ký tự mà ngêi dïng gâ vµo tõ bµn phÝm: Private Sub Form_Load(keyAscii As Integer) Mscomm1.Output = Chr$(keyAscii) End Sub Đặc tính Output xuất liệu dạng Text hay Binary Để gửi data dạng Text ta phải khai báo biến kiểu Variant cho chứa chuỗi mẫu gửi, sau gán biến cho đặc tính Output Để gửi data dạng Binary ta phải truyền biến kiểu Variant chứa mảng byte cho đặc tính Output Thông thờng, ta gửi chuỗi theo chuẩn ANSI tới øng dơng, ta cã gưi data d¹ng Text NÕu ta có data mà ta chứa ký tự điều khiển đợc nhúng (embedded) nh ký tự NULL,thì ta truyền liệu theo dạng Binary Kiểu liệu đặc tính : Variant ã OutBufferSize Property: Đặc tính OutBufferSize đặt trả lại kích thớc ký tự đệm truyền Cú pháp câu lệnh: Trang 81 [form.] Mscomm.OutBufferSize [= numbtype%] Giá trị mặc định đặc tính 512 bytes Chú ý: - Không đợc nhầm lẫn hai đặc tính OutBufferSize OutBufferCount với Đặc tính OutBufferCount nói lên số bytes có đệm truyền, OutBufferSize quy định tổng kích thớt đệm truyền - Không để kích thớc đệm truyền lớn Tuy nhiên để nhỏ xảy tợng tràn liệu (trừ làm việc chế độ bắt tay) Thông thờng nên bắt đầu với kích thớc đệm truyền 512 bytes Nếu lỗi tràn xảy tăng kích thớc đệm cho thích hợp với ứng dụng Kiểu kiệu cho đặc tính là: Integer ã OutBufferCount Property: Đặc tính OutBufferCount trả lại số kí tự đệm truyền Nhờ đặc tính mà ta xóa nội dung đệm truyền cách đặt giá trị OutBufferCount = Cú pháp cấu lệnh là: [Form.] Mscomm OutBufferCount [= value%] Kiểu liệu đặc tính là: Integer Ngoài đặc tính VB 6.0 số đặc tính khác nhng không sử dụng phạm vi đồ án nên em không trình bày phần Trang 82 Chơng IV: Thiết kế thi công Trong chơng em đà trình bày kiến thức liên quan đến đồ án Trong chơng em trình bày cụ thể phần thiết kÕ chi tiÕt 4.1 NhiƯm vơ NhiƯm vơ cđa ®Ị tài thiết kế cân điện tử cân đợc từ 0kg-25 000kg Do yêu cầu thiết kế gåm: - ThiÕt kÕ khèi nguån cung cÊp cho m¹ch ®iƯn - ThiÕt kÕ m¹ch khch ®¹i ®o lêng - Thiết kế chuyển đổi tơng tự - số (ADC) - Thiết kế mạch giao tiếp.tính - Viết chơng trình điều khiển cho vi điều khiển chơng trình giao tiếp với máy tính Trang 83 - Mô chơng trình máy 4.2 Sơ đồ khối tổng quát hệ thống Do điều kiện thiết bị thời gian không cho phép nên em không đủ điều kiện để thiết kế cân điện tử hoàn thiện nh em đà trình bày chơng phần em tiến hành tính toán thiết kế mạch cân đợc khối lợng theo yêu cầu tiến hành mô máy tính theo yêu cầu với đầy đủ khối chức nh thực tế Sơ đồ khối tổng quát hệ thống: Hiển thị Khuếch đại ADC 0809 Loadcell Đối tượng đo khối lư ợng Vi điều khiển Giao tiếp máy tính Bàn phím 12V đến khuếch đại Nguồn +5V đến khối khác +10V đến Loadcell Máy tính Trang 84 Hình 4.1 Sơ đồ khối tổng quát hệ thống Chức c¸c khèi hƯ thèng: - Khèi Loadcell: Thùc hiƯn đo khối lợng, chuyển đổi tín hiệu lực đầu vào thành tín hiệu điện áp đầu để đa vào khối khuếch đại - Khối khuếch đại: Thực khuếch đại tín hiệu điện áp đầu cảm biến thành dải điện áp phù hợp để đa vào khối chuyển đổi tơng tự số - Khối chuyển đổi tơng tự số (ADC): Thực chuyển đổi tín hiệu vào dạng tơng tự (điện áp) thành tín hiệu số - Khối vi điều khiển: Điều hành hoạt động hệ thống: đọc liệu từ ADC, xử lý đa khối hiển thị, thực giao tiếp với máy tính - Khối hiển thị: Hiển thị giá trị khối lợng cân đợc - Khối nguồn: Cung cấp nguồn cho tất thiết bị hƯ thèng - Khèi giao tiÕp víi m¸y tÝnh: Thực truyền liệu máy tính vi điều khiển - Máy tính: Hiển thị số liệu cân đợc từ cảm biến 4.3 Tính chọn thiết bị 4.3.1 Khối Loadcell Do yêu cầu cân khối lợng khoảng 25 nên ta chọn cảm biến loadcell VLC A123 có thông số hình dạng sau A= 260 mm B= 210 mm d= 11mm e=50 SR=220 ... thực đề tài: Thiết kế xử lý cân điện tử dùng vi điều khiển 8051 hiển thị liệu LCD,có giao tiếp với máy tÝnh qua cỉng RS232” Cơ thĨ em sÏ thiÕt kế cân điện tử cân đợc tối ®a 25000 Kg Trang 18 Giíi... gian quy định theo yêu cầu đề tài là: Thiết kế cân điện tử dùng vi điều khiển 8051 hiển thị hình LCD giao tiếp với máy tÝnh qua cæng RS232 111 Trang 12 Tµi liƯu tham kh¶o .112... theo yêu cầu trạm cân mà vi? ??t chơng trình cho máy tính phù hợp Chơng II:Khảo sát vi điều khiển 8051, ADC 0809 ,LCD mạch khuếch đại 2.1 Khảo vi điều khiển 8051 IC vi điều khiển 8051/ 8031 thuộc họ