Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
600 KB
Nội dung
KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ MỤC LỤC LỜI NÓI ĐẦU 2 Chương 1: TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN AT 89S51 3 1.1. Cấu trúc bên trong của họ vi diêu khiển 3 1.2. Chức năng các chân của họ vi diều khiển 4 1.3. Tổ chức của bộ nhớ 7 1.4. Hoạt động của bộ định thời ( timer ) 10 1.5. Tập lệnh của AT 89S51 15 Chương 2: ĐO VÀ HIỂN THỊ NHIỆT ĐỘ MÔI TRƯỜNG BẰNG LCD 21 2.1. Biến đổi tương tự số 21 2.2.Tổng quát về biến đổi về tương tự số 21 Chương 3: MẠCH ĐIỀU KHIỂN VÀ CHƯƠNG TRÌNH 26 3.1. Phần cứng 26 3.2 Lưu đồ thuật toán 32 3.3 Chương trình 34 Chương 4: KẾT LUẬN 37 4.1. Nội dung đã làm được 37 4.2. Ứng dụng của đề tài 37 4.3. Hướng phát triển của đề tài 37 4.4 Tài liệu tham khảo 37 LỜI CẢM ƠN 38 GVHD: aĐ ̀o Quang Khanh - 1 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ LỜI NÓI ĐẦU Vào đầu những năm thập niên 60, kỹ thuật số đã đưa vào ứng dụng trong thực tế nhưng ở phạm vi nhỏ. Cho đến ngày hôm nay kỹ thuật số đã được phát triển một cách mạnh mẽ và được ứng dụng vào mọi lãnh vực của cuộc sống. Từ những chiếc máy vi tính (computer), máy CD, máy VDC, truyền hình số, thiết bị đo nhiệt độ … cho đến các băng đĩa CD đã dần dần thay thế các máy và băng từ tín hiệu tương tự (analog) bởi bộ phân giải rộng, độ chính xác cao và dễ dàng trong quá trình xử lý tín hiệu. Tuy nhiên trong cuộc sống hằng ngày chúng ta lại thường tiếp xúc với những tín hiệu tương tự nhiều hơn thế. VD: điện thoại, sóng đài truyền hình, dòng điện sinh hoạt, âm thanh … Vì thế phải cần có một sự chuyển đổi từ tín hiệu tương tự (Analog) – số (Digital) để đưa vào vi điều khiển xử lý dữ liệu, sau đó hiển thị ra ngoài. Đó là những lý do để nhóm thực hiện đề tài: ĐO VÀ HIỂN THỊ NHIỆT ĐỘ MÔI TRƯỜNG BẰNG MÀN HÌNH LCD . Có rất nhiều phương pháp để thực thi việc chuyển đổi A/D (Analog Digital Converter). • Sử dụng vi mạch số • Sử dụng vi xử lý • Sử dụng vi điều khiển Với đề tài này nhóm sử dụng vi điều khiển để thực hiện việc chuyển đổi AD (Analog Digital Converter) Mục Đích: Chuyển đổi tín hiệu Analog – Digital để xử lý,chuyển đổi, hiển thị trên LCD. Yêu cầu: Hiểu rõ về kỹ thuật số, các quá trình chuyển đổi ADC bên trong những vi mạch chuyên dụng (IC ADC 0804 ) Tuy đã cố gắng nhưng cũng không thể tránh khỏi những thiếu sót mong được sự góp ý của các thầy cô cùng các bạn . HẢI PHÒNG, Ngày 10 Tháng 12 Năm 2007. Nhóm sinh viên thực hiện GVHD: aĐ ̀o Quang Khanh - 2 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ CHƯƠNG 1: KHẢO SÁT BỘ VI ĐIỀU KHIỂN AT89S51 1.1 Cấu trúc bên trong của vi điều khiển: Phần chính của vi điều khiển AT89S51 là bộ xử lí trung tâm (CPU: Central Processing Unit ) bao gồm : - Thanh ghi tích lũy A. - Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia. - Đơn vị logic học (ALU: Arithmetic Logical Unit ) - Từ trạng thái chương trình (PSW: Prorgam Status Word) - Bốn băng thanh ghi. - Con trỏ ngăn xếp. GVHD: aĐ ̀o Quang Khanh - 3 - H 1.1. Sơ đồ khối bên trong KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian và logic. GVHD: aĐ ̀o Quang Khanh - 4 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ 1.2 Chức năng các chân của bộ vi điều khiển. Sơ đồ chân của AT89S51 Port0 : Port0 có 2 chức năng ở trên chân từ 32 đến 39 trong các thiết kế cỡ nhỏ có hai chức năng như các đường I/O. Đối với các thiết kế cỡ lớn ( với bộ nhớ mở rộng nó được kết hợp kênh giữa các bus ) Port1 : Port1 là một port I/O trên các chân 1-8. Các chân được ký hiệu P1.0, P1.1, P1.2 …P1.7 có thể dùng cho các thiết bị ngoài nếu cần. Nó dùng trong giao tiếp với các thiết bị ngoài. Port2 : Port2 là một port công dụng kép trên các chân 21 – 28 được 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 kế dùng bộ nhớ mở rộng. Port3 : Port3 là một port công dụng kép trên các chân 10 – 17. Ngoài chức năng xuất nhập còn có chức năng điều khiển các bus thông tin, chức năng ngắt, các đầu vào của bộ định thời. GVHD: aĐ ̀o Quang Khanh - 5 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ Chức năng cụ thể của Port3,và 2 chân(pin) của P1.0 và P1.1 cho cụ thể sau: Bit Tên Địa chỉ bit Chức năng P3.0 RxD B0H Chân nhập dữ liệu của port nốI tiếp P3.1 TxD B1H Chân phát dữ liệu của port nốI tiếp P3.2 INT0 B2H Ngõ vào ngắt ngoài 0 P3.3 INT1 B3H Ngõ vào ngắt ngoài 1 P3.4 T0 B4H Ngõ vào của bộ định thời/ đếm 0 P3.5 T1 B5H Ngõ vào của bộ định thời/ đếm 1 P3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngoài P3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài P1.0 T2 90H Ngõ vào của bộ định thờI/đếm 2 P1.1 T2EX 91H Nạp lạI/thu nhận của bộ định thờI 2 PSEN (Program Store Enable ) : Tạo tín hiệu truy xuất bô nhớ chương trình ngoài trong trường hợp VĐK nối với 8031. ALE (Address Latch Enable ) : chân chốt địa chỉ trong trường hợp truy xuất bộ nhớ chương trình ngoài. Nó kết hợp với các cổng P0, P2, và chân PSEN để xuất nhập bộ nhớ chương trình ngoài. EA (External Access) : Tín hiệu vào EA trên chân 31 thường được mắc lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, AT89S51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình được thi hành từ bộ nhớ mở rộng. SRT (Reset) : Ngõ vào RST trên chân 9 là ngõ reset của AT89S51. Khi tín hiệu này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy ), các thanh ghi trong AT89S51 được tải những giá trị thích hợp để khởi động hệ thống. XTAL1, XTAL2 : Nối với thạch anh giữa hai chân 18 và 19. Các tụ giữa cũng cần thiết, và tần số thạch anh thông thường là 12MHZ. Các chân nguồn : AT89S51 vận hành với nguồn đơn +5V. Vcc được nối vào chân 40 và Vss (GND) được nối vào chân 20. GVHD: aĐ ̀o Quang Khanh - 6 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ GVHD: aĐ ̀o Quang Khanh - 7 - H 1.3. Tóm tắt bản đồ vùng nhớ và bộ nhớ dữ liệu KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ 1.3 Tổ chức bộ nhớ: Chi tiết về bộ nhớ RAM trên chip: Như ta đã thấy trên hình, RAM bên AT89S51 được phân chia giữa các bank thanh ghi (00H – 1FH), RAM địa chỉ hóa từng bit (20H – 2FH), RAM đa dụng (30H – 7FH) và các thanh ghi chức năng đặc biệt (80H – 0FFH). 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 cách đánh giá địa chỉ trực tiếp hoặc gián tiếp. RAM địa chỉ hóa từng bit . AT 89S51 chứa 210 bit được địa chỉ hóa, trong đó 128 bit là ở các địa chỉ byte 20H đến 2FH, và phần còn lại trong các thanh ghi chức năng đặc biệt .Các bit có thể được đặt, xóa, AND,OR …với một lệnh đơn. Các port I/0 cũng được địa chỉ từng bit làm đơn giản phần mềm xuất nhập từng bit. Các bank thanh ghi . 32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi. Bộ lệnh của AT89S51 hổ trợ 8 thanh ghi (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-07H. Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh tương ứng nhưng dùng địa chỉ trực GVHD: aĐ ̀o Quang Khanh - 8 - H 1.4. Tóm tắt các vùng của bộ nhớ. KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ tiếp. Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bit chọn bank thanh ghi trong thanh ghi từ trạng thái Program Status Word (PSW). Các thanh ghi chức năng đặc biệt. Các thanh ghi trong AT89S51 được định dạng như một phần của RAM trên chip. Vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi trực tiếp, sẽ không có lợi khi đặt chúng vào trong RAM trên chip). Cũng như R0 đến R7, có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Rgister) ở vùng trên của RAM nội, từ địa chỉ 80H đến 0FFH. Hầu hết 128 địa chỉ từ 80H đến 0FFH không được định nghĩa. Chỉ có 21 địa chỉ SFR là được định nghĩa. Từ trạng thái chương trình. Từ trạng thái chương trình (PSW: Program Status Word): Ở địa chỉ D0H chứa các bit trạng thái như sau: Cờ nhớ (CY): Có công dụng kép, thông thường nó được dùng cho các lệnh toán học. Nó sẽ được set nếu có một ô nhớ sinh ra bởi phép cộng hoặc có một số mượn phép trừ tại địa chỉ D7H. Cờ nhớ phụ(AC): Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết qủa của 4 bit thấp trong khoảng 0AH đến 0FH ngược lại thì AC=0 có địa chỉ D6H. Cờ 0 (F0): Là một bit cờ đa dụng dành các ứng dụng của người dùng. Có địa chỉ D5H. Các bit chọn bank thanh ghi (RSO và RS1): Xác định bank thanh ghi được tích cực. 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. Có địa chỉ lần lượt là D4H và D3H. Cờ tràn (OV): Được set khi một phép toán bị tràn. Khi các số có dấu được cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này để xác định xem kết qủa của nó có nằm trong tầm xác định không. Khi các số không dấu được cộng, bit OV có thể được bỏ qua. Các kết qủa lớn hơn +127 hoặc nhỏ hơn –128 sẽ set bit OV. Có Địa chỉ D2H. Cờ (P): biểu thị cờ chẵn lẻ. Có địa chỉ 0D0H. GVHD: aĐ ̀o Quang Khanh - 9 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ Thanh ghi B. Thanh ghi (B): Ở địa chỉ 0F0H đượ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. Nó được địa chỉ hóa từng bit bằng các địa chỉ bit 0FH đến 0F7H. Con trỏ ngăn xếp. Con trỏ ngăn xếp (SP): Là một thanh ghi 8 bit ở địa chỉ 81H. Nó chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Ngăn xếp của AT89S51 được giữ trong RAM nội và được giới hạn các địa chỉ có thể truy xuất bằng địa chỉ gián tiếp. Chúng là 128 byte đầu của AT89S51. Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu giữ tạm thời và lấy lại dữ liệu hoặc được truy xuất ngầm bằng các lệnh gọi chương trình con (ACALL, LCALL) và các lệnh trở về (RET,RETI) để cất và lấy lại bộ đếm chương trình. 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). Các thanh ghi port xuất nhập. Các port của AT89S51 bao gồm: Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90 H, Port 2 ở địa chỉ 0A0H và Port 3 ở địa chỉ 0B0H. Tất cả các Port đều được địa chỉ hóa từng bit. Các thanh ghi Timer. AT89S51 chứa 2 bộ định thời đếm 16 bit: 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 hoạt động timer được set bởi thanh ghi Timer Mode (TMOD) và thanh ghi điều khiển timer (TCON). Chỉ có TCON được địa chỉ hóa từng bit. Các thanh ghi port nối tiếp. AT89S51 chứa một port nối tiếp trên chip 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 cho việc giao tiếp với các IC GVHD: aĐ ̀o Quang Khanh - 10 - [...]... P3.0,P3.1,P3.2 GVHD: Đa ̀o Quang Khanh - 32 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ Sơ đồ mạch điện đầy đủ: GVHD: Đa ̀o Quang Khanh - 33 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ 3.2 Lưu đồ thuật toán Lưu đồ chương trình biến đổi ADC START CHỌN CỔNG VÀO CỦA ADC0804 KHỞI ĐỘNG ADC0804 NHẬN DỮ LIỆU TỪ ADC VỀ XUẤT DỮ LIỆU RA LCD S ĐIỀU CHỈNH VI ĐIỆN TRỞ Đ GVHD: Đa ̀o Quang Khanh - 34 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO... hiệu này có thể dùng để kích một ngắt cứng của máy tính (nếu dùng giao tiếp với máy tính) Để đọc được dữ liệu đầu ra của bộ ADC thì phải nâng đường OE (Output Enable) của ADC lên mức cao, sau khi đọc xong thì lại trả đường này về mức thấp GVHD: Đa ̀o Quang Khanh - 26 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ Hình dưới là sơ đồ chân của thiết bị biến đổi dùng IC ADC0804 Sơ đồ chân của IC ADC 0804 CS :... 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 nhiều bit điều khiển 1.4 Hoạt động của bộ định thời (timer): Người ta sử dụng các timer để định khoảng thời gian, đếm sự kiện hoặc tạo tốc độ baud (bit/giây)cho port nối tiếp trong AT89S51 Truy xuất timer của AT89S51 dùng 6 thanh ghi chức năng đặc biệt cho trong bảng sau: GVHD: Đa ̀o Quang Khanh - 11 - KHOA ĐIỆN - ĐIỆN TỬ... tự số dùng kỹ thuật CMOS Tổng cộng người sử dụng có 8 kênh làm vi c hoàn toàn độc lập với nhau để lựa chọn ở đây còn chú ý là các điện áp được đo so với điện thế 0V Còn một đặc điểm đáng quan tâm hơn là sự tiêu thụ dòng điện của vi mạch hầu như không đáng kể (chỉ cỡ 300µA) Thời gian biến đổi khoảng 100 µs Các thông số kỹ thuật của bộ biến đổi ADC 0804 được kể ra như sau: • Không cần đòi hỏi điều chỉnh... - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ Bảng 1.5 Thanh ghi chức năng đặc biệt 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: Bảng 1.6 Tóm tắt thanh ghi Tmod GVHD: Đa ̀o Quang Khanh - 12 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ Thanh ghi điều khiển timer (TCON) Bao gồm các bit để điều khiển bộ định thời và phục vụ ngắt độ Các chế timer... Vin(+) có được bằng cách điều chỉnh một biến trở vi chỉnh để thay đổi điện áp điểm giữa của biến trở Vin(+) ở trong tầm từ 0 đến 5V Có thể nhận thấy mạch chuyển đổi ADC ở trên có tốc độ chuyển đổi rất nhanh(có thể đạt tốc độ chuyển đổi vài triệu lần trong một giây.Thí dụ để có mạch đổi 3 bit GVHD: Đa ̀o Quang Khanh - 29 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ người ta dùng 7 mạch so sánh ở ngã vào và một... /10, các ngã ra mạch so sánh đều lên cao khiến mã số ra là 000 Khi Vr / 10〈Va 〈 2Vr / 10 , ngã ra mạch so sánh 1 xuống thấp khiến mã số ra là 001 Khi 2Vr / 10〈Va 〈3Vr / 10 , ngã ra mạch so sánh 2 xuống thấp khiến mã số ra là 010 Cứ như thế ta thấy mã số ra tỷ lệ với điện thế tương tự vào Ở thí dụ này vi chỉnh để thay đổi điện áp được dùng là IC LM 35 Sơ đồ chân của LM35 LM 35 là thiết bị cảm biến nhiệt... : Trao đổi giữa thanh ghi A và một dữ liệu gián tiếp GVHD: Đa ̀o Quang Khanh - 20 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ XCHD A,@R ;(1,1): Trao đổi giữa nibble thấp (LSN) của thanh ghi A và LSN của dữ liệu gián tiếp Nhóm lệnh chuyền điều khiển ACALL addr11 ; (2,2): Gọi chương trình con dùng địa chì tuyệt đối LCALL addr16 ; (3,2): Gọi chương trình con dùng địa chỉ dài RET ; (1,2): Trở về từ lệnh... trong (0-125) được đánh giá địa chỉ gián tiếp qua thanh ghi R0 hoặc R1 GVHD: Đa ̀o Quang Khanh - 16 - KHOA ĐIỆN - ĐIỆN TỬ #data BÁO CÁO CHUYÊN ĐỀ : Hằng 8 bit chứa trong câu lệnh #data 16 : Hằng 16 bit chứa trong câu lệnh Addr16 : 16 bit địa chỉ đích được dùng trong lệnh LCALL và LJMP Addr11 : 11 bit địa chỉ đích được dùng trong lệnh LCALL và AJMP Rel: Byte offset 8 bit có dấu được dùng trong lệnh SJMP... độ 3 GVHD: Đa ̀o Quang Khanh - 15 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ 1.5 Tập lệnh của AT89S51 Tập lệnh của AT89S51 được chia thành 5 nhóm - Số học - Logic - Chuyển dữ liệu - Chuyển điều khiển Các chi tiết thiết lập lệnh: Rn :Thanh ghi R0 đến R7 của bank thanh ghi được chọn Data : 8 bit địa chỉ vùng dữ liệu bên trong Nó có thể là vùng RAM dữ liệu trong (0-127) hoặc các thanh ghi chức năng đặc biệt . KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ MỤC LỤC LỜI NÓI ĐẦU 2 Chương 1: TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN AT 89S51 3 1.1. Cấu trúc bên trong của họ vi diêu khiển 3 1.2. Chức năng các chân của họ vi. để thực thi vi c chuyển đổi A/D (Analog Digital Converter). • Sử dụng vi mạch số • Sử dụng vi xử lý • Sử dụng vi điều khiển Với đề tài này nhóm sử dụng vi điều khiển để thực hiện vi c chuyển. Tháng 12 Năm 2007. Nhóm sinh vi n thực hiện GVHD: aĐ ̀o Quang Khanh - 2 - KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO CHUYÊN ĐỀ CHƯƠNG 1: KHẢO SÁT BỘ VI ĐIỀU KHIỂN AT89S51 1.1 Cấu trúc bên trong của vi điều