Thiết kế bộ hẹn giờ cho một thiết bị

23 587 6
Thiết kế bộ hẹn giờ cho một thiết bị

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trng HCN H Ni Khoa in t Bộ CÔNG THƯƠNg Trờng đại học công nghiệp hà nội Khoa điện tử đồ án môn: Vi điều khiển Đề tài: Thiết kế bộ hẹn giờ cho một thiết bị Sinh viên thực hiên: Cao Xuân Đức Trơng Quang Huy Phạm Thị Lan Hơng Giáo viên hớng dẫn: Nguyễn Anh Dũng Hà nội -11/2009 Mục lục 1 Trng HCN H Ni Khoa in t Chơng i: Giới thiệu chung về bộ vi điều khiển 3 I. Giới thiệu chung về bộ vi điều khiển . 4 II. Khảo sát bộ vi điều khiển 8051(89S52) 4 1. Kiến trúc phần cứng 5 2. Chức năng các chân 6 3. Các thanh ghi 9 4. Hoạt động của bộ định thời 10 5. Hoạt động của port nối tiếp 11 6. Hoạt động ngắt 12 Chơng ii: bộ hẹn giờ dùng 89s52 1. các linh kiện 2. lu đồ thuật toán 3. mạch nguyên lý 4. phần mềm và file nguồn LờI NóI ĐầU 2 Trng HCN H Ni Khoa in t Với công nghệ ngày càng hiện đại, các thiết bị điện tử ngày càng đi sâu vào cuộc sống của con ngời. Và một bớc tiến vợt bậc của nghành điện tử, đó là sự ra đời của các IC số và các bộ vi xử lý, cho phép con ngời có thể lập trình cho chúng đợc, các thiết bị điện tử càng ngày càng linh hoạt và từ một linh kiện, chúng ta có thể tạo ra rất nhiều chức năng khác nhau cho chúng. Và một đại diện cho mảng này, đó là họ IC khả trình 8051, cho phép chúng ta có thể lập trình cho chúng làm những công việc khác nhau đa công nghệ điện tủ ngày một hiện đại hơn với công nghệ tự đọng hóa. Trong quá trình học tập trong trờng ĐHCN Hà Nội, chúng em đã đợc tiếp xúc với một đại diện của nghành này,bộ môn vi điều khiển với sự hớng dẫn và giảng dạy của các thày giáo chúng em xin trình bày sản phẩm của nhóm chúng em dựa trên những kiến thức mà đã đợc học : Thiết kế bộ hẹn giờ cho một thiết bị. Sẽ không thể tránh khỏi thiếu sót và điều cha đợc về sản phẩm của mình. Rất mong nhận đợc sự chỉ bảo của các thày,cô. Nhóm chúng em xin chân thành cảm ơn sự hớng dẫn của thày Dũng, thày Chiến, thày Tùng và các bạn xung quanh đã giúp đỡ chúng em trong quá trình làm đồ án môn này. Sinh viên thực hiện: Cao Xuân Đức Trơng Quang Huy Phạm Thị Lan Hơng Chơng I Giới thiệu chung về bộ vi điều khiển 3 Trng HCN H Ni Khoa in t I.Giới thiệu chung về bộ vi điều khiển: Bộ vi điều khiển viết tắt là Micro-contronller, là mạch tích hợp trên một chíp có thể lập trình đợc, dùng để điều khiển hoạt động của hệ thống. Theo các tập lệnh của ngời lập trình, bộ vi điều khiển tiến hành đọc, lu trữ thông tin, xử lý thông tin, đo lờng thời gian và tiến hành đọc mở một cơ cấu nào đó. Trong các thiết bị điện và điện tử dân dụng, thiết bị tự động hoá các bộ vi điều khiển, điều khiển hoạt đọng của các thiết bị này Trong hệ thống sản xuất tự động, bộ vi điều khiển đợc sử dụng trong điều khiển robot, dây chuyền tự động Các hệ thống càng thông minh thì vai trò của vi điều khiển càng quan trọng II. Khảo sát bộ vi điều khiển 8051(89S52) Họ vi điều khiển 8051 (còn gọi là họ C51) là một trong những họ vi điều khiển thông dụng nhất. Đây là các bộ vi điều khiển 8bits, có kiến trúc theo kiểusản xuất theo công nghệ CMOS, Một số loại vi điều khiển thuộc họ 8051 thông dụng có thể kể ra : AT89C2051(20 chân), AT89C4051(20 chân), AT89C51(40 chân), AT89C52(40 chân), AT89S51(40 chân), AT89S52(40 chân), AT89S53(40 chân) Trong chơng trình môn học này chúng ta tập trung nghiên cứu về bộ vi điều khiển 89S52. Đây là một bộ vi điều khiển thông dụng, giá rẻ có khá nhiều chức năng hay đặc biệt là có tích hợp sẵn bộ nạp trên chip giúp sinh viên có thể dễ dàng tự thực hiện các bài thí nghiệm với chi phí rất thấp. Cũng trong chơng trình môn học này, ngôn ngữ đợc sử dụng để trình bày các ví dụ ứng dụng sẽ là ngôn ngữ C. Cụ thể họ vi điều khiển 8051 có các đặc điểm sau : -8 kbyte ROM (đợc lập trình bởi nhà sản xuất chỉ có ở 8051 ) -256 byte RAM -4 port I/0 8 bit -3 bộ định thời 16 bit -Giao tiếp nối tiếp -64 KB khônh gian bộ nhớ dũ liệu mở rộng -một bộ vi xử lí(thao tác trên các bit đơn) -210 bit đợc địa chỉ hoá -bộ nhân/chia 4us a).Kiến trúc phần cứng của 8051 Phần chính của vi điều khiển 8051 là bộ vi xử lý trung tâm(CPU: central processing unit) bao gồm: 4 Trng HCN H Ni Khoa in t - Thanh ghi tích luỹ A - Thanh ghi tích luỹ 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: program status word) - bốn băng thanh ghi - con trỏ ngăn xếp - 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 Hình 1.1 : Sơ đồ khối 89s52 Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn có khả năng đa một tín hiệu giữ nhịp từ bên ngoài. Chơng trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở bên trong. Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn của bộ đếm định thời hoặc cũng có thể là giao diện nối tiếp. ba bộ định thời 16 Bit hoạt động nh một bộ đếm. Các cổng(Port 0, Port 1 Port 2 Port 3). Sử dụng vào mục đích điều khiển. 5 Trng HCN H Ni Khoa in t ở cổng 3 có thêm các đờng dẫn điều khiển dùng để trao đổi với bộ nhớ ở bên ngoài, hoặc để đầu nối giao diện nối tiếp, cũng nh các đờng ngắt dẫn ở bên ngoài. Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong vảy rộng và đợc ấn định bằng một bộ định thời. Trong vi điều khiển 8051 có hai thành phần quan trọng khác đó là bộ nhớ và các thanh ghi: Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lu trữ dữ liệu và mã lệnh Các thanh ghi sử dụng để lu trữ thông tin trong quá trình xử lý. Khi CPU làm việc nó thay đổi nội dung các thanh ghi. b). Chức năng các chân của vi điều khiển 8051 1. Port 0. Port 0 gồm 8 chân, ngoài chức năng xuất nhập ra, Port 0 còn là Bus đa hợp dữ liệu và địa chỉ (AD0-AD7), chức năng này sẽ đợc sử dụng khi 89S52 giao tiếp với các thiết bị ngoài có kiến trúc Bus. Hình 2.4. Cấu trúc của các chân trên port 0 2. Port 1. Đối với 8051, chức năng duy nhất của Port 1 là chức năng xuất nhập, cũng nh các Port khác, Port 1 có thể xuất nhập theo bit và theo byte. 6 Trng HCN H Ni Khoa in t Hình 2.5. Cấu trúc của các chân trên port 1 và port 3. Riêng dòng 89Sxx, 4 chân P1.4, P1.5, P1.6, P1.7 đợc dùng để nạp ROM theo chuẩn ISP, 2 chân P1.0 và P1.1 đợc dùng cho bộ Timer 2. Trên hình 2.3 là một sơ đồ kết nối 89S52 với cổng song song để nạp chơng trình (file mã - *.hex) từ máy tính. Trên sơ đồ này các đờng dẫn DO, DI, SCK, RTS lần lợt là các đờng dẫn dữ liệu lên máy tính, xuống nối tiếp từ máy tính, đờng dẫn xung Clock và đờng dẫn xung Reset từ máy tính xuống sau khi nạp xong chơng trình. 3. Port 2. Port 2 có hai tác dụng, hoặc làm nhiệm vụ là cổng xuất nhập, hoặc là phần byte cao của bus địa chỉ 16-bit cho các thiết kế hệ thống cần nhiều hơn 256 byte bộ nhớ ngoài. Hình 2.7. Cấu trúc của các chân trên port 2 4. Port 3 Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng riêng, cụ thể nh sau: 7 Trng HCN H Ni Khoa in t Bit Chân chức năng P3.0 RXD Dữ liệu nhận cho port nối tiếp P3.1 TXD Dữ liệu phát cho port nối tiếp P3.2 INTO Ngắt bên ngoài 0 P3.3 INT1 Ngắt bên ngoài 1 P3.4 TO Ngõ vào timer/counter 0 P3.5 T1 Ngõ vào của timer/counter 1 P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài. 5. PSEN (Program Store Enable ). Chân này thờng đợc nối với chân cho phép xuất /OE (Output Entable) của EPRROM (hoặc của ROM) để cho phép đọc các byte lệnh. Tín hiệu /PSEN ở lôgic 0 trong suốt thời gian tìm nạp lệnh. Các mã nhị phân của chơng trình (opcode) đợc đọc từ EPROM, qua bus dữ liệu và đợc chốt với thanh ghi lệnh IR của 8051 để đợc giải mã. Khi thực thi một chơng trình trong ROM nội, /PSEN đợc duy trì ở lôgic không tích cực (logic 1). 6. ALE (Address Latch Enable ). Là tín hiệu xuất ra để giải đa hợp bus địa chỉ v bus dữ liệu. Trong 1/2 chu kỳ đầu bộ nhớ, chân ALE xuất tín hiệu để chốt địa chỉ (byte thấp của bus địa chỉ 16 bit) và thanh ghi ngoài khi ta sử dụng port 0 làm byte thấp địa chỉ. Trong 1/2 chu kỳ bộ nhớ còn lại port 0 sẽ xuất/nhập dữ liệu. Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động bên trong chip vi điều khiển v có thể lm xung clock cho các phần còn lại của hệ thống (trờng hợp ngoại lệ khi thực hiện lệnh MOVX, một xung ALE (vàs cả /PSEN) sẽ bị bỏ qua). Chân ALE còn đợc dùng để nhập xung ngõ vo lập trình cho EPROM hoặc Flash ROM trên chip đối với chip có loại ROM này. 7. EA (External Access) . Chân này đợc nối lên 5V khi thực thi chơng trình trong ROM nội và đợc nối đất khi thực thi chơng trình bộ nhớ ngoài. Chú ý đối với các chip không có ROM nội /EA phải đợc nối đất. Các chip họ 8051 có EPROM còn nhận chân /ALE làm chân nhận điện áp cấp điện 12V cho việc lập trình (nạp) cho EPROM nội. 8. RST (Reset). Dùng để thiết lập lại trạng thái ban đầu của hệ thống hay gọi tắt là reset hệ thống khi đợc treo ở mức logic là ít nhất 2 chu kỳ máy. Các thanh ghi bên trong của 8051 đợc nạp các giá trị thích hợp cho việc khởi động lại hệ thống. 9. XTAL1, XTAL2. Mạch dao động bên trong chip 8051 đợc ghép với thạch anh bên ngoài ở 2 chân XTAL1 v XTAL2. Thờng tần số l 12MHz v các tụ ổn định có giá trị trong khoảng 30pF 33 pF. 10 Vcc,GND: 8 Trng HCN H Ni Khoa in t 89S52 nối với dơng nguồn một chiều điện áp đầu vào 4V đến 5.5V qua chân 40 còn âm nguồn nối với mát(GND) qua chân 20. c). Các thanh ghi: 1. Các thanh ghi Port xuất nhập: Các Port cua 8051 bao gồm port 0 ỏ địa chỉ 80H.port1 ỏ dịa chỉ 90H,port2 ỏ địa chỉ A0H và port 3 ỏ địa chỉ B0H.Tất cả các port dều đợc địa chỉ hoá tùng bit .Điều đó cung cấp một khả năng giao tiếp thuận lợi. 2.Các thanh ghi TIMER: 8051 chứa 2 bộ định thời đếm 16bit đợc dùng trong việc định thời hoạc đém sự kiện.Timer0 ở địa chỉ 8AH(TLO:byte thấp) và 8CH (THO:byte cao)Timer1 ở địa chỉ 8BH (TL1 byte thấp)và 8DH(TH1:byte cao).Việc vận hành của Timer đợc set bởi thanh ghi Timer MODE(TMOD)ở địa chỉ 89H cà thanh ghi điều khiển timer(TCON)ở địa chỉ 88H.Chỉ có TCON đợc địa chỉ hoá từng bit. 3.Các thanh ghi Port nối tiếp: 8051 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, Modern hoặc cho việc giao tiếp với các IC khác có giao tiếp nối tiếp (có bộ chuyển đổi A/D,các thanh ghi dịch ). Một thanh ghi gọi la bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ dữ cả hai vai trò truyền và nhận dữ liệu.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 diều khiển Port nối tiếp (SCON) đợc dịa chỉ hoá từng bit ở địa chỉ 98H. 4.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 thanh ghi cho phép ngắt (IE) ở địa chỉ 8AH. Cả hai thanh ghi đợc địa chỉ hoá từng bit. 5.Hoạt động của bộ định thời(timer) 8051 có 3 timer 16 bit, mỗi timer có 4 cá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 A :Thanh ghi chế độ timer(TMOD) Thanh ghi TMOD chứa 2 nhóm 4bit dùng để đặt chế dộ làm việc cho timer0 và timer1. 9 Trng HCN H Ni Khoa in t B 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 0 và timer 1. Bit Ký hiệu địa chỉ Mô tả TCON.7 TF1 8FH Cở báo tràn TIMER 1. Đợc đặt bởi phần cứng, khi tràn đợc xóa bằng phần mềm, hay phần cững khi bộ xử lý chỉ đến chơng trình phục vụ ngắt TCON.6 TR1 8EH Bit điều khiển timer 1 chạy, đặt và xóa bằng phần mềm. TCON.5 TF0 8DH Cờ báo tràn Timer 0, tơng tự nh Timer 1. TCON.4 TR0 8CH Bit điều khiển chạy cho Timer 0. đặt xóa bằng phần mềm. TCON.3 IE1 8BH Cờ báo ngắt 1 bên ngoài. TCON.2 IT1 8AH Cờ ngắt do Timer 1 TCON.1 IE0 89H Cờ báo ngắt do Timer 0 TCON.0 IT0 88h Cờ ngắt do Timer 0 C. Các chế độ timer. 10 [...]... Các ngắt của 8051: Các ngắt Timer Các ngắt cổng nối tiếp Các ngắt ngoài Chơng II Bộ hen giờ cho rơle hiển thị bằng led 7 đoạn 13 Trng HCN H Ni Khoa in t - I Các thiết bị sử dụng trong mạch: Rơle: sử dụng rơle 12 vôn DC để kích mở cho rơle này, cần một transistor mở cho rơle này, sử dụng C828 để kích mở Role này Led 7 thanh: dùng để hiển thị thời gian... tần chúng ta có tần số xung nhịp của một chu kỳ máy là 1/1000ms Nạp hệ số chia của timer 1 là -1000, chúng ta có hàm trễ 1ms để làm hàm hiển thị cho 8 led 7 đoạn Cộng với tốc độ tràn của timer 0 ta có bộ đếm lùi thời gian với chu kỳ là 1/10s Trên hệ thống có nút chỉnh thời gian tăng hoặc giảm giờ, phút, giây Kết thúc việc chỉnh thời gian là bắt đầu đếm lùi thời gian cho tới khi về 0 Khi đó, Rơle sẽ đợc... } gio_phut_giay (); TR1 =1; } 22 Trng HCN H Ni Khoa in t - Chơng III Kết luận Với sản phẩm bộ hẹn giờ này, u điểm là có thể lập trình đợc đơn giản cho chip Nhng nhợc điểm của sản phẩm này vẫn còn: 1- thời gian chạy cha chính xác 2- bộ hiển thị vẫn còn nháy 1 chút và sáng mờ Dựa vào những nhợc điểm này, ta có thể cảI tiến bằng cách: dùng hệ điều hành... 9DH -Bit 2 của chế độ 2 nối tiếp Cho phép truyền thông đa xử lý trong các chế độ 2 và 3 ,RI sẽ không bị tác động Nếu bit thứ 9 thu đợc bằng 0 SCON.4 REN 9CH -cho phép thu (đặt bằng 1) SCON.3 TB8 9BH -bit 8 phát bit thứ 9 đợc phát các chế độ 2 và 3 -bit 8 thu bit thứ 9 SCON.2 RB8 9AH SCON.1 TI -cờ ngắt phát ,đặt lên 1 khi kết thúc phát 99H -cờ ngắt thu ,đặt lên 1 khi kết thúc nhận SCON.0 RI 98H Bảng... và NO của rơle để điều khiển thiết bị điện Đồng hồ chạy liên tục cho tới khi phím MENU có sự thay đổi trạng thái, tức là có sự tác động Chơng trình điều khiển của mạch viết bằng phần mềm Kiel C 16 Trng HCN H Ni Khoa in t - II- LƯU Đồ THUậT TOáN: Khởi tạo timer 1 cho hàm đếm số lần tràn, phục vụ hàm trừ thời gian Timer 0 cho hàm trễ sai Không bấm Kiểm... thời gian Timer 0 cho hàm trễ sai Không bấm Kiểm tra trạng thái nút menu Kiểm tra giờ, phút, giây, 1/10 giây=0? Có bấm Cấm ngắt bằng timer 1 Tăng biến vị trí (VT) đún g Cấp nguồn cho cuộn hút Rơle, đồng thời bật đèn báo đã hết giờ VT=1-Chỉnh giờ VT=2-Chỉnh phút VT=3-chỉnh giây Tăn g giả m VT=4-chỉnh 1/10 giây VT=5: bắt đầu cho phép ngắt = timer 1 bắt đầu ( tiếp tục) đếm lùi thời gian 17 Trng HCN H Ni... dụng led 7 thanh kép gồm 4 led đơn gắn trên cùng một con led gọi là MPX4-CA để hiển thị led 7 thanh Nguyên lý hiển thị quét led: để điều khiển cho n led 7 đoạn, ta sử dụng n đờng dây điều khiển việc cấp nguồn cho các led và 8 đờng dây dữ liệu chung cho tất cả các led( 7 đờng nếu không cần dấu chấm) Việc hiển thị đợc thực hiện bằng cách lần lợt cấp nguồn cho từng led và đa số liệu tơng ứng của led đó... chế độ khác Giới hạn duy nhất là cờ báo tràn TF1 không còn bị tác động khi timer 1 bị tràn vì nó đẫ đợc nối tới TH0 11 Trng HCN H Ni Khoa in t - Khi timer 0 ở chế độ 3 có thể cho timer 1 chạy và ngng bằng cách chuyển nó ra ngoài và vào chế độ 3 Nó vẫn có thể đợc sử dụng bằng port nối tiếp nh bộ tạo tốc độ baund hoặc nó có thể đợc sử dụng bằng bất cứ... dụng tran A1015 để kích cho tran sang ( cấp nguồn gián tiếp qua tran) 14 Trng HCN H Ni Khoa in t - 15 Trng HCN H Ni Khoa in t - Nguyên lý hoạt động: dựa vào một trong ba nội dung cơ bản của Vi điều khiển là Timer -bộ định thời Dựa vào tần số xung nhịp của thạch anh là 12Mhz, qua các bộ chia tần chúng ta... - } } void set_time (void) // dat gia tri ban dau cho cac led 7 thanh { gio = 1; giay1=5; phut = 1; giay = 10; k =0; vi_tri = 0 ; IE = 0X88; / /CHO PHEP NGAT BANG TIMER 1 TMOD = 0X10; //EA = 1 ; TH1 = -1000/256; TL1 = -1000%256; TR1 = 1 ; TF1 = 1 ; } void delay_ms (unsigned int time) //ham tre cho quet led { unsigned int i; for (i=time;i>0;i ) {TMOD=0X01; TH0=-1000/256; TL0=-1000%256; . Trng HCN H Ni Khoa in t Bộ CÔNG THƯƠNg Trờng đại học công nghiệp hà nội Khoa điện tử đồ án môn: Vi điều khiển Đề tài: Thiết kế bộ hẹn giờ cho một thiết bị Sinh viên thực hiên: Cao Xuân. trình bày sản phẩm của nhóm chúng em dựa trên những kiến thức mà đã đợc học : Thiết kế bộ hẹn giờ cho một thiết bị. Sẽ không thể tránh khỏi thiếu sót và điều cha đợc về sản phẩm của mình. Rất mong. II Bộ hen giờ cho rơle hiển thị bằng led 7 đoạn 13 Trng HCN H Ni Khoa in t I. Các thiết bị sử dụng trong mạch : Rơle: sử dụng rơle 12 vôn DC. để kích mở cho rơle này, cần một transistor mở cho

Ngày đăng: 04/10/2014, 08:56

Từ khóa liên quan

Mục lục

  • Ch­¬ng I

    • I.Giíi thiÖu chung vÒ bé vi ®iÒu khiÓn:

      • H×nh 1.1 : S¬ ®å khèi 89s52

Tài liệu cùng người dùng

Tài liệu liên quan