Chương trình ngôn ngữ Assembly của 8051

Một phần của tài liệu Thiết kế mô hình máy giặt dân dụng (Trang 36)

2.4.1. Giới thiệu:

Ngôn ngữ assembly giữa ngôn ngữ máy và ngôn ngữ cấp cao. Ngôn ngữ cấp cao được đặc trưng như: Pascal, C... Còn chương trình ngôn ngữ máy là một chuỗi các byte nhị phân được đặc trưng bởi các lệnh mà máy tính có thể thực thi.

Ngôn ngữ assembly thay thế các mã nhị phân của ngôn ngữ máy để sử dụng các “thuật nhớ “dễ dàng trong quá trình lập trình. Ví dụ lệnh cộng trong ngôn ngữ máy được đặc trưng bởi mã nhị phân “10110011” trong khi ngôn ngữ assembly là “ADD”.

Một chương trình ngôn ngữ assembly không thể thực thi bởi máy tính mà nó phải được dịch sang mã nhị phân ngôn ngữ máy.

Chương trình chỉ chứa các mã nhị phân thay cho các lệnh (với các địa chỉ và các hằng dữ liệu) được hiểu bởi máy tính.

2.4.2. Địa chỉ gián tiếp (Indirect Address):

Đối với một số lệnh dùng toán hạng có thể xác định thanh ghi mà nó chứa địa chỉ gián tiếp và nó chỉ có thể dùng với R0, R1, DPTR. Ví dụ lệnh MOV A, @R0 khôi phục lại byte dữ liệu từ RAM nội tại địa chỉ được định rõ trong R0.

37

Lệnh MOVC, @A + PC khôi phục lại byte dữ liệu từ bộ nhớ dữ liệu ngoài tại địa chỉ được tạo thành bởi việc cộng nội dung thanh ghi tích lũy A và bộ đếm chương trình.

2.4.3. Dữ liệu tức thời (Immediate Data ):

Các lệnh dùng sự định vị tức thời cung cấp dữ liệu vào vùng toán hạng, ký hiệu # đặt trước dữ liệu tức thời. Ví dụ:

CONSTANT EQU 100 MOV A, 0FFH

ORL 40H, # CONSTANT

2.4.4. Địa chỉ dữ liệu (Data Address):

Nhiều lệnh truy xuất các vùng nhớ dùng sự định vị trực tiếp và đòi hỏi một địa chỉ nhớ dữ liệu trên chip (00 – FFH) hay một địa chỉ SFR (80H – FFH) trên vùng toán hạng. Các ký hiệu đã được định nghĩa có thể được dùng cho các địa chỉ SFR. Ví dụ:

MOV A, 45H hay MOV A, SBUF. 2.4.5. Địa chỉ Bit (Bit Address):

Một trong những điểm mạnh của 8051 là khả năng truy xuất các bit riêng lẻ, không cần các hoạt động trang bị trên byte. Các lệnh truy xuất các bit định vị phải cung cấp một địa chỉ trong bộ nhớ dữ liệu nội (00H – 7FH) hoặc địa chỉ bit trong các SFR (80H - FFH).

Có 3 cách để xác định địa chỉ bit trong ô nhớ dữ liệu: Dùng địa chỉ bit trực tiếp, dùng hoạt động điểm giữa địa chỉ byte và địa chỉ bit, dùng ký hiệu biên dịch đã được định nghĩa.

Ví dụ:

SETB 0E7H : Dùng địa chỉ trực tiếp. SETB ACC, 7 : Dùng hoạt động điểm.

38

2.4.6. Địa chỉ mã (Code Address):

Địa chỉ mã được dùng trong toán hạng cho các lệnh nhảy, bao gồm các sự nhảy tương đối (như SJMP và các lệnh nhảy có điều kiện), các sự nhảy và các sự gọi tuyệt đối (ACALL, AJMP). Địa chỉ mã thường được cho ở dạng nhãn sau: HERE: _ _ _ SJMP HERE

ASM51 sẽ xác định địa chỉ mã đúng và lồng vào Offset đúng được ký hiệu 8 bit lệnh, địa chỉ trang 11 bit hoặc địa chỉ dài 16 bit cho thích hợp.

39

CHƯƠNG 3. thiết kế và thi công bộ điều khiển

máy giặt ứng dụng vi xử Lý

Nhiệm vụ của chương này là thiết kế một mô hình máy giặt sử dụng vi điều khiển 8051. Vậy nên yêu cầu đặt ra là:

+ Thiết kế cơ khí.

+ Thiết kế mạch vi điều khiển. + Viết chương trình phần mềm. 3.1. Thiết kế cơ khí

3.1.1. Thùng quay (adsbygoogle = window.adsbygoogle || []).push({});

Nhiệm vụ

Thùng quay có nhiệm vụ chứa nước và đỡ thùng vắt trong quá trình giặt quần áo.

Cấu tạo

Thùng quay có cấu tạo là hình trụ tròn, đáy thùng có khoan lỗ đồng trục với thùng vắt để lắp trục của động cơ.

Hoạt động

Khi động cơ hoạt động, thùng quay cũng quay theo trục của động cơ trong suốt quá trình giặt và vắt của máy giặt.

3.1.2. Thùng vắt

Nhiệm vụ

Thùng vắt có nhiệm vụ chứa và vắt khô quần áo sau khi giặt sạch.

Cấu tạo

Thùng vắt (thùng bên trong) có cấu tạo hình trụ tròn, trên thành và đáy thùng có khoan các lỗ để thoát nước trong quá trình vắt. Đáy thùng có khoan lỗ để gắn trục động cơ.

40

Hoạt động

Khi động cơ hoạt động thùng vắt cũng quay theo. Máy giặt giặt sạch quần áo đến giai đoạn vắt quần áo lúc này van nước ở thùng quay mở để nước trong thùng thoát ra ngoài, nhờ lực quay ly tâm nước từ trong quần áo sẽ bắn qua thùng vắt đến thùng quay và thoát ra ngoài qua van thoát nước

3.1.3. ống cấp và thoát nước

Nhiệm vụ

ống cấp và thoát nước có nhiệm vụ cấp nước và thoát nước đúng thời điểm phù hợp với từng chế độ làm việc của máy giặt.

Cấu tạo

ống cấp và thoát nước có cấu tạo ống tuyô, đường kính của ống 3mm. Các ống nước được đóng, mở bằng 2 đầu tiếp điểm của rơle. ống cấp được gắn vào thùng chứa nước, ống thoát nước được gắn vào đáy của thùng quay.

Hoạt động

Việc đóng mở các ống nước do rơle đảm nhận, rơle được vi điều khiển lập trình đóng mở theo thời gian lập trình. Khi máy giặt hoạt động cần cấp nước, lúc này rơle mở cho nước từ thùng chứa nước vào trong máy giặt theo lượng và thời gian định trước. Khi thôi cấp nước rơle đóng tiếp điểm ngừng cấp nước cho máy giặt. Đến giai đoạn vắt quần áo, vi điều khiển điều khiển rơle mở tiếp điểm, nước trong thùng quay của máy giặt theo ống thoát nước và ra ngoài. Khi giai đoạn vắt đã hoàn thành, vi điều khiển điều khiển rơle đóng lại ngừng thoát nước.

41

42

3.1.4. Bản vẽ tổng thể mô hình máy giặt

Hình 3.2. Bản vẽ mô hình máy giặt.

Nguyên lý hoạt động:

Khi máy giặt hoạt động, rơle mở cấp nước cho máy giặt theo một lượng và thời gian định trước. Khi thôi cấp nước cho máy giặt, rơle đóng tiếp điểm ngừng cấp nước cho máy giặt. Khi quá trình giặt kết thúc, bắt đầu quá trình vắt lúc này rơle gắn với ống thoát nước mở để nước trong thùng quay theo ống thoát nước thải ra ngoài. Khi quá trình vắt kết thúc, rơle đóng tiếp điểm kết thúc quá trình giặt.

3.2. Thiết kế mạch điện

3.2.1. Mạch nguồn 3.2.1.1. Nhiệm vụ:

Nguồn một chiều có nhiệm vụ cung cấp năng lượng một chiều cho các mạch và các thiết bị điện tử hoạt động. (adsbygoogle = window.adsbygoogle || []).push({});

43

3.2.1.2. Sơ đồ mạch nguồn:

Hình 3.3. Sơ đồ khối nguồn một chiều

Sơ đồ khối của một bộ nguồn hoàn chỉnh với chức năng của các khối như sau:

- Biến áp để biến đổi điện áp xoay chiều U1 thành điện áp xoay chiều U2 có giá trị thích hợp với yêu cầu.

- Mạch chỉnh lưu có nhiệm vụ chuyển điện áp xoay chiều U2 thành điện áp một chiều không bằng phẳng (có giá trị nhấp nhô).

- Bộ lọc có nhiệm vụ san bằng điện áp một chiều đập mạch thành điện áp một chiều ít nhấp nhô hơn

- Bộ ổn áp một chiều có nhiệm vụ ổn định điện áp (dòng điện) ở đầu ra của nó U02 (It) khi U01 bị thay đổi theo sự mất ổn định của U01 hay It. Trong nhiều trường hợp nếu không có yêu cầu cao thì không cần bộ ổn áp hay ổn dòng một chiều. Mach nguon D4 D2 D3 D1 220V 12V + C1 IN COM OUT 7805 R8 1k D4 LED0 Hình 3.3. Sơ đồ mạch nguồn.

44

- Máy biến áp 220V/12V biến đổi điện áp xoay chiều 220V thành điện áp xoáy chiều 12V.

- Mạch chỉnh lưu cầu: biến đổi dòng điện xoay chiều thành dòng điện một chiều.

- Tụ C1: lọc điện áp xoay chiều sau khi đã được chỉnh lưu (loại bỏ pha âm) thành điện áp một chiều bằng phẳng để cung cấp cho tải tiêu thụ, ta thấy nếu không có tụ thì áp DC sau điot là điện áp nhấp nhô, khi có tụ điện áp này được lọc tương đối phẳng, tụ điện càng lớn điện áp DC này càng phẳng.

- Giới thiệu IC ổn áp 7805: Đầu vào >7V đầu ra 5V 500mA. Mạch ổn áp cần cho vi điều khiển vì nếu nguồn vi điều khiển không ổn định thì sẽ treo vi điều khiển, không chạy đúng, hoăc reset liên tục, thậm chí là chết chíp.

3.2.2. Sơ đồ mạch vi điều khiển cơ bản:

- Chân 18, 19 nối với thạch anh tạo thành mạch dao động cho vi điều khiển. Tần số thạch anh thường được dùng trong các ứng dụng là: 11,052Mhz (giao tiếp với cổng Com máy tính) và 12 Mhz. Tần số tối đa 24Mhz. Tần số càng lớn vi điều khiển xử lý càng nhanh.

- Điện trở than để tăng dòng xuất cho vi điều khiển để kích tranzitor ở mức 1. Bản chất của port 0 là cực C của tranzitor. Nếu không có điện trở kéo lên nguồn thì cực C này không có áp, bất kể cực B được kích hay không.

Lưu ý:

Nếu thiết lập điện trở kéo lên quá nhỏ thì dòng chảy vào tranzitor lớn dẫn đến cháy hoặc nóng làm giảm tuổi thọ vi điều khiển.

Nếu thiết lập điện trở kéo lên quá lớn dẫn đến sụt áp trên chân vi điều khiển.

45

3.2.3. Sơ đồ mạch cầu H đảo chiều động cơ:

P0.1 P0.2 R4 R3 +V Q6 NPN Q5 NPN M1 +V Q4 NPN Q3 NPN

Hình 3.4. Sơ đồ mạch cầu H đảo chiều động cơ.

Cấu tạo tranzitor:

Tranzitor gồm ba lớp bán dẫn ghép với nhau hình thành hai mối tiếp giáp p-n, nếu ghép theo thứ tự pnp ta được tranzitor thuận, nếu ghép theo thứ tự npn ta được tranzitor nghịch. Ba lớp bán dẫn được nối ra ba cực, lớp giữa gọi là cực gốc B (bazơ), lớp bán dẫn B rất mỏng và có nồng độ tạp chất thấp.

Hai lớp bán dẫn bên ngoài được nối ra thành cực phát E và cực góp C. Chức năng của tranzitor:

Tranzitor là linh kiện điện tử thụ động, tức là cần nguồn cung cấp năng lượng để hoạt động, cụ thể cần phân cực cho tranzitor để nó hoạt động. Tùy theo mục đích mà tranzitor được mắc với mạch điện các kiểu khác nhau để thực hiện những chức năng sau:

- Khóa điện tử - Truyền dẫn điện - Bộ khuếch đại

Sử dụng 4 tranzitor nghịch C2335 và hai điện trở 1K. Sử dụng mạch cầu H có ưu điểm làm cho mạch trở nên đơn giản và tiết kiệm chi phí.

46 Nguyên lý hoạt động (adsbygoogle = window.adsbygoogle || []).push({});

Khi tín hiệu điều khiển vào P0.1 là 5V thì tín hiệu điều khiển của P0.2 là 0V lúc này Q3 và Q6 thông, Q4 và Q5 khóa động cơ quay theo chiều thuận. Khi tín hiệu điều khiển vào P0.1 là 0V thì tín hiệu điều khiển của P0.2 là 5V lúc này Q5 và Q4 thông, Q3 và Q6 khóa động cơ quay theo chiều ngược lại. 3.2.4. Mạch rơle P0.3 D1 LED1 Q1 NPN +V 5V +V 12V 5V R1 R5 1k Hình 3.4. Sơ đồ mạch rơle.

- Rơle là một loại thiết bị điện tự động mà tín hiệu đầu ra thay đổi nhảy cấp khi tín hiệu đầu vào đạt những giá trị xác định. Rơle là thiết bị điện dùng để đóng cắt mạch điện điều khiển, bảo vệ và điều khiển sự làm việc của mạch điện động lực.

Cấu tạo của rơle: gồm một lõi sắt, một cuộn từ và một tiếp điểm. Chức năng của rơle: Dùng một năng lượng nhỏ để đóng cắt nguồn năng lượng lớn hơn

- Điot mắc song song với cuộn dây rơle để dập xung ngược, bảo vệ tranzitor đóng mở dòng cho rơle. Khi cuộn dây rơle bị ngắt dòng điện (do tranzitor ngưng dẫn) sẽ phát sinh dòng điện cảm ứng (cùng chiều với dòng ban

47

đầu), dòng điện này sẽ được điot dập do nó được phân cực thuận. Nhờ đó mối nối CE của tranzitor không bị phá hủy bởi dòng điện cảm ứng.

3.2.5. Mạch điện tổng thể điều khiển máy giặt

P0.3 P0.0 D4 D2 D3 D1 220V 12V 40 20 18 1 RESET 9 Q3 NPN Q4 NPN +V M1 Q5 NPN Q6 NPN +V R3 R4 IN COM OUT 7805 + C1 5V +V 5V +V 12V Q2 NPN D2 LED1 +V 5V D1 LED1 Q1 NPN +V 5V +V 12V 5V 8051 1 k R S1 C4 22pF C3 22pF + C2 R7 R2 1k R1 R5 1k R6 1k

Hình 3.6. Sơ đồ mạch điện tổng thể điều khiển máy giặt.

Nguyên lý hoạt động của mạch

Khi cấp dòng điện xoay chiều 220V cho máy biến áp, đầu ra của may biến áp là dòng điện xoay chiều 12V, dòng điện xoay chiều đi qua mạch chỉnh lưu cầu thành dòng điện một chiều 12V sau đó tụ lọc có nhiệm vụ san phẳng độ gợn sóng để dòng điện đến IC ổn áp 7805 được bằng phẳng hơn. IC 7805 cho ra điện áp một chiều 5V cho IC 8051 để điều khiển rơle và điều khiển động cơ.

48 3.3. Thiết kế phần mềm

Chương trình điều khiển

ORG 00H

;#include <sfr51.inc> MOV TMOD,#01H

chuanbi:CLR P0.1 ;dung quay CLR P0.2

SETB P0.0 ;dong cac van nuoc SETB P0.3

CLR P1.0 ;tat coi ;---

Capnuoc: CLR P0.0 ;mo van nuoc MOV R0,#10;thoi gian cho

Chocapnuoc: LCALL DELAY DJNZ R0,chocapnuoc

Dungcapnuoc:SETB P0.0

Ngamquanao: MOV R0,#5 ; so lan dao Quaytrai: SETB P0.1 CLR P0.2 LCALL DELAY Quayphai: CLR P0.1 SETB P0.2 LCALL DELAY

DJNZ R0,Quaytrai ;quay dao 5 lan

Xanuoc: CLR P0.3 ; mo van xa Dunglai: CLR P0.1

CLR P0.2

49

Choxanuoc: LCALL DELAY DJNZ R0,choxanuoc

Vatkho: CLR P0.1 ;quay phai SETB P0.2

MOV R0,#10;so lan quay

Chovatkho: LCALL DELAY DJNZ R0,chovatkho (adsbygoogle = window.adsbygoogle || []).push({});

stop: CLR P0.1 ;dung quay CLR P0.2

SETB P0.0 ;dong cac van nuoc SETB P0.3

SETB P1.0 ;phat tin hieu da giat xong LCALL DELAY

CLR P1.0 ;dung phat tin hieu ;---

DELAY: MOV R7,#200

NAPLAI: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 CHO: JNB TF0,CHO CLR TF0 CLR TR0 DJNZ R7,NAPLAI RET ;---

50

KếT LUận

Qua quá trình tìm hiểu và nghiên cứu mô hình tôi có thể rút ra được một số kết luận như sau:

Thiết kế và chế tạo được các cơ cấu cơ khí cho máy giặt như: thùng quay, thùng giặt, ống cấp nước và thoát nước. Các cơ cấu hoạt động tốt, đạt được những yêu cầu đề ra.

Thiết kế và chế tạo các mạch điện cho máy giặt như: mạch nguồn, mạch rơle, mạch vi điều khiển… Các mạch điện trên hoạt động tốt theo yêu cầu đặt ra.

Viết chương trình điều khiển bằng tay Assembly và nạp chương trình điều khiển này cho máy giặt. Máy giặt hoạt động theo đúng chương trình đề ra.

Để đề tài này thêm phong phú và tăng hiệu quả sử dụng thì cần đáp ứng được những yêu cầu sau:

- Khống chế và lựa chọn mức nước ngay trên bảng điều khiển.

- Có khả năng tự nhận biết khối lượng đồ giặt để tự động lựa chọn chế độ giặt và mức nước phù hợp.

- Có thêm nhiều chế độ giặt dành cho các loại vải khác nhau.

- Có thêm chức năng giặt nước nóng và có thể chọn được chế độ giặt… Với sự cố gắng nỗ lực của bản thân và sự hướng dẫn tận tình của thầy Nguyễn Thế Lâm tôi đã hoàn thành khóa luận theo đúng thời gian quy định. Khoa học kỹ thuật phát triển như vũ bão, công nghệ chế tạo ra những chiếc máy giặt thông minh luôn thay đổi từng ngày, do vậy tôi rất mong nhận được nhiều ý khiến đóng góp từ quý thầy cô và các bạn để luận văn của tôi có nhiều cải tiến mới hơn.

Hà Nội, tháng 05 năm 2013

Sinh viên

51

Tài liệu tham khảo

[1] Lê Văn Doanh, Điện tử công suất, NXB Khoa học và Kĩ thuật Hà

Nội 2000.

[2] Nguyễn Mạnh Giang, Cấu trúc lập trình ghép nối và ứng dụng vi

điều khiển, NXB Lao động - Xã hội Hà Nội 2005.

[3] Trần Khánh Hà, Máy giặt dân dụng, NXB Khoa học và Kĩ thuật Hà

Nội 2005.

[4] Vũ Quang Hồi, Trang bị điện điện – tử công nghiệp, NXB Giáo dục.

Một phần của tài liệu Thiết kế mô hình máy giặt dân dụng (Trang 36)