Đồ án Xây dựng hệ thống hiển thị các đại lượng đo và điều khiển cho hệ truyền động điện động cơ dị bộ
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng hệ thống hiển thị các đại lượng đo và điều khiển cho hệ truyền động điện động cơ dị bộ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_xay_dung_he_thong_hien_thi_cac_dai_luong_do_va_dieu_kh.pdf
Nội dung text: Đồ án Xây dựng hệ thống hiển thị các đại lượng đo và điều khiển cho hệ truyền động điện động cơ dị bộ
- MỤC LỤC LỜI MỞ ĐẦU 3 CHƢƠNG 1. NHỮNG VẤN ĐỀ CHUNG CỦA HỆ THỐNG TỰ ĐỘNG TRUYỀN ĐỘNG ĐIỆN 4 1.1.KHÁI NIỆM HỆ THỐNG TĐTĐĐ 4 1.2. PHÂN LOẠI HỆ THỐNG TRUYỀN ĐỘNGĐIỆN 4 1.3.PHƢƠNG TRÌNH ĐỘNG HỌC CỦA TRUYỀN ĐỘNGĐIỆN 5 1.3.1. Đối với hệ truyền động chuyển động quay 5 1.3.2. Đối với hệ truyền động chuyển động tịnh tiến 6 1.4.MOMENT CẢN 7 1.4.1 . Mô men cản phụ thuộc vào chiều chuyển động 7 1.4.2. Mô men cản phụ thuộc trị số tốc độ 8 1.4.3. Mô men cản phụ thuộc vào góc quay 9 1.4.4. Mô men cản phụ thuộc vào hành trình 9 1.4.5. Mô men cản phụ thuộc vào thời gian 9 1.5. QUY ĐỔI CÁCĐẠI LƢỢNG VỀ TRỤC ĐỘNG CƠ 9 1.5.1. Tính quy đổi mô men cản về trục động cơ 9 1.5.2. Quy đổi lực cản về trục động cơ 10 1.5.3. Quy đổi tất cả các mô men quán tính J , khối quán tính m về trục động cơ 10 1.6: ĐẶC TÍNH CỦA HỆ THỐNGTĐTĐĐ 11 1.6.1. Định nghĩa 11 1.6.2. Phân loại đặc tính cơ 11 1.6. 3. Độ cứng của đặc tính cơ 12 CHƢƠNG 2: TÌM HIỂU VỀ VI ĐIỀU KHIỂN AT89C51 15 2.1 GIỚI THIỆU CẤU TRÚC PHẦN CỨNG 8051 15 2.1.1. Sơ đồ chân 8051 15 2.1.2. Chức năng của các chân 8051 16 1
- 2.1.3. Cấu trúc bên trong của 8051 20 2.1.3.1. Sơ đồ khối bên trong 8051 20 2.1.3.2. Khảo sát các khối nhớ bên trong 8051: 21 2.1.4.Hoạt động thanh ghi TIMER 27 2.1.4.1. Ngắt ( INTERRUPT) 29 2.1.5. Tóm tắt tập lệnh của 8951 31 2.1.5.1. Các mode định vị (Addressing Mode) : 32 2.2. GIỚI THIỆU VỀ ENCODER 37 2.3. GIỚI THIỆU VỀ LED 7 ĐOẠN Error! Bookmark not defined. CHƢƠNG 3 XÂY DỰNG PHẦN CỨNG, LƢU ĐỒ THUẬT TOÁN VÀ CHƢƠNG TRÌNH ĐIỀU KHIỂN 40 3.1. SƠ ĐỒ TỔNG QUÁT 40 3.2. THIẾT KẾ PHẦN CỨNG VÀ SƠ ĐỒ MẠCH MÔ PHỎNG 41 3.2.1. Thiết kế phần cứng 41 3.2.2.Sơ đồ mạch nguyên lý 42 3.2.2.1. Khối nguồn 43 3.2.2.2. Khối LED 43 3.2.2.3. Khối vi xử lý và khối dao động 44 3.2.2.4. Khối động cơ 45 3.3. THIẾT KẾ MẠCH 46 3.3.1.Chọn vi điều khiển 46 3.3.2.LED 7 đoạn và Button 47 3.3.3. Encoder và Điện trở treo 48 3.3.4.Thạch anh dao động và tụ điện 50 3.3.5. Hình ảnh mạch đo và hiển thị tốc độ 51 3.4. LƢU ĐỒ THUẬT TOÁN 52 3.5. CHƢƠNG TRÌNH ĐIỀU KHIỂN 54 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 2
- LỜI MỞ ĐẦU Ngày nay việc ứng dụng vi điều khiển, vi xử lý đang ngày càng phát triển rộng rãi và thâm nhập ngày càng nhiều vào các lĩnh vực kỹ thuật và đời sống xã hội. Với xu hƣớng tất yếu này cùng với sự phát triển mạnh mẽ của công nghệ chế tạo, ngƣời ta đã tạo những vi điều khiển có cấu trúc mạnh hơn, đáp ứng thời gian thực tốt hơn, chuẩn hóa hơn so với các vi điều khiển 8 bit trƣớc đây. Với sự phát triển mạnh mẽ của khoa học, đặc biệt là ngành điện, điện tử, sự phát minh ra các linh kiện điện tử đã và đang ngày càng đáp ứng đƣợc yêu cầu của các hệ thống. Ƣu điểm của việc sử dụng các linh kiện điện tử làm cho các hệ thống linh hoạt và đa dạng hơn, giá thành thấp hơn và độ chính xác cao hơn. Sau thời gian học tập và tìm hiểu, em đã đƣợc làm quen với môn học vi xử lý và đo lƣờng hệ thống. Để áp dụng lý thuyết với thực tế của môn học này em đã nhận đề tài :'' Xây dựng hệ thống hiển thị các đại lƣợng đo và điều khiển cho hệ truyền động điện động cơ dị bộ”. Tuy nhiên do kiến thức còn hạn chế, tài liệu tham khảo có giới hạn nên còn có những sai sót. Em rất mong thầy, cô giáo thông cảm và giúp đỡ em hoàn thiện đề tài này. Em xin chân thành cảm ơn! . 3
- CHƢƠNG 1. NHỮNG VẤN ĐỀ CHUNG CỦA HỆ THỐNG TỰ ĐỘNG TRUYỀN ĐỘNG ĐIỆN 1.1.KHÁI NIỆM HỆ THỐNG TĐTĐĐ Truyền động điện là một nghành khoa học thuộc lĩnh vực cơ điện hoặc chỉ một quá trình biến đổi năng lƣợng điện thành năng lƣơng cơ Ta có sơ đồ khối cơ bản của một hệ truyền động điện nhƣ sau Trong đó - BĐ: Bộ biến đổi có chức năng biến đổi dòng điện và điện áp lƣới thành dòng điện và điện áp có tần số thích hợp - Đ: Động cơ điện - TBL : Thiết bị truyền lực - M : Máy sản xuất - ĐK : Bộ điều khiển 1.2. PHÂN LOẠI HỆ THỐNG TRUYỀN ĐỘNGĐIỆN + Dựa vào loại động cơ điện - Truyền động điện động cơ điện một chiều - Truyền động điện động cơ điện xoay chiều 4
- - Truyền động điện động cơ điện đặc biệt + Dựa vào tƣơng quan giữa động cơ điện và máy sản xuất - Truyền động điện nhóm : Một động cơ điện phục vụ cho một nhóm phụ tải - Truyền động điện đơn : Một động cơ điện phục vụ cho một phụ tải riêng biệt - Truyền động điện nhiều động cơ : Nhiều động cơ điện phục vụ cho một phụ tải + Dựa vào mức độ tự động hóa - TĐĐ bán tự động : là hệ thống truyền động điện trong một vài khâu còn có sự can thiệp của ngƣời vận hành - TĐĐ tự động : là hệ thống truyền động điện không có sự can thiệp của ngƣời vận hành Các xu hƣớng phát triển của tự động hóa truyền động điện - Hoàn thiện cấu trúc của động cơ điện : Làm ra những động cơ điện có dải điều chỉnh rộng và dễ dàng - Hoàn thiện cấu trúc cơ học của truyền động điện - Mở rộng phạm vi ứng dụng của truyền động điện - Tăng mức độ tự động hóa của hệ thống - ứng dụng các thành tựu công nghệ mới trong lĩnh vực điều khiển 1.3.PHƢƠNG TRÌNH ĐỘNG HỌC CỦA TRUYỀN ĐỘNGĐIỆN 1.3.1. Đối với hệ truyền động chuyển động quay Ta có phƣơng trình cân bằng công suất của hệ Pđg = Pđ - Pc Trong đó Pđ : Công suất do động cơ sinh ra để gây chuyển động Pc : Công suất của phụ tải mà động cơ phải khắc phục Pđg : Công suất động đặc trƣng cho sự thay đổi động năng của hệ 5
- Hệ quay với tốc độ góc là thì động năng tích lũy đƣợc sẽ là 2 A J 2 trong trƣờng hợp tổng quát J phụ thuộc vào góc quay của bộ phận làm việc tức là J = f (α ) thì ta có dA d 2 dJ P J P P dg dt dt 2 dt d c d dJ M M M J dg d c dt 2 dt d d dt vì dt nên phƣơng trình có thể viết lại nhƣ sau d 2 dJ M M M J dg d c dt 2 d d M M M J Trƣờng hợp J = const ta có dg d c dt Đây là phƣơng trình động học đối với chuyển động quay. Từ phƣơng trình này ta có : 1. Mđg> 0 , Mđ> Mc hệ tăng tốc khi >0 , hãm khi 0 3. Mđg = 0 , Mđ = Mc đây là trạng thái làm việc xác lập của hệ với = ωxl 1.3.2. Đối với hệ truyền động chuyển động tịnh tiến Tƣơng tự nhƣ chuyển động quay công suất động của hệ đƣợc tính theo công thức d mv 2 Pdg dt 2 tổng quát m = f ( L) trong đó L là quãng đƣờng mà vật dịch chuyển đƣợc nên ta có m = f(t) dv v 2 dm P mv dg dt 2 dt dL dL v dt vì dt v nên phƣơng trình có thể viết lại thành 6
- dv v3 dm P mv dg dt 2 dL dv v 2 dm F F F m dg d c dt 2 dL vậy phƣơng trình động học của hệ có dạng sau dv v2 dm F F m d c dt 2 dL dv F F m trong trƣờng hợp m = const thì ta có d c dt Trong đó Fđ : lực gây ra chuyển động Fc : Lực cản do vật tạo ra m : Khối lƣợng của vật v : Vận tốc chuyển động L : Quãng đƣờng dịch chuyển đƣợc của vật t : Thời gian dịch chuyển trong chuyển động quay nếu cho tốc độ là n=v/p thì ta có thể tính đổi nhu sau 2 n n 60 9,55 1.4.MOMENT CẢN 1.4.1 . Mô men cản phụ thuộc vào chiều chuyển động + Mô men phản kháng : Là loại mô men mà chiều của nó luôn chống lại chiều chuyển động nhƣ mô men ma sát trên trục các máy sản xuất . Qui ƣớc chiều âm của mô men trùng chiều dƣơng của tốc độ 7
- ω 1 2 MC MC0 M MC0 MC 2 1 Đƣờng 1 là đƣờng Mc không phụ thuộc tốc độ còn đƣờng 2 là đƣờng mô men cản tỷ lệ bậc nhất của tốc độ + Mô men cản thế năng : Là loại mô men cản do tải trọng sinh ra trong các máy nâng hạ , tời , cần trục . loại mô men cản này có chiều không phụ thuộc vào chiều chuyển động ω 1 2 M MC0 MC 1.4.2. Mô men cản phụ thuộc trị số tốc độ + Mô men cản không phụ thuộc tốc độ + Mô men cản tỷ lệ bậc nhất tốc độ + Mô men cản tỷ lệ bậc hai với tốc độ + Mô men cản tỷ lệ nghịch với tốc độ 8
- 1.4.3. Mô men cản phụ thuộc vào góc quay Là lọai mô men cản xuất hiện trong các máy sản xuất có cơ cấu thanh gạt tay quay nhƣ các bơm piston , máy nén khí 1.4.4. Mô men cản phụ thuộc vào hành trình Trong các cơ cấu nâng - vận chuyển và nhữnh loại xe tải chuyển động trên mặt phẳng nghiêng , mô men cản không những phụ thuộc vào tốc độ dịch chuyển mà còn phụ thuộc vào quãng đƣờng mà vật dịch chuyển đƣợc . Trong trƣờng hợp tổng quát mô men này đƣợc biểu diễn nhƣ sau : Mc = Mco + kφ Mco : giá trị mô men cản khi hành trình = 0 k : hệ số tỉ lệ 1.4.5. Mô men cản phụ thuộc vào thời gian + Phụ tải dài hạn không đổi + Phụ tải dài hạn biến đổi liên tục + Phụ tải thay đổi đột biến + Phụ tải ngắn hạn lặp lại + Phụ tải ngắn hạn 1.5. QUY ĐỔI CÁCĐẠI LƢỢNG VỀ TRỤC ĐỘNG CƠ 1.5.1. Tính quy đổi mô men cản về trục động cơ Ta phải quy đổi Mt về trục động cơ , ở đây ta cần đảm bảo công suất của hệ trƣớc và sau khi quy đổi là nhƣ nhau M . t t M . c d 1 M M . . t c t d d 1 i M c M t với t i. Trong đó Mc là mô men cản tĩnh của tang quay đã quy đổi về trục động cơ 9
- 1.5.2. Quy đổi lực cản về trục động cơ Trong sơ đồ động học ta giả thiết tải trọng G sinh ra lực F và làm cho khối nặng chuyển động với vận tốc chuyển động tịnh tiến là v . Tính toán quy đổi Fc về trục động cơ Trƣờng hợp này ta cũng cần đảm bảo công suất của tải trọng không đổi nhƣ vậy ta có F .v F .v c M . M c c d c . d v F . M c c Đặt d với là bán kính quy đổi lực phụ tải về trục động cơ 1.5.3. Quy đổi tất cả các mô men quán tính J , khối quán tính m về trục động cơ Giả thiết động cơ có mô men quán tính là Jđ . Hộp tốc độ gồm có k bánh răng , mỗi bánh răng có mô men quán tính là J1 ,J2 Jk ,vận tốc góc là 1 ,2 , k t .Tang quay có mô men quán tính Jt , tốc độ góc là Ta phải quy đổi các đại lƣợng cơ học trên về trục động cơ, trƣờng hợp này cần đảm bảo động năng của hệ không thay đổi nghĩa là ta có 2 n 2 2 2 2 d n t v d J d J n J t m J 2 1 2 2 2 2 n 2 2 v 2 J J n J t m J d n 2 t 2 2 Từ đó ta rút ra 1 d d d v i d ;i d n t Đặt n t là các tỷ số truyền và d là bán kính quy đổi khối quán tính m về trục động cơ n 1 1 J J J J m 2 d n i 2 t i 2 1 d t Thực tế do có hộp số mà mô men quán tính của động cơ tăng lên lần vì vậy ta có 10
- 1 J J J m 2 d t i 2 t trong các sổ tay kỹ thuật thƣờng cho mô men vô lăng của động cơ với ký hiệu là GD2 thì mô men quán tính J đƣợc xác định bằng công thức GD 2 J 4 1.6: ĐẶC TÍNH CỦA HỆ THỐNGTĐTĐĐ 1.6.1. Định nghĩa Mối quan hệ giữa tốc độ n hoặc với mô men sinh ra của động cơ hoặc của máy sản xuất gọi là đặc tính cơ của động cơ hoặc máy sản xuất Đặc tính cơ có thể viết ở hai dạng : Hàm thuận và hàm ngƣợc - Hàm thuận n = f (M) hoặc = f(M) Hàm thuận hay đƣợc sử dụng để đánh giá chất lƣợng tĩnh của hệ truyền động điện - Hàm ngƣợc M = f(n) hoặc M = f (ω) Hàm ngƣợc thƣờng đƣợc sử dụng trong việc tính toán giải tích 1.6.2. Phân loại đặc tính cơ - Đặc tính cơ tĩnh : mối quan hệ = f (M) của động cơ trong những trạng thái làm việc xác lập của - Đặc tính cơ động : là qũy tích các điểm có tọa độ ( Mi , ωi ) trong thời gian của quá trình quá độ hay còn đƣợc gọi là qũy đạo pha của hệ - Đặc tính cơ điện : Là mối quan hệ giữa tốc độ của động cơ và dòng điện phần ứng hoặc mạch động lực n = f (I) hoặc = f(I) Đặc tính cơ điện dùng để đánh giá mức độ chịu tải của động cơ về mặt dòng điện Đối với đặc tính cơ tĩnh và đặc tính cơ động thì mỗi đặc tính lại đƣợc chia làm 2 loại 11
- - Đặc tính cơ tự nhiên : là đặc tính cơ ứng với các thông số của động cơ là định mức - Đặc tính cơ nhân tạo : là đặc tính cơ thu đƣợc khi ta thay đổi các thông số của động cơ 1.6. 3. Độ cứng của đặc tính cơ Độ cứng của đặc tính cơ biểu thi sự thay đổi của tốc độ khi mô men thay ®æi dM M d dM tg A d Đễ dễ phân biệt thì độ cứng của động cơ ta ký hiệu là β còn của máy sản xuất là βc Hệ đơn vị tƣơng đối sử dụng trong truyền động điện Để thuận tiện cho việc tính toán thiết kế , hoặc so sánh đánh giá các hệ truyền động điện , ngƣời ta thƣờng sử dụng hệ đơn vị tƣơng đối . Muốn biểu diễn một đại lƣợng nào đó dƣới dạng đơn vi tƣơng đối ta lấy trị số của nó chia cho trị số của đại lƣợng cơ bản tƣơng ứng đã chọn . Trong truyền động điện các đại lƣợng cơ bản thƣờng chọn là các đại lƣợng định mức nhƣ : Uđm , Iđm , ωđm , Mđm Rđm Để ký hiệu ta dùng dấu * trên các đại lƣợng đó . Ví dụ trị số tƣơng đối của điện áp U U U U % .100% U U dm dm I M I M I M tƣơng tự của dòng điện dm ; mô men dm và từ thông dm 12
- Khi sử dụng ta cần chú ý : - Đối với các máy điện một chiều kích từ độc lập và hỗn hợp , tốc độ cơ bản là ω0 ; với các máy đồng bộ và không đồng bộ tốc độ cơ bản là tốc độ không tải lý tƣởng ; với các máy điện một chiều kích từ nối tiếp tốc độ cơ bản là tốc độ định mức - Đại lƣợng cơ bản của điện trở là điện trở định mức Với các máy một chiều U R dm () dm I dm Với động cơ không đồng bộ ro to dăy quấn thì điện trở định mức của ro to Rđm bao gồm điện trở của cuộn dây roto ở một pha r2 cộng với điện trở phụ Rf mắc nối tiếp vào mỗi pha sao cho khi roto đứng yên , mạch stato đặt vào điện áp định mức , tần số định mức thì dòng ở mỗi pha có trị số định mức . Khi roto đấu hình sao thì tổng trở định mức ở mỗi pha là E2nm Z 2dm () 3I 2dm E2nm : sđđ giữa 2 vành góp khi roto đứng yên còn stato có thông số định mức I2đm : dòng điện định mức ở mỗi pha của roto do trong các động cở không đồng bộ x2đm<< Z2đm nên ta có R2đm = Z2đm Nếu mạch roto đấu tam giác thì điện trở định mức ở mỗi pha tính 1 R R quy đổi sang đấu sao là 2dm 2 2dm Đặc tính cơ của máy sản xuất Trong thực tế sản xuất có nhiều loại máy sản xuất khác nhau , tuy nhiên đặc tính cơ của chúng có thể biểu diễn bằng biểu thức tổng quát sau x M M (M M ) c c c0 cdm c0 dm 13
- Trong đó Mc : Mô men cản trên trục máy sản xuất ứng với tốc độ nào đó Mco : Mô men cản trên trục máy sản xuất ứng với tốc độ ω=0 Mcđm : Mô men cản trên trục máy sản xuất ứng với tốc độ ωđm x : số tự nhiên đặc trƣng cho từng đặc tính 1. Với x=0 Mc = const Đặc tính dạng này thƣờng có trong các cơ cấu nâng hạ , các băng chuyền 2. Với x=1 Mc tỷ lệ với bậc nhất tốc độ Mô men này thƣờng có trên trục của máy phát điện một chiều kích từ độc lập khi làm việc với tải thuần trở , mô men cản do ma sát trƣợt sinh ra 3. Với x=2 Mc tỷ lệ với bình phƣơng tốc độ Mô men cản dạng này thƣờng xuất hiện trong các bơm ly tâm , quạt gió 4. Với x= -1 Mc tỷ lệ nghịch với tốc độ Thƣờng có trong các máy cắt gọt kim lọai 14
- CHƢƠNG 2: TÌM HIỂU VỀ VI ĐIỀU KHIỂN AT89C51 2.1 GIỚI THIỆU CẤU TRÚC PHẦN CỨNG 8051 2.1.1. Sơ đồ chân 8051 8051 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này có đặc điểm nhƣ sau: - 4k byte ROM,128 byte RAM - 4 Port I/O 8 bit. - 2 bộ đếm/ định thời 16 bit. - Giao tiếp nối tiếp. - 64k byte không gian bộ nhớ chƣơng trình mở rộng. - 64k byte không gian bộ nhớ dữ liệu mở rộng. - Một bộ xử lý luận lý (thao tác trên các bít đơn). - 210 bit đƣợc địa chỉ hóa. - Bộ nhân / chia 4. Sơ lƣợc về các chân của 8051: 15
- 2.1.2. Chức năng của các chân 8051 Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng nhƣ các đƣờng IO, đối với thiết kế lớn có bộ nhớ mở rộng nó đƣợc kết hợp giữa bus địa chỉ và bus dữ liệu. Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao tiếp với thiết bị ngoài nếu cần. 16
- Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một port có tác dụng kép dùng nhƣ các đƣờng xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng. Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có tác dụng kép. Các chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của 8051 nhƣở bảng sau : PSEN (Program store enable): PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chƣơng trình mở rộng và thƣờng đƣợc nối đến chân OE\ của Eprom cho phép đọc các byte mã lệnh. PSEN ở mức thấp trong thời gian 8051 lấy lệnh. Các mã lệnh của chƣơng trình đƣợc đọc từ Eprom qua bus dữ liệu, đƣợc chốt vào thanh ghi lệnh bên trong 8051 để giải mã lệnh. Khi 8051 thi hành chƣơng trình trong ROM nội PSEN ở mức cao. ALE (Address Latch Enable): Khi 8051 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và dữ liệu do đó phải tách các đƣờng dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đƣờng địa chỉ và 17
- dữ liệu khi kết nối chúng với IC chốt.Chân tín hiệu cho phép chốt địa chỉ để truy cập bộ nhớ ngoài, khi On – chip xuất ra byte thấp của địa chỉ. Nó có thể đƣợc dùng cho các bộ Timer ngoài hoặc cho mục đích tạo xung Clock Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động. EA (External Access): Cho phép On – chip truy cập bộ nhớ chƣơng trình ngoài khi EA=0, nếu EA=1 thì On-chip sẽ làm việc với bộ nhớ chƣơng trình nội trú Tín hiệu vào EA ở chân 31 thƣờng đƣợc mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 8051 thi hành chƣơng trình từ ROM nội.Nếu ở mức 0, 8051 thi hành chƣơng trình từ bộ nhớ mở rộng. Chân EA đƣợc lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 8051. RST (Reset): Khi ngõ vào tín hiệu này đƣa lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong đƣợc nạp những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch phải tự động reset. Các ngõ vào bộ dao động X1, X2: XTAL1: chân vào mạch khuếch đại dao động XTAL2: chân ra từ mạch khuếch đại dao động Bộ tạo dao động đƣợc tích hợp bên trong 8051.Khi sử dụng 8051, ngƣời ta chỉ cần nối thêm tụ thạch anh và các tụ. Tần số tụ thạch anh thƣờng là 12 Mh VCC : cung cấp nguồn cho On-chip GND: nối mát Các thanh ghi chức năng đặc biệt khác: Các thanh ghi chức năng đặc biệt là các thanh ghi đảm nhiệm các chức năng khác nhau trong chíp. Chúng nằm ở RAM bên trong chíp chiếm vùng không gian bộ nhớ 128bytes đƣợc định địa chỉ từ 80h đến Ffh. 18
- Thanh ghi tích lũy (ACC): đây là thanh ghi quan trọng trong chip, dùng để lƣu trữ các toán hạng và kết quả của phép tính. Thanh ghi ACC dài 8 bit, có địa chỉ là E0h trong SFR. Thanh ghi B: thanh ghi thƣờng sử dụng khi thực hiện các phép toán nhân, chia. Đối với các lệnh khác, thanh ghi B có thể xem nhƣ là thanh ghi đệm tạm thời. Trong SFR thanh ghi B dài 8 bits và có địa chỉ là F0h. Con trỏ ngăn xếp: thanh ghi này dài 8 bits, có địa chỉ trong SFR là 81h, giá trị của nó đƣợc tăng tự động trƣớc khi thực hiện các lệnh CALL, PUSH. Ngăn xếp có thể đặt bất cứ nơi nào trong RAM của chíp, nhƣng sau khi khởi động lại ngăn xếp thì con trỏ ngăn xếp mặc định sẽ trỏ tới địa chỉ khởi đầu là 07h, vậy ngăn xếp sẽ đƣợc tạo ra bắt đầu từ 08h. Con trỏ dữ liệu : là thanh ghi dài 16 bits, gồm hai thanh dài 8 bits hợp lại là thanh ghi byte cao DPH và thanh ghi byte thấp DPL. Con trỏ dữ liệu có thể sử dụng nhƣ là thanh ghi 16 bits hoặc hai thanh ghi 8 bits độc lập. Trong SFR thanh ghi DPH có địa chỉ là 83h, còn thanh ghi DPL có địa chỉ là 82h. Thanh ghi PSW: là thanh ghi dài 8 bits, có địa chỉ trong SFR là D0h. Thanh ghi PSW dùng để chứa thông tin về trạng thái chƣơng trình. Mỗi bit của PSW đảm nhiệm một chức năng cụ thể. Thanh ghi này đƣợc phép truy cập ở dạng mức bit. Thanh ghi PCON : thanh ghi điều khiển nguồn. Thanh ghi IE: thanh ghi cho phép ngắt 19
- 2.1.3. Cấu trúc bên trong của 8051 2.1.3.1. Sơ đồ khối bên trong 8051 20
- 2.1.3.2. Khảo sát các khối nhớ bên trong 8051: Tổ chức bộ nhớ: Bộ nhớ bên trong 8051 bao gồm ROM và RAM. RAM bao gồm nhiều thành phần: phần lƣu trữ đa dụng, phần lƣu trữ địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt. 8051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chƣơng trình và dữ liệu. Chƣơng trình và dữ liệu có thể chứa bên trong 21
- 8051 nhƣng 8051 vẫn có thể kết nối với 64 k byte bộ nhớ chƣơng trình và 64 k byte bộ nhớ dữ liệu mở rộng. Ram bên trong 8051 đƣợc phân chia nhƣ sau: - Các bank thanh ghi có địa chỉ từ 00H đến 1Fh. - Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH. - Ram đa dụng từ 30H đến 7FH. - Các thanh ghi chức năng đặc biệt từ 80H đến FFH. -Ram đa dụng: Mọi địa chỉ trong vùng ram đa dụng đều có thể đƣợc truy xuất tự do dùng kiểu địa chỉ trực tiếp hay gián tiếp. Ví dụ để đọc nội dung ô nhớ ở địa chỉ 5FH của ram nội vào thanh ghi tích lũy A : MOV A,5FH. Hoặc truy xuất dùng cách địa chỉ gián tiếp qua R0 hay R1. Ví dụ 2 lệnh sau sẽ thi hành cùng nhiệm vụ nhƣ lệnh ở trên: MOV R0, #5FH MOV A , @R0 -Ram có thể truy xuất từng bit: 8051 chứa 210 bit đƣợc địa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte có địa chỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt. Ýtƣởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiển nói chung. Các bit có thể đƣợc đặt, xóa, and, or, với 1 lệnh đơn. Ngoài ra các port cũng có thể truy xuất đƣợc từng bít làm đơn giản phần mềm xuất nhập từng bit. Ví dụ để đặt bit 67H ta dùng lệnh sau: SETB 67H. -Các bank thanh ghi: Bộ lệnh 8051 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định (sau khi reset hệ thống), các thanh ghi nàyở các địa chỉ 00H đến 07H. lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích lũy: MOV A, R5. 22
- Đây là lệnh 1 byte dùng địa chỉ thanh ghi. Tuy nhiên có thể thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ 2: MOV A, 05H. Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn nhiều so với lệnh tƣơng ứng dùng địa chỉ trực tiếp. Bank thanh ghi tích cực bằng cách thay đổi các bit trong từ trạng thái chƣơng trình (PSW). Giả sủ thanh ghi thứ 3 đang đƣợc truy xuất, lệnh sau đây sẽ di chuyển nội dung của thanh ghi A vào ô nhớ ram có địa chỉ 18H: MOV R0, A. Các thanh ghi có chức năng đặc biệt: 8051 có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở vùng trên của RAM nội từ địa chỉ 80H đến FFH. Chú ý: tất cả 128 địa chỉ từ 80H đến FFH không đƣợc định nghĩa, chỉ có 21 thanh ghi chức năng đặc biệt đƣợc định nghĩa sẵn các địa chỉ. -Thanh ghi trạng thái chƣơng trình: Thanh ghi trạng thái chƣơng trình PSW (Program Status Word )ở địa chỉ DOH chứa các bít trạng thái nhƣ bảng sau: 23
- + Cờ nhớ: C = 1 nếu phép toán cộng có tràn hoặc phép toán trừ có mƣợn và ngƣợc lại C = 0. Ví dụ nếu thanh ghi A có giá trị FF thì lệnh sau: ADD A, #1 Phép cộng này có tràn nên bit C = 1 và kết quả trong thanh ghi A = 00H Cờ nhớ có thể xem là thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit. ANL C, 25H + Cớ nhớ phụ: Khi cộng các số BCD, cờ nhớ phụ AC = 1 nếu kết quả 4 bit thấp trong khoảng 0AH đến 0FH. Ngƣợc lại AC = 0. + Cờ 0: Cờ 0 là một bit cờ đa dụng dành cho các ứng dụng của ngƣời dùng. + Các bit chọn bankthanh ghi truy xuất: Các bit chọn bank thanh ghi (RS0 và RS1) xác định bank thanh ghi đƣợc truy xuất. Chúng đƣợc xóa sau khi reset hệ thống và đƣợc thay đổi bằng phần mềm nếu cần. Ví dụ lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của bank thanh ghi R7 (địa chỉ bye 1FH) vào thanh ghi A: SETB RS1 SETB RS0 MOV A,R7 -Thanh ghi B: Thanh ghi B ở địa chỉ F0H đƣợc dùng cùng với thanh ghi tích lũy A cho các phép toán nhân và chia. Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bit trong A và B rồi trả kết quả về 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB sẽ chia A cho B rồi trả kết quả nguyên trong A và phần dƣ trong B. thanh ghi cũng có thể xem nhƣ thanh ghi đệm đa dụng. -Con trỏ ngăn xếp: Con trỏ ngăn xếp SP là một thanh ghi 8 bit ở địa chỉ 18H. Nó chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp.Các lệnh trên ngăn xếp bao gồm các lệnh cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp. Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trƣớc khi ghi dữ liệu và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ làm giảm SP. Ngăn xếp của 8051 đƣợc giữ trong ram nội và giới hạn các địa chỉ có thế truy xuất bằng 24
- địa chỉ gián tiếp, chúng là 128 byte đầu của 8051 Để khởi động SP với ngăn xếp bắt đầu tại địa chỉ 60 H, các lệnh sau đây đƣợc dùng: MOV SP,#5FH Khi reset 8051, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ đƣợc cất vào ô nhớ ngăn xếp có địa chỉ là 08 H. Ngăn xếp đƣợc truy xuất trực tiếp bằng các lệnh PUSH và POP để lƣu trữ tạm thời và lấy lại dữ liệu hoặc truy xuất ngầm bằng lệnh gọi chƣơng trình con ACALL,LCALL và các lệnh trở về (RET. RETI) để lƣu trữ giá trị của bộ đếm chƣơng trình khi bắt đầu thực hiện chƣơng trình con và lấy lại khi kết thúc chƣơng trình con. -Con trỏ dữ liệu Con trỏ dữ liệu DPTR đƣợc dùng để truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở địa chỉ 82H (DPL: byte thấp) và 83H (DPH: byte cao). 3 lệnh sau sẽ ghi 55H vào ram ngoài ở địa chỉ 1000H: MOV A,#55H MOV DPTR, #1000H MOVX @DPTR,A -Các thanh ghi port xuất nhập: Các port của 8051 bao gồm port 0 ở địa chỉ 80H, port 1 ở địa chỉ 90H, port 2 ở địa chỉ A0H, và port3 ở địa chỉ B0H. tất cả các port này đều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp. -Các thanh ghi timer: 8051 có chứa 2 bộ định thời/ đếm 16 bit đƣợc dùng cho việc định thời hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer 1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc khởi động timer đƣợc Set bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ở địa chỉ 88H, chỉ có TCON đƣợc địa chỉ hóa từng bit. -Các thanh ghi port nối tiếp: 8051 chứa một port nối tiếp dành cho việc trao đổi thông tin với các thiết bị nối tiếp nhƣ máy tính, modem hoặc giao tiếp nối tiếp với các IC khác. Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữ liệu nhận.Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF.Các mode vận hành khác nhau đƣợc lập trình qua thanh ghi điều khiển port nối tiếp SCON ở địa chỉ 98H. 25
- -Các thanh ghi ngắt: 8051 có cấu trúc 5 nguồn ngắt, 2 mức ƣu tiên. Các ngắt bị cấm sau khi reset hệ thống và sẽ đƣợc cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ A8H, cả 2 thanh ghi đƣợc địa chỉ hóa từng bit. -Thanh ghi điều khiển công suất: Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa các bit điều khiển. -Tín hiệu Reset: 8051 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ, sau đó xuống mức thấp để 8051 bắt đầu làm việc. RST có thể kích bằng tay bằng một phím nhấn thƣờng mở, sơ đồ mạch reset nhƣ hình trên (hình a) sau khi reset hệ thống đƣợc tóm tắt nhƣ sau: Thanh ghi quan trọng nhất là thanh ghi bộ đếm chƣơng trình PC đƣợc Reset tại địa chỉ 0000H. Khi ngõ vào RST xuống mức thấp, chƣơng trình luôn bắt đầu tại địa chỉ 0000H của bộ nhớ chƣơng trình.Nội dung của Ram trong chip không bị hay đổi bởi tác động của ngõ vào Reset 26
- 2.1.4.Hoạt động thanh ghi TIMER 8051 có hai timer 16 bit, mỗi timer có bốn chế độ làm việc. Ngƣời ta sử dụng các timer để: - Định khoảng thời gian. - Đếm sự kiện. - Tạo tốc độ baud cho port nối tiếp trong 8051. Trong các ứng dụng định khoảng thời gian, ngƣời ta lập trình timer ở những khoảng đều đặn và đặt cờ tràn timer.Cờ đƣợc dùng để đồng bộ hóa chƣơng trình để thực hiện một tác động nhƣ kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra các ngõra. Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung ). Truy xuất các timer của 8051 dùng sáu thanh ghi chức năng đặc biệt cho trong bảng sau: Thanh ghi chế độ timer (TMOD): Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0, và Timer 1. 27
- Thanh ghi điều khiển timer(TCON) Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 1, Timer 0. 28
- Khởi động và truy xuất thanh ghi timer: Thông thƣờng các thanh ghi đƣợc khởi động một lần đầu ở chƣơng trình để đặt ở chế độ làm việc đúng. Sau đó, trong thân chƣơng trình, các thanh ghi timer đƣợc cho chạy, dừng, các bit đƣợc kiểm tra và xóa, các thanh ghi timer đƣợc đọc và cập nhật . theo đòi hỏi các ứng dụng. TMOD là thanh ghi thứ nhất đƣợc khởi động vì nó đặt chế độ hoạt động. Ví dụ, các lệnh sau khởi động Timer 1 nhƣ timer 16 bit (chế độ 1) có xung nhịp từ bộ dao động tên chip cho việc định khoảng thời gian: MOV TMOD, #1B Lệnh này sẽ đặt M1 = 1 và M0 = 0 cho chế độ 1, C/ T= 0 và GATE = 0 cho xung nhịp nội và xóa các bit chế độ Timer 0. Dĩ nhiên, timer không thật sự bắt đầu định thời cho đến khi bit điều khiển chạy TR1 đƣợc đặt lên 1. Nếu cần số đếm ban đầu, các thanh ghi TL1/TH1 cũng phải đƣợc khởi động. Một khoảng 100s có thể đƣợc khởi động bằng cách khởi động giá trị cho TH1/TL1 là FF9CH: MOV TL1, #9CH MOV TH1, #0FFH Rồi timer đƣợc cho chạy bằng cách đặt bit điều khiển chạy nhƣ sau: SETB TR1 Cờ báo tràn đƣợc tự động đặt lên 1 sau 100s. Phần mềm có thể đợi trong 100 s bằng cách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ báo tràn chƣa đƣợc đặt lên 1: WAIT: JNB TF1, WAIT Khi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm: CLRTR1 2.1.4.1. Ngắt ( INTERRUPT) Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời thời chƣơng trình chính trong khi điều kiện đó đƣợc phục vụ bởi một chƣơng trình khác. Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng vi điều khiển. Chúng cho phép hệ thống đáp ứng bất đồng 29
- bộ với một sự kiện và giải quyết sự kiện đó trong khi một chƣơng trình khác đang thực thi. Tổ chức ngắt của 8051: Có 5 nguồn ngắt ở 8031: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và đƣợc cho phép từng cái một bằng phần mềm. Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khác đang đƣợc phục vụ, có cả hai sự tuần tự hỏi vòng và sơ đồƣu tiên hai mức dùng để xác định việc thực hiện các ngắt.Việc hỏi vòng tuần tự thì cố định nhƣng ƣu tiên ngắt thì có thể lập trình đƣợc. - Cho phép và cấm ngắt :Mỗi nguồn ngắt đƣợc cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặt biệt có định địa chỉ bit IE ( Interrupt Enable : cho phép ngắt ) ở địa chỉ A8H. - Các cờngắt : Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó đƣợc đặt lên một để xác nhận ngắt. 30
- - Các vectơngắt : Khi chấp nhận ngắt, giá trị đƣợc nạp vào PC đƣợc gọi là vector ngắt. Nó là địa chỉ bắt đầu của ISR cho nguồn tạo ngắt, các vector ngắt đƣợc cho ở bảng sau : Vector reset hệ thống (RST ở địa chỉ 0000H) đƣợc để trong bảng này vì theo nghĩa này, nó giống ngắt : nó ngắt chƣơng trình chính và nạp cho PC giá trị mới. 2.1.5. Tóm tắt tập lệnh của 8951 Các chƣơng trình đƣợc cấu tạo từ nhiều lệnh, chúng đƣợc xây dựng logic, sự nối tiếp của các lệnh đƣợc nghĩ ra một cách hiệu quả và nhanh 31
- chóng, kết quả của chƣơng trình khả thi. Tập lệnh họ MSC-51 đƣợc sự kiểm tra của các mode định vị và các lệnh của chúng có các Opcode 8 bit. Điều này cung cấp khả năng 28= 256 lệnh đƣợc thi hành và một lệnh không đƣợc định nghĩa.Vài lệnh có 1 hoặc 2 byte bởi dữ liệu hoặc địa chỉ thêm vào Opcode. Trong toàn bộ các lệnh có 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte. 2.1.5.1. Các mode định vị (Addressing Mode) : Các mode định vị là một bộ phận thống nhất của tập lệnh.Chúng cho phép định rõ nguồn hoặc nơi gởi tới của dữ liệu ở các đƣờng khác nhau tùy thuộc vào trạng thái của ngƣời lập trình. 8951 có 8 mode định vị đƣợc dùng nhƣ sau: Thanh ghi. Trực tiếp. Gián tiếp. Tức thời. Tƣơng đối. Tuyệt đối. Dài. Định vị. Sự định vị thanh ghi (Register Addressing): Có 4 dãy thanh ghi 32 byte đầu tiên của RAM dữ liệu trên Chip địa chỉ 00H - 1FH, nhƣng tại một thời điểm chỉ có một dãy hoạt động các bit PSW3, PSW4 của từ trạng thái chƣơng trình sẽ quyết định dãy nào hoạt động. Các lệnh để định vị thanh ghi đƣợc ghi mật mã bằng cách dùng bit trọng số thấp nhất của Opcode lệnh để chỉ một thanh ghi trong vùng địa chỉtheo logic này. Nhƣ vậy 1 32
- mã chức năng và địa chỉ hoạt động có thể đƣợc kết hợp để tạo thành một lệnh ngắn 1 byte nhƣ sau: Register Addressing. Một vài lệnh dùng cụ thể cho 1 thanh ghi nào đó nhƣ thanh ghi A, DPTR mã Opcode tự nó cho biết thanh ghi vì các bit địa chỉ không cần biết đến. Sự định địa chỉ trực tiếp (Direct Addressing): Sự định địa chỉ trực tiếp có thể truy xuất bất kỳ giá trị nào trên Chip hoặc thanh ghi phần cứng trên Chip. Một byte địa chỉ trực tiếp đƣợc đƣa vào Opcode để định rõ vị trí đƣợc dùng nhƣ sau: Direct Addressing Tùy thuộc các bit bậc cao của địa chỉ trực tiếp mà một trong 2 vùng nhớ đƣợc chọn. Khi bit 7 = 0, thì địa chỉ trực tiếp ở trong khoảng 0 - 127 (00H - 7FH) và 128 vị trí nhớ thấp của RAM trên Chip đƣợc chọn. Tất cả các Port I/O, các thanh ghi chức năng đặc biệt, thanh ghi điều khiển hoặc thanh ghi trạng thái bao giờ cũng đƣợc quy định các địa chỉ trong khoảng 128 - 255 (80 - FFH).Khi byte địa chỉ trực tiếp nằm trong giới hạn này (ứng với bit 7 = 1) thì thanh ghi chức năng đặc biệt đƣợc truy xuất. Ví dụ Port 0 và Port 1 đƣợc quy định địa chỉ trực tiếp là 80H và 90H, P0, P1 là dạng thức rút gọn thuật nhớ của Port, thì sự biến thiên cho phép thay thế và hiểu dạng thức rút gọn thuật nhớ của chúng. Chẳng hạn lệnh: MOV P1, A sự biên dịch sẽ xác định địa chỉ trực tiếp của Port 1 là 90H đặt vào hai byte của lệnh (byte 1 của port 0). 33
- Sự định vị địa chỉ gián tiếp (Indirect Addressing): Sự định địa chỉ gián tiếp đƣợc tƣợng trƣng bởi ký hiệu @ đƣợc đặt trƣớc R0, R1 hay DPTR. R0 và R1 có thể hoạt động nhƣ một thanh ghi con trỏ mà nội dung của nó cho biết một địa chỉ trong RAM nội ở nơi mà dữ liệu đƣợc ghi hoặc đƣợc đọc. Bit có trọng số nhỏ nhất của Opcode lệnh sẽ xác định R0 hay R1 đƣợc dùng con trỏ Pointer. Sự định địa chỉ tức thời (Immediate Addressing): Sự định địa chỉ tức thời đƣợc tƣợng trƣng bởi ký hiệu # đƣợc đứng trƣớc một hằng số, 1 biến ký hiệu hoặc một biểu thức số học đƣợc sử dụng bởi các hằng, các ký hiệu, các hoạt động do ngƣời điều khiển. Trình biên dịch tính toán giá trị và thay thế dữ liệu tức thời. Byte lệnh thêm vô chứa trị số dữ liệu tức thời nhƣ sau: Sự định địa chỉ tƣơng đối: 34
- Sự định địa chỉ tƣơng đối chỉ sử dụng với những lệnh nhảy nào đó. Một địa chỉ tƣơng đối (hoặc Offset) là một giá trị 8 bit mà nó đƣợc cộng vào bộ đếm chƣơng trình PC để tạo thành địa chỉ một lệnh tiếp theo đƣợc thực thi. Phạm vi của sự nhảy nằm trong khoảng -128 – 127. Offset tƣơng đối đƣợc gắn vào lệnh nhƣ một byte thêm vào nhƣsau : Những nơi nhảy đến thƣờng đƣợc chỉ rõ bởi các nhãn và trình biên dịch xác định Offset Relative cho phù hợp. Sự định vị tƣơng đối đem lại thuận lợi cho việc cung cấp mã vị trí độc lập, nhƣng bất lợi là chỉ nhảy ngắn trong phạm vi -128 – 127 byte. Sự định địa chỉ tuyệt đối (Absolute Addressing): Sự định địa chỉ tuyệt đối đƣợc dùng với các lệnh ACALL và AJMP. Các lệnh 2 byte cho phép phân chia trong trang 2K đang lƣu hành của bộ nhớ mã của việc cung cấp 11 bit thấp để xác định địa chỉ trong trang 2K (A0 A10 gồm A10 A8 trong Opcode và A7 A0 trong byte) và 5 bit cao để chọn trang 2K (5 bit cao đang lƣu hành trong bộ đếm chƣơng trình là 5 bit Opcode). Sự định vị tuyệt đối đem lại thuận lợi cho các lệnh ngắn (2 byte), nhƣng bất lợi trong việc giới hạn phạm vi nơi gởi đến và cung cấp mã có vị trí độc lập. Sự định vị dài (Long Addressing): Sự định vị dài đƣợc dùng với lệnh LCALL và LJMP. Các lệnh 3 byte này bao gồm một địa chỉ nơi gởi tới 16 bit đầy đủ là 2 byte và 3 byte của lệnh. 35
- Ƣu điểm của sự định vị dài là vùng nhớ mã 64K có thể đƣợc dùng hết, nhƣợc điểm là các lệnh đó dài 3 byte và vị trí lệ thuộc. Sự phụ thuộc vào vị trí sẽ bất lợi bởi chƣơng trình không thể thực thi tại địa chỉ khác. Sự định địa chỉ phụ lục (Index Addressing): Sự định địa chỉ phụ lục dùng một thanh ghi cơ bản (cũng nhƣ bộ đếm chƣơng trình hoặc bộ đếm dữ liệu) và Offset (thanh ghiA) trong sự hình thành 1 địa chỉ liên quan bởi lệnh JMP hoặc MOVC Index Addressing.Các bảng của lệnh nhảy hoặc các bảng tra đƣợc tạo nên một cách dễ dàng bằng cách dùng địa chỉ phụ lục. 36
- 2.2. GIỚI THIỆU VỀ ENCODER Trên hình 2.2 là cấu tạo của Encoder Hình 2.2. Cấu tạo Encoder Nhìn trên hình ta thấy encoder gồm: 1 tấm tròn có khắc lỗ, 1 Hệ thông LED phát và thu. Cấu tạo chính của encoder : Gồm 1 bộ phát ánh sáng ( led phát ), một bộ thu ánh sáng nhạy từ ánh sáng nhạy từ ánh sáng của bộ phát (bộ thu thƣờng là photodiotde hoặc phototransistor) 1 hay 2 đĩa quang gắn trên trục quay đặt giữa bộ phát và thu, thông thƣờng trục quay này sẻ đƣợc gắn với trục quay của đối tƣợng cần đo tốc độ. Nguyên tắc hoạt động : Nguyên lý cơ bản của encoder : đó là một đĩa tròn xoay, quay quanh trục. Trên đĩa có các lỗ (rãnh). Ngƣời ta dùng một đèn led để chiếu lên mặt đĩa. Khi đĩa quay, chỗ không có lỗ (rãnh), đèn led không chiếu xuyên qua đƣợc, chỗ có lỗ (rãnh), đèn led sẽ chiếu xuyên qua. Khi đó, phía mặt bên kia của đĩa, ngƣời ta đặt một con mắt thu. Với các tín hiệu có, hoặc không có ánh sáng chiếu qua, ngƣời ta ghi nhận đƣợc đèn led có chiếu qua lỗ hay không.Số xung đếm đƣợc và tăng lên nó tính bằng số lần ánh sáng bị cắt. Nhƣ vậy là encoder sẽ tạo ra các tín hiệu xung vuông và các tín hiệu xung vuông này đƣợc cắt từ ánh sáng xuyên qua lỗ. Nên tần số của xung đầu ra sẽ phụ thuộc vào tốc độ quay của tấm tròn đó. 37
- Tuy nhiên,một vấn đềlà làm sao biết đƣợc Encoder quay hết một vòng? nếu cứ đếm vô hạn nhƣ thế này , thì chúng ta không thể biết đƣợc khi nào nó quay hết một vòng.Nếu bây giờ các bạn đếm số lỗ Encoder để biết nó đã quay một vòng,thì với Encoder 1000 lỗ thì không thể đếm đƣợc.chƣa kể mỗi lần có rung động nào mà ta không thể quản lí đƣợc,Encoder sẽ bị sai đi một xung. Khi hoạt động lâu dài sai số này sẽ tích lũy dẫn tới số xung bị sai và ta không thể đo tốc độ chuẩn xác đƣợc. Để tránh xảy ra sai sót , ngƣời ta đƣa vào them một lỗ định vị để đếm số vòng đã quay của Encoder. Nhƣ vậy, cho dù lệch xung mà chúng ta thấy rằng Encoder đi ngang qua lỗ định vị này,thì chúng ta biết là Encoder đã đếm sai ở đâu đó.Nếu vì một rung động nào đó,mà chúng ta không thấy Encoder đi qua lỗ định vị,vậy thì số xung,và việc qua lỗ định vị,chúng ta sẽ biết đƣợc hiện tƣợng sai của Encoder. Đây là hình của lỗ định vị: Hình 2.3. Lỗ định vị 38
- Một vấn đề nữa là làm sao biết đƣợc Encoder đang quay theo chiều nào?Bởi vì cho dù xoay theo chiều nào,thì tín hiệu Encoder cũng chỉ là các xung đơn lẻ và xoay theo hai chiều đều giống nhau.Chính vì vậy,ngƣời ta đặt thêm một vòng lỗ ở giữa vòng lỗ thứ nhất và lỗ định vị nhƣ hình sau: Hình 2.4. Encoder phổ biến hiện nay Chú ý rằng vih trí của các lỗ vòng 1 và 2 lệch nhau.Các cạnh của lỗ vòng 2 nằm ngay giữa các lỗ vòng 1 và ngƣợc lại.Tuy nhiên ,các bạn sẽ thấy rằng ,thay vì làm hai vòng Encoder ,và dung hai LED đặt thẳng hang,thì ngƣời ta chỉ cần làm một vòng lỗ,và đặt hai đèn LED lệch nhau.Ứng dụng của encoder : trong các bài toán đo tốc độ động cơ, trong các máy CNC dùng để xác định khoảng dịch chuyển của 1 đối tƣợng thông thông qua đếm số vòng của trục 39
- CHƢƠNG 3 XÂY DỰNG PHẦN CỨNG, LƢU ĐỒ THUẬT TOÁN VÀ CHƢƠNG TRÌNH ĐIỀU KHIỂN 3.1. SƠ ĐỒ TỔNG QUÁT Trên hình 3.1 là sơ đồ tổng quát của hệ thống đo và hiển thị tốc độ Hình 3.1.Sơ đồ tổng quát của hệ thống đo và hiển thị tốc độ Trong đó: DC – Động cơ E – Encoder Hoạt động nhƣ sau: Khi động cơ quay, encoder làm việc, phát xung về bộ điều khiển 8051, sau khi xử lý thông tin, bô điều khiển gửi kết quả ra màn hình hiển thị là LED 7 đoạn. 40
- 3.2. THIẾT KẾ PHẦN CỨNG VÀ SƠ ĐỒ MẠCH MÔ PHỎNG 3.2.1. Thiết kế phần cứng Trên hình 3.2 là sơ đồ phần cứng mạch thu phát loại chùm tia xuyên qua Hình 3.2. Sơ đồ phần cứng mạch thu phátloại chùm tia xuyên qua Nguyên tắc hoạt động: bộ thu và bộ phát cùng nằm trên cùng một đƣờng thẳng.Dùng kĩ thuật phát hiện do che khuất hay vật thể làm cho ánh sáng có bƣớc sóng đã chọn không thể xuyên thấu. Trên hình3.3 là phƣơng pháp đếm số xung trong một khoảng thời gian đo (tđ ). Nhƣ vậy với phƣơng pháp này thì ta lựa chọn encorder để biến tốc độ thành một dãy xung có tần số tỷ lệ với tốc độ quay của động cơ. Tính toán kết quả đo: phƣơng pháp đo là đếm sô xung trong một khoảng thời gian đo (tđ); số xung đếm trong thời gian đo là Nx. Hình 3.3.Phƣơng pháp đếm số xung trong một khoảng thời gian. 41
- Ta đo tốc độ động cơ có gắn encoder 100 xung/vòng, vậy ta chọn thời gian đo là tđ = 0,6s để đảm bảo thông tin cập nhật một cách tối ƣu nhất. n : là tốc độ động cơ. Nx.60 n = tđ l 60.Nx n = = 60.Nx = Nx tđ .100 0,6.100 Trong đó :tđ thời gian lấy mẫu đo kết quả là 0,6s. 3.2.2.Sơ đồ mạch nguyên lý Trên hình 3.4 là sơ đồ mạch nguyên lý đo và hiển thị tốc độ Hình 3.4. Sơ đồ nguyên lý mạch đo và hiển thị tốc độ. 42
- Nguyên lý hoạt động của mạch: Khi ta ấn nút Start hệ thống sẽ bắt đầu làm việc,động cơ quay,Encoder gắn trên trục của động cơ sẽ cảm biến tốc độ,phát tín hiệu và chuyển tới mạch vi điều khiển.Tại đây tín hiệu sẽ đƣợc vi mạch xử lý và biến đổi để hiện thị trên 4 led 7 thanh. Khi nhấn nút Stop: hệ thống sẽ dừng mọi hoạt động,kết thúc một quá trình làm việc của mạch. Trƣờng hợp khi có sự cố xảy ra ta có thể ấn nút Reset để khôi phục trạng thái ban đầu của mạch 3.2.2.1. Khối nguồn Trên hình 3.5 là sơ đồ nguyên lý của khối nguồn Hình 3.5. Khối nguồn Mạch này sử dụng: - Nguồn điện áp một chiều đầu vào bộ ổn áp IC7805 có nhiệm vụ ổn định điện áp ra cố định +5V. - Một led đơn : báo trạng thái có nguồn. - Tụ C1 và C2: nhiệm vụ lọc nguồn, chống nhiễu và san phẳng điện áp 3.2.2.2. Khối LED Khối LED có nhiệm vụ hiển thị tốc độ động cơ Led 7 đoạn dung loại anod chung. R5=R7=R9=R11=10K R6=R8=R10=R12=1K 43
- Hình 3.6. Khối LED 3.2.2.3. Khối vi xử lý và khối dao động Trên hình 3.7 là khối vi xử lý và khối dao động Hình 3.7.Khối vi xử lý và khối dao động Trong khối dao động chúng ta sử dụng hai tụ C1,C2 cùng thạch anh 12Mhz Trong khối vi xử lý P0 đƣợc nối đến các chân hiển thị cuả led 7đoạn. 4 chân từ P2.0-P2.3 để kích chọn led. P3 ta cũng sử dụng 1 chân ngắt ngoài 0 P3.2 để đọc giá trị cảm biến. 44
- 3.2.2.4. Khối động cơ Trên hình 3.8 là khối động cơ Hình 3.8. Khối động cơ Hoạt động của động cơ đƣợc xác định mỗi khi có sự thay đổi tín hiệu xung nhận đƣợc khi có chùm sáng từ cảm biến phát quang chiếu qua khe đặt trên cánh động cơ xuống cảm biến thu quang.Tín hiệu thu từ bộ cảmbiến hồngngoại có tính chất tuần hoàn do động cơ hoạt động theo chu kì.Chính vì vậy,ta có thể xác định số vòng quay trong 1s. Tín hiệu thu đƣợc từ bộ cảm biến chƣa ổn định do nhiều nguyên nhân khác nhau.Tín hiệu này đƣợc đƣa vào IC khuyếch đại thuật toán để xử lý .Giá trị điện áp tín hiệu đƣợc khuyếch đại lên khoảng 12V tại đây tín hiệu đƣợc đƣa vào chân P3.0 chờ xử lý Vi xử lý AT89c51đƣợc lập trình với đầu vào p3.0 Port vào ra + Port 0 : hàng đơn vị + Port 1 : hàng chục + Port 2 : hàng trăm Đặc điểm nổi bật của họ vi xử lý 8051 là khả năng xử lý dữ liệu theo từng bít Vì vậy các bít đƣợc lập trình sau đó đƣợc xuất trực tiếp ra các chân của LED Chu kỳ lấy mẫu 1s nhƣ vậy tốc độ động cơ đƣợc xác định bằng : Tốc độ động cơ = (tổng số xung /1s ) 6 45
- 3.3. THIẾT KẾ MẠCH 3.3.1.Chọn vi điều khiển Từ yêu cầu dung VXL 8 bit ta dự kiến dung các chip vi điều khiển thuộc họ MCS-51 của Intel,mà cụ thể ở đây là dùng chip 8051 vì những lí do sau: +Thứ nhất 8051 thuộc họ MCS-51,là chip vi điều khiển.Đặc điểm của các chip vi điều khiển nói chung là nó đƣợc tích hợp đầy đủ các chức năng của một hệ VXL nhỏ,rất thích hợp với những thiết kế hƣớng điều khiển.Tức là trong nó bao gồm: mạch VXL, bộ nhớ chƣơng trình và dữ liệu,bộ đếm, bộ tạo xung,các cổng vào/ra nối tiếp và song song,mạch điều khiển ngắt + Thứ hai vi điều khiển 8051 cùng với các họ vi điều khiển khác nói chung trong những năm gần đây đƣợc phát triển theo các hƣớng sau: Giảm nhỏ dòng tiêu thụ. Tăng tốc độ làm việc hay tấn số xung nhịp của CPU. Giảm điện áp nguồn nuôi. Có thể mở rộng nhiều chức năng trên chip.mở rộng cho các thiết kế lớn. Những đặc điểm đó dẫn đến đạt đƣợc hai tính năng quan trọng là:giảm công suất tiêu thụ và cho phép điều khiển thời gian thực nên về mặt ứng dụng nó rất thích hợp với các thiết kế hƣớng điều khiển. + Thứ ba là,vi điều khiển thuộc họ MCS-51 đƣợc hỗ trợ một tệp lệnh phong phú nên cho phép nhiều khả năng mề dẻo trong vấn đề viết chƣơng trình điều khiển. + Cuối cùng là,các chip thuộc họ MCS-51 hiện đƣợc sử dụng phổ biến và đƣợc coi là chuẩn công nghiệp cho các thiết kế khả dụng.Mawyj khác qua việc khảo sát thị trƣờng linh kiện việc có đƣợc chip 8051 là dễ dàng nên mở ra khả năng thiết kế thực tế. Vì những lí do trên mà việc lựa chon vi điều khiển 8051 là một giải pháp hoàn toàn phù hợp cho thiết kế. 46
- 3.3.2.LED 7 đoạn và Button LED 7 đoạn hay LED 7 thanh (Seven Segment display) là 1 linh kiện rất phổ dụng , đƣợc dùng nhƣ là 1 công cụ hiển thị đơn giản nhất . Trong LED 7 thanh bao gồm ít nhất là 7 con LED mắc lại với nhau , vì vậy mà có tên là LED 7 đoạn là vậy ,7 LED đơn đƣợc mắc sao cho nó có thể hiển thị đƣợc các số từ 0 - 9 , và 1 vài chữ cái thông dụng, để phân cách thì ngƣời ta còn dùng thêm 1 led đơn để hiển thị dấu chấm (dot) . Các led đơn lần lƣợt đƣợc gọi tên theo chữ cái A- B -C-D-E-F-G, và dấu chấm dot . Hình 3.9 Led 7 đoạn Nhƣ vậy nếu nhƣ muốn hiển thị ký tự nào thì ta chỉ cần cấp nguồn vào chân đó là led sẽ sáng nhƣ mong muốn . Thông số : LED 7 thanh dù có nhiều biến thể nhƣng tựu chung thì cũng chỉ vẫn có 2 loại đó là : + Chân Anode chung (chân + các led mắc chung lại với nhau .) + Chân Catode chung (Chân - các led đƣợc mắc chung với nhau .) 47
- * Đối với loại Anode chung : + Chân 3 và 8 là 2 chân Vcc(nối ngắn mạch lại với nhau , sau đó nối chung với chân anode của 8 led đơn .), vậy muốn led nào đó sáng thì chỉ việc nối chân catot xuống mass . Điện áp giữa Vcc và mass phải lớn hơn 1.3 V mới cung cấp đủ led sáng, tuy nhiên không đƣợc cao quá 3V . Trong các mạch thì thƣờng dùng nguồn 5V nên để tránh việc đót cháy led thì cách đơn giản nhất là mắc thêm trở hạn dòng . Thông số làm việc của LED : Điện áp = 2V . Dòng = 20mA . Vậy nếu dùng nguồn 5V , thì áp rơi trên trở = 5 -2 = 3 V. R = U / I = 3/(20*10^-3) = 150 ôm . Button sử dụng loại bốn chân có NO và NC và có hình chữ nhật hoặc hình vuông Hình 3.10. Button 3.3.3. Encoder và Điện trở treo Encoder mục đích dùng để quản lý vị trí góc của một đĩa quay,đĩa quay có thể là bánh xe,trục động cơ,hoặc bất kì thiết bị quay nào cần xác định vị trí góc Encoder chia làm 2 loại,encoder tuyệt đối (absolute encoder) và encoder tƣơng đối (incremental encoder). 48
- Hình 3.11 Encoder Các điện trở treo đƣợc thay bằng điện trở thanh 9 chân,sử dụng điện trở thanh giúp việc thiết kế mạch đơn giản hơn,điện trở thanh 9 chân thực chất là 8 điện trở cùng giá trị với mỗi đầu của điện trở đƣợc nối với nhau và đầu chung này đƣợc đƣa ra ngoài bằng một chân nữa.Khi nhìn trên điện trở thanh.phía đầu nào có dấu chấm tròn,thì chân ngoài cùng của phía đó là chân chung. Thông thƣờng chân chung này đƣợc nối với nguồn Vcc Hình 3.12 Hình dạng thực và sơ đồ chân của điện trở treo Điện trở treo có nhiệm vụ tạo điện áp ở từng mức theo yêu cầu giá trị đặt tại các chân của nó. 49
- 3.3.4.Thạch anh dao động và tụ điện Hình 3.13.Thạch anh Thạch anh dao động có nhiệm vụ tạo ra các xung điều khiển thích hợp phục vụ cho vi điều khiển,ở đây chúng ta sử dụng thạch anh dao động loại 12Mhz Tụ điện là một linh kiện thụ động cấu tạo của tụ điện là hai bản cực bằng kim loại ghép cách nhau một khoảng d ở giữa hai bản tụ là dung dịch hay chất điện môi cách điện có điện dung C. Đặc điểm của tụ là cho dòng xoay chiều đi qua ,ngăn cản dòng một chiều.Khi tụ nạp điện tụ sẽ bắt đầu nạp điện từ điện áp là 0V tăng dần đến điện áp UDC theo hàm số mũ đối với thờigian t.Khi tụ xả điện thì điện áp trên tụ từ trị số VDC sẽ giảm dần đến 0V theo hàm số mũ đối với thời gian t. Điện dung tùy chọn phụ thuộc vào độ phẳng của nguồn đầu vào.Thông thƣờng từ 220uF đến 2200uF.Ở đây ta sẽ chọn 1000uF, dùng để lọc các hài cao, các xung nhọn đột biến củanguồn.điện áp đầu vào là 12v nên tụ lọc sẽ chọn là 16v. Hình 3.14 Tụ Điện 50
- 3.3.5. Hình ảnh mạch đo và hiển thị tốc độ Trên hình 3.15 là hình ảnh của mạch đo và hiển thị tốc độ dùng 8051 Hình 3.15 Mạch đo và hiển thị tốc độ 51
- 3.4. LƢU ĐỒ THUẬT TOÁN Lƣu đồ thuật cho hiển thị tốc độ dùng LED 7 đoạn 52
- 3.5. CHƢƠNG TRÌNH ĐIỀU KHIỂN Phần lập trình sử dụng ngôn ngữ lập trình Assembly ORG 0H ;Khaibaodia chi bat dau CT tu 0h trong RAM noi LJMP MAIN ;Nhay den chuongtrinhchinh ORG OBH LJMP INT_TIMER0 ;Nhay den nhan INT_TIMER0 ORG 1BH LJMP INT_TIMER1 ;Nhay den nhan INT_TIMER1 ORG 3H LJMP INT_EX0 ;Nhay den nhanINT_EX0 ORG 13H LJMP INT_EX1 ;Nhay den nhan INT_EX1 ;DINH NGHIA CAC BIEN (gangia tri cacbien) LOA EQU 2 ;LOA co gia tri=2 RUN EQU 1 VONG_GIAY EQU 7H ;so vong/giay =7h XUNG_DU EQU 32H ;soxung du =100 DIGIT_1 EQU 33H ;DIGIT_1 =33H DIGIT_2 EQU 34H DIGIT_3 EQU 35H DIGIT_4 EQU 36H ;CHUONG TRINH CHINH ORG 30H ;khaibaodia chi bat dauchuongtrinhchinh MAIN: SETB IT1 ;P3.5=1 dauvaocuaxungdem T1 SETB IT0 ;dauvaoxungdem T0 SETB EX0 ;chophepngatngoai INT0 SETB EX1 ;chophepngatngoai INT1 MOV R0,#200 ;di chuyen R0=200 MOV TMOD,#00010110b ;khoi dong TIMER1_che do 16 bit MOV TH0,#-100 ;nap byte caocua 100 MOV TL0,#-100 ;nap byte thapcua 100 ;taochukytrancho C0=100 xung/vong SETB ET0 ;chophepngat T0 SETB ET1 ;chophepngat T1 54
- SETB TF1 ;chophepbaobodemcua T1 bi tran(Tcon.7) SETB TR1 ;chophep timer 1 chay SETB TR0 ;chophep timer 0 chay SETB EA ;chophepngattoanbo JMP $ ;NGAT COUNTER 0 INT_TIMER0: INC VONG_GIAY ;Tanggia tri VONG_GIAY moilan la 1V RETI ;NGAT TIMER1 INT_TIMER1: JNB RUN,EXIT ;nhay den EXIT neu Run=0 MOV A,40H JZ BAT_LOA ;nhaytoi BAT_LOA neu =0 SUBB A,#16 neu A>16 JC CONT ;nhay den nhan CONT BAT_LOA: CPL P3.6 ;dao P3.6 CONT: MOV TH1,#HIGH(-5000) ;nap byte caocua -5000 MOV TL1,#LOW(-5000) ;nap byte thapcua -5000 DJNZ R0,QUET_LED ;nhay den QUET_LED neu R0 khac 0 ;(vong lap neuchua du 1s thiquet led) MOV R0,#200 CLR TR0 ;ngat timer0 CLR TR1 ;ngat time1 MOV XUNG_DU,TL0 CALL CALCULATOR ;chuongtrinh con tinh so V/P MOV TL0,#-100 ;nao byte thapcua -100 SETB TR0 ;khoi dong timer0 SETB TR1 ;khoi dong timer1 RETI: QUET_LED: CJNE R1,#0,LED_2 ;quet led _2 neu RI khac 0 MOV DPTR,#LED ;nap dia chi giantieptu LED vao con tro DPTR MOV A,DIGIT_1 55
- MOVC A,@A+DPTR ;chuyen du lieu trongvungnho A+DPTR vao A MOV P2,#0 ;xoacong P2 MOV P0,A ;di chuyen P0=A MOV P2,#1 ;P2=1 INC R1 ;tang R1+1 (quet led tieptheo) RETI LED_2: CJNE R1,#1,LED_3 ;nhayquet led_3 neu R1 khac 1 MOV A,DIGIT_2 MOVC A,@A+DPTR ;chuyen du lieu trongvungnho A+DPTR vao A MOV P2,#0 ;xoa P2 MOV P0,A MOV P2,#2 INC R1 RETI LED_3: CJNE R1,#2,LED_4 ;nhayquet led_4neu R1 khac 2 MOV A,DIGIT_3 MOVC A,@A+DPTR ;chuyen du lieu trongvungnho A+DPTR vao A MOV P2,#0 ;xoa P2 MOV P0,A MOV P2,#4 INC R1 RETI LED_4: MOV A,DIGIT_4 MOVC A,@A+DPTR ;chuyen du lieu trongvungnho A+DPTR vao A MOV P2,#0 ;xoa P2 MOV P0,A MOV P2,#8 MOV R1,#0 ;quay ve LED EXIT: RETI 56
- CALCULATOR: MOV A,VONG_GIAY ;di chuyen DL o VONG_GIAY vao A MOV 40H,A ;di chuyen A vao o nho 40h MOV VONG_GIAY,#0 MOV B,#6 ;nap tg B=6 MUL AB ;nhan A voi B <256 nenduocchuatrong A MOV B,#100 DIV AB ;chia A/B MOV DIGIT_1,A MOV A,B MOV B,#10 DIV AB MOV DIGIT_2,A MOV R3,B ;gia tri tam thoicua DIGIT_3 ;DIGIT_4: la so (XUNG_DU*60)/100 MOV A,XUNG_DU CLR C SUBB A,#9CH ;A-9CH MOV B,#10 DIV AB MOV R4,B ;luu lai so le vao R4 MOV B,#3 MUL AB MOV B,#5 DIV AB MOV R5,B ADD A,R3 ;cong A va R3 ket qua luu o A MOV B,#10 DIV AB ADD A,DIGIT_2 MOV DIGIT_2,A MOV DIGIT_3,B ;SODU MOV A,R5 RL A ;xoaytraigia tri thanhghi A 57
- MOV R5,A MOV A,R4 MOV B,#3 MUL AB MOV B,#5 DIV AB ADD A,R5 MOV DIGIT_4,A RET INT_EXO: SETB RUN ;RUN=1 RETI INT_EX1: MOV P2,#0 ;xoa P2 CLR RUN ;Run=0 dung chuongtrinh RETI LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END 58
- KẾT LUẬN Sau một thời gian là mƣời tuần tìm hiểu về vấn đề xây dựng hệ thống hiển thị các đại lƣợng đo và điều khiển hệ truyền động điện động cơ đị bộ.cụ thể hơn là đo và hiển thị tốc độ, tuy vấn đề này không phải là mới nhƣng mình chƣa tìm hiểu và làm thì vẫn là mới.Tuy đã cố gắng hoàn thành đồ án nhƣng em không thể tránh khỏi một số thiếu sót, em mong các thầy cô cùng các bạn đƣa ra ý kiến đóng góp để cho đồ án của em đƣợc hoàn thiện tốt hơn. Dƣới sự hƣớng dẫn tận tình của thầy GS.TSKH Thân Ngọc Hoàn cùng sự giúp đỡ của nhiều quý thầy cô trong khoa em đã hoàn thành đề tài theo đúng yêu cầu và thời gian quy định.Trong đồ án này có nhứng ƣu điểm sau: 1. Mạch có dải đo tốc độ lớn. 2. Khả năng đáp ứng dƣới sự thay đổi nhanh của biến trở 3. Mạch có thể đặt độ khống chế tốc độ động cơ 4. Mạch sử dụng LED 7 đoạn nên dễ dàng cho ngƣời sử dụng theo dõi tốc độ động cơ. 5. Mạch đƣợc thiết kế nhỏ gọn,dễ sử dụng,tiện lợi và có thể sử dụng nhiều loại nguồn: pin,sạc điện thoại, nên rất cơ động Tuy vậy vẫn còn có sai số tốc độ do sai số linh kiện và nhƣng sai số trong khi tính toán thiết kế mạch. Em xin chân thành cảm ơn thầy GS.TSKH Thân Ngọc Hoàn cùng toàn thể các thầy cô trong khoa Điện trƣờng Đại Học Dân Lập Hải Phòng đã tận tình giúp đỡ em hoàn thành đồ án này. Hải Phòng, ngày tháng năm 2014 Sinh viên thực hiện: 59
- TÀI LIỆU THAM KHẢO 1. Nguyễn Tăng Cƣờng , Phan Quốc Thắng ( 2004) Cấu trúc và lập trình vi điều khiển 8051 NXB Khoa học ki thuật. 2. Phạm Minh Hà ( 1992) Kỹ thuật mạch điện tử NXB Khoa học kĩ thuật 3. GS TSKH Thân Ngọc Hoàn (2007) Điều khiển tự động truyên động điên NXB Khoa học kĩ thuật. 4. Tống Văn On ( 2013) Giáo trình họ vi điều khiển 8051 NXB Lao động-xã hội. 5. Nguyễn ThúyVân ( 2008) Kỹ thuật số NXB Khoa học kĩ thuật. 6. www.hoiquandientu.com 60