Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
2,36 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ ĐIỆN TỬ ` ĐỒ ÁN 2 ĐỀ TÀI : GVHD: TRẦN NGUYÊN BẢO TRÂN SVTH: NGUYỄN THẾ PHƯỚC NGUYỄN MINH THIỆN LỚP: CĐĐT 7A TP.HCM, THÁNG 1 NĂM 2008 NHẬN XÉT CỦA GIÁO VIÊN HƯƠNG DẪN ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………… CHỮ KÝ CỦA GIÁO VIÊN HƯỚNG DẪN ngày tháng năm 2008 LỜI NÓI ĐẦU Lời đầu tiên em xin cảm ơn thầy cô giáo chuyên ngành điện tử, cảm ơn thầy Trần Nguyên Bảo Trân đã hướng dẫn tận tình chúng em trong quá trình thực hiện đồ án này. Thực tế ngày nay, tất cả các thiết bò điện tử điều được tích hợp, được đơn giản hoá đi nhờ vào chip vi điều khiển. Đồng hồ là một thiết bò tối cần thiết trong một xã hội công nghiệp. ng dụng vi điều khiển để làm một đồng hồ thời gian thực là một đề tài rất hấp dẫn đối với chúng em. Đồng hồ thời gian thực là một thiết bò ,vận dụng rất phổ biến,được sử dụng rộng rãi với nhiều chức năng hiện đại nhỏ gọn. .Tuy nhiên để làm được một đồng hồ như thế đòi hỏi người thiết kế phải có một kiến thức khá tổng quát và áp dụng được nhiều kiến thức chuyên môn đã học. Do kiến thức còn hạn hẹp và trình độ về chuyên môn còn hạn chế nên sẽ khó tránh khỏi những thiếu xót,khiết điểm.rất mong được sự đóng góp ý kiến và chỉ bảo nhiệt tình từ phía các thầy cô để đề tài được hoàn thiện hơn. Tp.HCM, Tháng 1 năm 2008 MỤC LỤC Nhận xét của giáo viên hướng dẫn Lời nói đầu Mục lục Phần 1: Lý thuyết thiết kế I. Giới thiệu khái quát về 89c51 II. Giới thiệu về IC thời gian thực DS12C887 Phần 2: Thiết kế và thi công I. Sơ đồ nguyên lý II. Sơ đồ bố trí linh kiện và sơ đồ mạch in III. Lưu đồ giải thuật IV. Chương trình Phần 3: I. Tài liệu tham khảo II. Lời kết Phần 1: Lý thuyết thiết kế I.Giới thiệu khái quát về 89C51 1. Cấu trúc bên trong của IC 89C51. + Thành phần chính của vi điều khiển 8051 la bộ xử lý trung tâm hay con gọi là CPU. CPU bao gồm: - Thamh ghi tích luỹ A - Thanh ghi tích luỹ B, dùng cho phép nhân và chia - Đơn vò logic học ALU - Từ trạng thái chương trình PSW - 4 bank 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 + Đơn vò xử lý trung tâm nhận trực tiếp xung từ bộ dao động + Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ở bên trong. Các nguồn ngắt có thể là các biến cố ở bên ngoài, sự tràn bộ đếm đònh thời hoặc cũng có thể là giao diện nối tiếp. + 2 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 được sử dụng vào mục đích điều khiển, ở cổng port 3 có thêm các đường dẫn điều khiển dùng để trao đổi với một bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp cũng như các đường dẫn ngắt 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 dải rộng và được ấn đònh bằng một bộ đònh thời. + Trong vi diều khiển 8051 còn có hai thành phần quan trọng khác là bộ nhớ và các thanh ghi +Bộ nhớ còn có Ram và Rom dùng để lưu dữ liệu và mã lệnh. + Các thanh ghi sử dụng để lưu dữ thông tin trong quá trình xử lý. Khi CPU làm việc, nó làm thay đôỉ nội dung của các thanh ghi 2.phần cứng: Đặc điểm và chức năng hoạt động của các IC họ MSC- 51 hoàn toàn tương tự nhau, ở đây ta giới thiệu 89c51 với các đặc điểm chính sau: - 4KB EPROM nội - 128 byte RAM nội - 4 port xuất / nhập (I/O port) 8 bit - 2 bộ đònh thời 16 bit - Giao tiếp nối tiếp - 64kb Rom ngoài - 64kb Ram ngoài - 210 vò trí nhớ để đònh vò bit, mỗi vò trí một bit 4us cho hoạt động nhân hoặc chia 3. Sơ đồ chân 89c51: - port 0: có hai chức năng từ chân 32 đến chân 39 trong các thiết kế nhỏ. (không dùng bộ nhớ mở rộng). 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. U 1 AT 8 9 C51 9 18 19 20 29 30 31 40 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RS T XT AL2 XT AL1 GND P S EN ALE/PROG EA/VP P VCC P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0 /A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6 /A14 P2.7/A15 P3.0 /RXD P3.1/T XD P3.2/INT 0 P3.3/INT 1 P3.4/T 0 P3.5/T 1 P3.6 /WR P3.7/RD P0 .0 /AD0 P0 .1/AD1 P0 .2/AD2 P0 .3/AD3 P0 .4/AD4 P0 .5/AD5 P0 .6 /AD6 P0 .7/AD7 - Port 1: là port I/O trên các chân từ chân số 1 đến chân số 8. có thể dùng các thiết bò ngoài nếu cần. Port 1 không có chức năng khác vì thế chúng ta chỉ được dùng trong các thiết bò ngoài. - Port 2: là port công dụng kép trên các chân 21 đến 28 được dùng như các đường xuất nhập hoặc byte cao của bus đòa chỉ đối với các thiết kế mở rộng. - Port 3: là port công dụng kép trên các chân 10 đến chân 17. Các chân cûa port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tín đặc biệt của 8051/8031 như ở bảng sau: Bit Tên Chức năng chuyển đổi 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 0 bên ngoài P3.3 INT1 Ngắt 1 bên ngoài P3.4 T0 Ngõ vào của timer/courter 0 P3.5 T1 Ngõ vào của timer/courter 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 + Chân PSEN: là chân 29, có 4 tín hiệu điều khiển, là tín hiệu để cho phép bộ nhớ chương trình mở rộng và thường được nối lên chân OE của một Eprom để cho phép đọc các byte mã lệnh. PSEN ở mức thấp trong thời gian lấy lệnh. Các mã nhò phân của chương trình được đọc từ Eprom qua bus và được chốt vào thanh ghi lệnh của 8051 để giải mã lệnh. Khi thi hành chương trình trong Rom nội PSEN sẽ thụ động (mức cao). + Chân ALE: (chốt) Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bò làm việc với các xử lý 8585,8088,8051 dùng ALE một cách tương tự cho làm việc giải các kênh các Bus đòa chỉ và dữ liệu khi port 0 được dùng trong chế đọ chuyển đổi của nó: vừa là Bus dữ liệu vừa là byte thấp của đòa chỉ, ALE là tín hiệu để chốt đòa chỉ vào vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó các đương port 0 dùng để xuất hoặc nhập dữ liệu trong nửa sau của chu kỳ bộ nhớ. Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chíp và có thể được làm xung nhòp cho các hệ thống. Nếu xung trên 8051 là 12MHZ thì ALE có tần số 2MHZ. Chỉ ngoại trừ khi thi hành lệnh Movx, một xung ALE bò mất. Chân này cũng được làm ngõ vào cho xung lập trình cho Eprom trong 8051. + Chân EA: (truy xuất ngoài):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, 8051 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 chi được thi hành từ bộ nhớ mở rộng. Khi dùng 8031, EA luôn được nối ở mức thấp vì không có bộ nhớ chương trình trên chíp. Nếu EA được nối ở mức thấp bộ nhớ bên trong chương trình 8051 sẽ bò cấm và thi hành chương trình Eprom mở rộng. Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho Eprom trong 8051. + Chân RST(reset): Khi tín hiệu này được đưa lên mức cao(ít nhất phải 2 chu kỳ máy), các thanh ghi trong 8051 được tải những giá trò thích hợp đẻ khởi động hệ thống. + Các ngõ vào bộ dao động trên chip: Như đã thấy ở các hình trên,8051 có bộ dao động trên chip. Nó thường được nối với thạch anh gia hai chân 18 và 19. Các tụ giữa cũng cần thiết như đã vẽ. Tần số thạch anh thông thường là 12MHZ + Các chân nguồn: 8051 vận hành với nguồn đơn +5V(VCC) được nối vào chân 40 và chân 20 được nối GND II. Giới thiệu về IC thời gian thực DS12C887 1. Sơ đồ chân chư sau: U1 DS128 8 7 19 23 24 12 4 5 6 7 8 9 10 11 14 17 1 18 15 13 IRQ SQW VCC GND A D0 A D1 A D2 A D3 A D4 A D5 A D6 A D7 AS DS MOT RST R/W CS AD0-AD7: Bus đa hợp đòa chỉ/dữ liệu. NC: Bỏ trống. MOT: Lựa chọn loại Bus. CS: Ngõ vào lựa chọ RTC AS: chốt đòa chỉ. R/ W: Ngõ vào đọc ghi. DS: Chốt dữ liệu. RESET: Ngõ vào reset. IRQ: Nhõ ra yêu cầu ngắt. SQW: Ngõ ra sóng vuông. VCC: Nguồn cung cấp +5V. GND: Mass 2. Chức năng các chân: - GND, VCC: nguồn cung cấp cho thiết bò ở những chân trên. Vcc là điện áp ngõ vào +5v. Khi điện áp 5v được cung cấp đúng chuẩn, thiết bò được truy cập đầy đủ và dữ liệu có thể đọc và ghi. - MOT: là chân có tính linh hoạt để lựa chọn giữa hai loại Bus. Khi được nối lên Vcc, Bus đònh thời Motorola được lựa chọn. Khi được nối xuống GND hoặc không nối, Bus đònh thời Intel được lựa chọn. Chân có điện trở kéo xuống bên trong có giá trò khoảng 20K. - SQW: có thể xuất tín hiệu ra từ 1 trong 13 loại được cung cấp từ 15 trạng thái được chia bên trong của RTC. Tần số của chân SQW có thể thay đổi bằng cách lập trình thanh ghi A. Tín hiệu SQW có thể mở hoặc tắt khi ta sử dụng bit SQWE trong thanh ghi B. Tín hiệu SQW không xuất hiện khi khi Vcc thấp hơn 4.25v - AD0-AD7: Bus đa hợp tiết kiệm chân bơi vì thông tin đòa chỉ và thông tin dữ liệu được dùng chung đường tín hiệu. Cùng tại nhưng chân, đòa chỉ được suất trong suốt phần thứ 1 của chu kỳ Bus và được dùng cho dữ liệu trong phần thứ 2 của chu kỳ. Đa hợp đòa chỉ/ dữ liệu không làm chậm thời gian truy cập của DS12C887 khi bus chuyển từ đòa chỉ sang dữ liệu xảp ra trong suốt thời gian truy cập Ram nội. Đòa chỉ phải có giá trò trước khi xuất hiện sườn xuống của AS/ALE tại thời điểm mà DS12C887 chốt đòa chỉ từ AD0 tới AD7. Dữ liệu phải được hiển thò và giữ ổn đònh trong suốt phần sau của DS hoặc xung WR. Trong chu kỳ đọc của DS12C887 ngõ ra 8 bit của dữ liệu trong suốt phần sau của DS hoặc xung RD. Chu kỳ đọc được thục hiện xong và Bus trở về trạng thái tổng trở cao cũng như khi DS bắt đầu xuống thấp trong trường hợp đònh thời Motorola hoặc khi RD lên cao trong trường hợp đònh thời Intel. - AS: xung dương cung cấp xung chốt đòa chỉ trong việc phức hợp Bus. Sườn xuống của AS/ ALE làm cho đòa chỉ bò chốt lại bên trong của DS12C887. Sườn lên tiếp theo khi xuất hiện trên Bus AS sẽ bò xoá đòa chỉ bất chấp chân CS có được chọn hay không. Lệnh truy cập có thể gửi tới bằn cả hai cách. - DS: chân DS/ RD có hai kiểu sử dụng tuỳ thuộc vào mức của chân MOT. Khi chân MOT được nối lên Vcc, Bus đònh thời Motorola được lựa chọn. Trong kiểu này DS là xung dương trong suốt phần sau của chu kỳ Bus và được gọi là Data Strobe. Trong suốt chu kỳ đọc, DS báo hiệu thời gian mà DS12C887 đựoc điều khiển bus đôi. Trong chu kỳ đọc, xung quét của DS là nguyên nhân làm DS12C87 chốt dữ liệu được ghi. Khi chân MOT được nối xuống GND, Bus đònh thời Intel được lựa chọn. Trong kiểu này, chân DS được gọi là Read(RD) xác đònh chu kỳ thời gian khi DS12C887 điều khiển bus đọc dữ liệu. Tín hiệu RD có cùng đònh nghóa với tín hiệu OE trong bộ nhớ riêng. - R/ W: có hai cách hoặt động. Khi chân MOT được kết nối lên Vcc cho chế độ đònh thời Motorola, R/ W đang ở chế độ chỉ ra hoặc là chu kỳ hiện tại là chu kỳ đọc hoặc ghi. Chu ky đòi hỏi chân R/ W phải ở mức cao khi chân DS ở mức cao. Chu kỳ đòi hỏi chân R/W ở mức thấp trong suốt quá trình chốt tín hiệu của DS. Khi chân MOT được nối GND cho chế độ đònh thời Intel, tín hiệu R/ W là tín hiệu hoạt động mức thấp được gọi là WR. Trong chế độ này chân R /W được đònh nghóa như tín hiệu Write Enable trong Ram chung. - CS: tín hiệu lựa chọn phải đựoc xác đònh ở mức thấp ở chu kỳ bus để DS12C887 được sử dụng. CS phải được giữ trong trạng thái hoạt động rtong suốt DS và AS của chế độ đònh thời Motorola và trong suốt RD và WR của chế độ đònh thời Intel. Chu kỳ bus khi chọn vò trí mà không chọn CS sẽ chốt đòa chỉ nhưng sẽ không có bất kỳ sự truy cập nào. Khi Vcc thấp hơn 4.25Volts, chức năng bên trong của DS12C887 ngăn chặn sự truy cập bằng cáchkhông cho phép llựa chọn nhõ vào CS. Hành động này [...]... lòch và báo giờ phải sử dụng cùng kiểu dữ liệu Bit được đặt ở thanh ghi B nên được xoá sau khi bit kiểu dữ liệu đã được ghi để cho phép đồng hồ thời gian thực cập nhật byte thời gian và lòch Vào lúc đầu đồng hồ thời gian cập nhật ở một kiểu đã được lựa chọn Kiểu dữ liệu không thể thay đổi mà không khởi động lại 10 byte dữ liệu Bảng sau trình bày đònh dạng nhò phân và BCD của thời gian lòch và báo giờ. .. thanh ghi giờ Khi đònh dạng kiểu 12 giờ được chọn bit cao của byte giờ tương ứng với PM khi nó được đặt ở mức logic 1 Byte thời gian lòch và byte báo giờ luôn được truy cập bởi vì chúng được đệm gấp đôi, mỗi giây một lần 11byte được nâng cấp và được kiểm tra tình trạng báo giờ Nếu lệnh đọc dữ liệu thời gian và lòch diễn ra trong quá trình cập nhật, một vấn đề phát sinh là có thể thời gian giờ, phút,... thực, lòch, dữ liệu báo giờ và 4 byte được sử dung cho việc điều khiển và thông báo tình trạng Tất cả 128 byte có thể được ghi hoặc đọc trực tiếp từ nhữnh trường hợp sau: - Thanh ghi C và D là hai thanh ghi chỉ đọc - Bit thứ 7 của thanh ghi A là bit chỉ đọc - Bit cao của byte thứ hai là bit chỉ đọc Thời gian và đã có bằng cách đọc các byte bộ nhớ hiện co Thời gian, lòch và báo giờ được đặt hoặc gán giá... thích hợp Nội dung của 10 byte chứa thời gian lòch và báo giờ đều có thể hiển thò ở hai dạng nhò phân hoặc BCD Trước khi ghi lên các thanh ghi thời gian , lòch và báo giờ bên trong, bit SET ở thanh ghi B phải được đặt ở mức 1 để ngăn ngừa sự cập nhật có thể xảy ra trong quá trình ghi đè Thêm vào nữa là đẻ ghi lên 10 thanh ghi chỉ thời gian, lòch và báo giờ ở một đònh dạng đã lựa chọn(BCD hay nhò phân),... ngõ ra mở và yêu cầu một điện trở kéo lên bên ngoài - RESET: không hiệu lực đối với lòch, đồng hồ hoặc Ram Ở chế độ cấp nguồn, chân reset có thể bò kéo xuống trong thời gian cho phép đẻ ổn đònh nguồn cung cấp 3 Cấu trúc bên trong của DS12C887 a.sơ đồ đòa chỉ của Real time clock Sơ đồ đòa chỉ của DS12C887 được trình bày bao gồm 113 byte Ram thông dụng, 11 byte Ram mà thành phần bao gồm đồng hồ thời gian... đọc và không bò ảnh hưởng bởi chân reset Khi ghi bit SET ở thanh ghi B lên mức 1 để ngăn chặn quá trình cập nhật và xoá bit trạng thái UIP + DV2, DV1, DV0: 3bit trên được sử dụng để bật tắt bộ dao động và cài đặt lại quá trình đếm xuống Khi được đặt 010 thì đó là sự kết hợp duy nhất để bật bộ dao động lên và cho phép RTC giữ thời gian Khi được đặt 11X sẽ cho phép bộ dao động nhưng giữ quá trình đếm. .. trong thanh ghi C để điều khiển chân IRQ\ xuống mức thấp tuỳ thuộc vào tỉ lệ phân bố của RS3 đén RS0 ở thanh ghi A - AIE: Bit cho phép ngắt báo giờ, là bit đọc ghi mà khi được đặt lên 1 nó cho phép bit cờ báo giờ( AF) ở thanh ghi C để cho phép ngắt IRQ\ Tín hiệu ngắt báo giờ diễn ra ở tất cả các giây khi cả 3 byte báo giờ chứa mã báo giờ được thể hiện ở nhò phân như sau 11XXXXXX Các chức năng bên trong... một lúc và cùng một loại - Không kích hoạt cả hai Bảng sau liệt kê chu kỳ ngắt với tần số sóng vuông mà có thể lựa chọn với bit RS Cả 4 bit đọc ghi và không bò ảnh hưởng bởi chân reset - Thanh ghi B: BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 SET PIE AIE UIE SQWE DM 24/12 DSE - SET: Khi bit SET ở mức 0, thông thường quá trình cập nhật bằng cách tăng biến đếm 1 lần một giây Khi bit SET được lên vào mức...nhằm bảo vệ cả dữ liệu của đồng hồ thời gian thực bên trong cung như dữ liệu Ram trong suốt quá trình mất nguồn - IRQ: là ngõ ra hoạt động mức thấp, có thể sử dụng ngõ vào ngắt tới bộ vi xử lý.Ngõ ra IRQ\ ở mức thấp khi bit là nguyên nhân làm ngắt và phù hợp với bit cho phép ngắt được đặt(set) Để xoá chân IRQ\ chương trình của bộ vi xử lý thông thường được đặt ở thanh ghi C Chân Reset... đọc ghi và được xoá khi Reset SQWE được đặt lên 1 khi được cấp Vcc - DM: Bit kiểu dữ liệu qui đònh khi nào là thông tin lòch và thời gian ở đònh dạng nhò phân hoặc BCD Bit DM được đặt bởi chương trình có thể đònh dạng thích hợp và có thẻ đọc khi được yêu cầu Bit này không bò thay đổi khi Reset Mức 1 của DM sẽ hiển thò dữ liệu nhò phân, mức 0 hiẻn thò dữ liệu BCD - 24/ 12: Bit xác đònh kiểu byte giờ Khi . thái ho c không cho phép xuất tín hiệu chia ra ngoài. Loại được lựa chọn có thể phát ra sóng vuông(chân SQW) ho c ngắt theo chu kỳ. Người sử dụng có thể sử dụng một trong những cách sau: - Cho. ghi và không chòu ảnh hưởng bởi Reset ho c các chức năng bên trong của DS12C887. - PIE: Bit cho phép ngắt theo chu kỳ, là bit đọc ghi, nó cho phép bit cờ ngắt theo chu kỳ trong thanh ghi C để điều. ngoài - 64kb Ram ngoài - 210 vò trí nhớ để đònh vò bit, mỗi vò trí một bit 4us cho ho t động nhân ho c chia 3. Sơ đồ chân 89c51: - port 0: có hai chức năng từ chân 32 đến chân 39 trong các thiết kế