Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
2,21 MB
Nội dung
ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG CHƯƠNG DẪN NHẬP 1.1 ĐẶT VẤN ĐỀ Trong giai đoạn với vượt bật công nghệ nano hàng loạt IC chế tạo Những IC thông minh nhiều so với IC trước đặt biệt ghi /xóa liệu cách dễ dàng Vì sử dụng nhiều thiết bi Điện-Điện Tử ngày thể chất ưu việt Điển hình dòng IC 8051/8052 Với đời dòng IC làm thúc đẩy phát triển IC thời gian thực DS1307,DS12887…nó có chức đếm thời gian thực mà người sử dụng,các IC cảm biến nhiệt lm35,adc 0804 giao tiếp với vi xử lý để đo nhiệt độ Cùng với phát triển khoa học-kỹ thuật góp phần nâng cao đời sống người.cũng mà cao người phải biết xác thời gian để xếp công việc cách hợp lý Xuất phát từ thực tiễn em định chọn đề tài “thiết kế lịch vạn niên” Nhằm đáp ứng nhu cầu học hỏi thân,cũng góp phần nâng cao mach điện tử đời sống cao người 1.2 GIỚI HẠN CỦA ĐỀ TÀI Do kiến thức có hạn nên em thiết kế lich vạn niên chạy với thông số cài đặt ban đầu cho DS1307 ta hiệu chỉnh thời gian cho hoạt động.và cài đặt thời gian báo thức 1.3 MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI Trong đề tài em xử dụng IC thời gian thực (ds1307 ) kết hợp với vi điều khiển 89C52 để tạo thành giao diện I2C,89C52 có nhiệm vu đọc/ghi giờ,phút,giây,thứ,ngày,tháng,năm từ chip DS1307 Ngoài mach sử dụng cảm biến nhiệt(lm35),ngõ cảm biến đưa qua biến đổi tương tự SVTH: HUỲNH DUY NHÃ 10 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG sang số(ADC0804),dữ liệu 89C52 đọc từ ADC0804 kết hiển thị led đoạn Từ suy mục đích yêu cầu đề tài: Mạch hiển thị giờ,phút,giây,thứ,ngày,tháng,năm cách xác Đo nhiệt độ hiển thị led đoạn Giá thành sản phẩm không đắc Dựa vào yêu cầu đề tài phân làm khối: Khối A: đo nhiệt độ hiển thị led đoạn Khối B: đồng hồ thời gian thực hiển thị led đoạn SVTH: HUỲNH DUY NHÃ 11 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG CHƯƠNG II:CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu vi điều khiển 89C52 2.1.1 Tổng quan 89C52 AT89C52 họ IC hãng INTEL sản xuất Các sản phẩm AT89C52 thích hợp cho ứng dụng điều khiển.Việc xử lý byte toán số học cấu trúc liệu nhỏ thực bẳng nhiểu chế độ truy xuất liệu nhanh ram nội Tập lệnh cung cấp bảng tiện dụng lệnh số học bit gồm lệnh nhân lệnh chia Nó cung cấp hỗ trợ mở rông chip dùng cho biến bit kiểu liệu riêng biệt cho phép quản lý kiểm tra bit trực tiếp hệ thống điều khiển AT89C52 cung cấp đặc tính chuẩn như: -8Kbyte ngớ lập trình,có khả tới 1000 chu kỳ ghi/ xóa -Tần số hoạt động từ 0HZ đến 24HZ -3 mức khóa nhớ lập trình -3 timer/counter 16 bit -128 byte Ram nội -4 port xuất nhập I/O bit -giao tiếp nối tiếp -64KB vùng nhớ mã -4us cho hoạt động nhân chia 2.1.2 Mô tả chân 89C52 2.1.2.1 Sơ đồ chân 89C52 Mặc dù thành viên họ 8051(ví dụ 8751,89C52,89C51,ds500)đều có kiểu đóng khác nhau,chẳng hạng hai hàng chân DIP,dạng vỏ dep vuông QPF dạng chip chân đỡ LLC chúng có 40 chân cho SVTH: HUỲNH DUY NHÃ 12 phiên 8051 có 20 chân với số cổng vào cho ứng dụng yêu cầu thấp hơn.Tuy nhiên hầu hết nhà phát triển sử dụng chíp đóng vỏ 40 chân với hàng chân DIP nên ta tập trung mô tả phiên 2.1.2.2 Chức chân 89C52 Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7) Port có chức năng: thiết kế cỡ nhỏ không dùng 19 18 31 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 21 22 23 24 25 26 27 28 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 10 11 12 13 14 15 16 17 P3.0/RXD P1.0/T2 P1.1/T2-EX P3.1/TXD P3.2/INT0 P1.2 P1.3 P3.3/INT1 P1.4 P3.4/T0 P1.5 P3.5/T1 P1.6 P3.6/WR P1.7 P3.7/RD XTAL1 XTAL2 EA/VPP RST AT89C52 30 29 ALE/PROG PSEN GND liệu ngắt, cần phải lưu ý số hãng cung cấp 39 38 37 36 35 34 33 32 VCC U1 chức khác vào I/O,đọc,ghi,địa 40 GVHD: NGUYỄN VĂN TRUNG 20 ĐỒ ÁN TỐT NGHIỆP nhớ mở rộng có chức đường IO, thiết kế lớn có nhớ mở rộng kết hợp bus địa bus liệu Port 1: từ chân đến chân (P1.0 _ P1.7) Port port IO dùng cho giao tiếp với thiết bị cần Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7) Port port có tác dụng kép dùng đường xuất nhập byte cao bus địa thiết bị dùng nhớ mở rộng Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7) Port port có tác dụng kép Các chân port có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến đặc tính đặc biệt 8051 bảng sau : SVTH: HUỲNH DUY NHÃ 13 ĐỒ ÁN TỐT NGHIỆP Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 GVHD: NGUYỄN VĂN TRUNG Tên Chức chuyển đổi RXD TXD INT0 INT1 T0 T1 WR RD Ngõ vào liệu nối tiếp Ngõ xuất liệu nối tiếp Ngõ vào ngắt cứng thứ Ngõ vào ngắt cứng thứ Ngõ vào TIMER/ COUNTER thứ Ngõ vào TIMER/ COUNTER thứ Tín hiệu ghi liệu lên nhớ Tín hiệu đọc nhớ liệu PSEN (Program store enable): PSEN tín hiệu ngõ có tác dụng cho phép đọc nhớ chương trình mở rộng thường nối đến chân OE\ Eprom cho phép đọc byte mã lệnh PSEN mức thấp thời gian 8051 lấy lệnh Các mã lệnh chương trình đọc từ Eprom qua bus liệu, chốt vào ghi lệnh bên 8051 để giải mã lệnh Khi 8051 thi hành chương trình ROM nội PSEN mức cao ALE (Address Latch Enable): Khi 8051 truy xuất nhớ bên ngoài, Port có chức bus địa liệu phải tách đường liệu địa Tín hiệu ALE chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp đường địa liệu kết nối chúng với IC chốt Tín hiệu chân ALE xung khoảng thời gian port đóng vai trò địa thấp nên chốt địa hoàn toàn tự động VCC EA\ (External Access): Tín hiệu vào EA\ chân 31 thường mắc lên mức mức Nếu mức 1, 8051 thi R2 220 C1 10uF SW1 Reset SVTH: HUỲNH DUY NHÃ 14 R1 10k ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG hành chương trình từ ROM nội Nếu mức 0, 8051 thi hành chương trình từ nhớ mở rộng Chân EA\ lấy làm chân cấp nguồn 21V lập trình cho Eprom 8051 RST (Reset): Khi ngõ vào tín hiệu đưa lên mức cao chu kỳ máy, ghi bên nạp 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 giá thị điện trở chọn là: R1 =10Ω,R2 = 220Ω, C = 10µF Các ngõ vào giao động :bộ giao động tích hợp bên 89C52.khi sử dụng cần nối them thạch anh 12M tu 33p SVTH: HUỲNH DUY NHÃ 15 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG 2.1.3 Sơ đồ khối bên 89C52 INT1 INT0 Timer Timer Timer Port noái tieáp Điều khiển ngắt Các ghi khác 128 byte RAM Timer Timer Timer MRO T2 T1 T0 CPU Oscillator Điều khiển bus Các port I/O Port nối tiếp EA RST P0 P2 PSEN P1 P3 TxD RxD ALE SVTH: HUỲNH DUY NHÃ 16 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG 2.1.4 Tổ chức nhớ bên SVTH: HUỲNH DUY NHÃ 17 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG RAM bên phân chia sau Các Bank ghi có địa từ 00H đến 1FH RAM địa hóa bit có dia từ 20H đến 29H Ram đa dụng từ 30H đến 7FH Các ghi chức đặc biệt 2.1.4.1 RAM đa dụng Ram đa dụng có địa từ 30H đến 7FH truy xuất lần bit cách dung chế độ định địa trực tiếp gián tiếp Các vùng địa thấp từ 00H đến 2FH sử dụng cho mực đích 2.1.4.2 RAM định địa bit Vùng địa 20H-2FH gồm 16 byte thực vùng RAM đa dụng(truy xuất lần bit) hay truy xuất lần bit lệnh xử lý bit 2.1.4.3 Các bank ghi Vùng địa 00h-1Fh chia làm bank ghi:back từ 00h07h,bank từ 08h -0Fh,bank từ 10h-17h bank từ 18h đến 1Fh.các bank ghi đại diện ghi từ R0 đến R7.sau khởi động hệ thống bank sử dụng Do có bốn bank ghi nên thời điểm có bank ghi truy xuất ghi R0 đến R7.việc thay đổi bank ghi thực th6ng qua ghi từ trạng thái chương trình(PSW) SVTH: HUỲNH DUY NHÃ 18 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG 2.1.4.4 Các ghi có chức đặc biệt Các ghi 89C52 d9ing5 dạng phần RAM chip ghi có địa chỉ(ngoại trừ ghi đếm chương trình ghi lệnh ghi bị tác đông trực tiếp) Cũng R0 đến R7,89C52 có 21 ghi có chức đặc biệt(SFR:Specil Function Resistor) vùng RAM nội từ địa 80H đến 0FFH 2.1.4.4.1 Thanh ghi trang thái chương trình(PSW: Program Status Word) BIT PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 KÝ HIỆU CY AC F0 RS1 RS0 ĐỊA CHỈ D7H D6H D5H D4H D3H PSW.2 PSW.1 PSW.0 0V P D2H D1H D0H MÔ TẢ Carry Flag Cờ phụ AC Cờ Bit chọn Bank ghi Bit chọn bank ghi 00=bank0 địa 00H-07H 01=bank1 dịa 08H-0FH 01=bank2 dịa 10H-17H 01=bank3 dịa 18H-1FH Cờ tàn Không mô tả Bit parity Chức bit trang thái chương trình -Cờ Carry CY(Carry flag ); Cờ nhớ thường dùng cho lệnh toán học : C=1 phép toán cộng có tràn phép trừ có mượn ngược lại C=0 phép cộng không tràn phép trừ không mượn -Cờ Carry phụ AC (Auxiliary Carry Flag): Khi cộng giá tri BCD(Binary Code Decimal),cờ phụ AC set kết bốn bit thấp nằm phạm vi điều khiển 0AH-0FH Ngược lại AC=0 SVTH: HUỲNH DUY NHÃ 19 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG MINUTE EQU 21H SECOND EQU 22H DAY EQU 23H DATE EQU 24H MONTH EQU 25H YEAR EQU 26H SQW_OUT EQU 27H BYTECOUNT EQU 28H BITCOUNT EQU 29H ORG 0000H LJMP MAIN MAIN: MOV R0,#1FH MOV R1,#00H MOV R2,#0FFH MOV R3,#00H MOV DPTR,#LED7S MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH CLR LAST MOV SECOND,#00H MOV MINUTE,#47H SVTH: HUỲNH DUY NHÃ 70 ĐỒ ÁN TỐT NGHIỆP MOV HOUR,#00H MOV DAY,#05H MOV DATE,#30H MOV MONTH,#06H MOV YEAR,#11H MOV SQW_OUT,#90H GVHD: NGUYỄN VĂN TRUNG MOV TMOD,#10H HERE: CALL READ_CLOCK CALL HIENTHI_2 JMP HERE SEND_START: SETB SDA SETB SCL CALL DELAY6US CLR SDA CALL DELAY6US CLR SCL CALL DELAY6US RET SEND_STOP: CLR SDA SETB SCL CALL DELAY6US SVTH: HUỲNH DUY NHÃ 71 ĐỒ ÁN TỐT NGHIỆP SETB SDA CALL DELAY6US CLR CALL GVHD: NGUYỄN VĂN TRUNG SCL DELAY6US RET SEND_BYTE: MOV BITCOUNT,#08H SEND_BYTE_LOOP: JNB ACC.7,LEVEL_LOW SETB SDA JMP SEND_BITS LEVEL_LOW: CLR SDA SEND_BITS: SETB SCL CALL DELAY6US CLR SCL RLA DJNZ BITCOUNT,SEND_BYTE_LOOP JB LAST,NOT_ACK1 ACK1: CLR SDA SETB SCL CALL DELAY6US CLR SCL SVTH: HUỲNH DUY NHÃ 72 ĐỒ ÁN TỐT NGHIỆP CALL GVHD: NGUYỄN VĂN TRUNG DELAY6US RET NOT_ACK1: SETB SDA ETB SCL CALL DELAY6US CLR SCL CALL DELAY6US RET READ_BYTE: MOV BITCOUNT,#08H MOV A,#00H SETB SDA READ_BITS: SETB SCL MOV C,SDA CALL DELAY6US RLC A CLR SCL CALL DELAY6US DJNZ BITCOUNT,READ_BITS JB LAST,NOT_ACK2 ACK2 : SVTH: HUỲNH DUY NHÃ 73 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG CLR SDA SETB SCL CALL DELAY6US CLR SCL CALL DELAY6US RET NOT_ACK2: SETB SDA SETB SCL CALL DELAY6US CLR SCL CALL DELAY6US RET READ_CLOCK: CALL SEND_START CLR LAST MOV A,#0D0H CALL SEND_BYTE SETB LAST MOV A,#00H CALL SEND_BYTE CALL SEND_STOP CALL SEND_START CLR LAST SVTH: HUỲNH DUY NHÃ 74 ĐỒ ÁN TỐT NGHIỆP MOV GVHD: NGUYỄN VĂN TRUNG A,#0D1H CALL SEND_BYTE CALL READ_BYTE MOV SECOND,A CALL READ_BYTE MOV MINUTE,A CALL READ_BYTE MOV HOUR,A CALL READ_BYTE MOV DAY,A CALL READ_BYTE MOV DATE,A CALL READ_BYTE MOV MONTH,A CALL READ_BYTE MOV YEAR,A SETB LAST CALL READ_BYTE MOV SQW_OUT,A CALL SEND_STOP RET WRITE_CLOCK: CALL SEND_START CLR LAST MOV A,#0D0H SVTH: HUỲNH DUY NHÃ 75 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG CALL SEND_BYTE MOV A,#00H CALL SEND_BYTE MOV A,SECOND CALL SEND_BYTE MOV A,MINUTE CALL SEND_BYTE MOV A,HOUR CALL SEND_BYTE MOV A,DAY CJNE A,#08H,TTD MOV A,#01H TTD: CALL SEND_BYTE MOV A,DATE CALL SEND_BYTE MOV A,MONTH CALL SEND_BYTE MOV A,YEAR SETB LAST CALL SEND_BYTE MOV A,SQW_OUT CALL SEND_BYTE CALL SEND_STOP RET SVTH: HUỲNH DUY NHÃ 76 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG HIENTHI_2: MOV A,HOUR ANL A,#0F0H SWAP A CALL READ CLR DIS3 SETB DIS3 CALL DELAY50US MOV A,HOUR ANL A,#0FH CALL READ CLR DIS4 SETB DIS4 CALL DELAY50US MOV A,MINUTE ANL A,#0F0H SWAP A CALL READ CLR DIS5 SETB DIS5 CALL DELAY50US SVTH: HUỲNH DUY NHÃ 77 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG MOV A,MINUTE ANL A,#0FH CALL READ CLR DIS6 SETB DIS6 CALL DELAY50US MOV A,SECOND ANL A,#0F0H SWAP A CALL READ CLR DIS7 SETB DIS7 CALL DELAY50US MOV A,SECOND ANL A,#0FH CALL READ CLR DIS8 SETB DIS8 CALL DELAY50US MOV A,DAY CJNE A,#08H,TTDD SVTH: HUỲNH DUY NHÃ 78 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG MOV A,01H TTDD: CALL READ CLR DIS9 SETB DIS9 CALL DELAY50US MOV A,DATE ANL A,#0F0H SWAP A CALL READ CLR DIS10 SETB DIS10 CALL DELAY50US MOV A,DATE ANL A,#0FH CALL READ CLR DIS11 SETB DIS11 CALL DELAY50US MOV A,MONTH ANL A,#0F0H SWAP A CALL READ CLR DIS12 SVTH: HUỲNH DUY NHÃ 79 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG SETB DIS12 CALL DELAY50US MOV A,MONTH ANL A,#0FH CALL READ CLR DIS13 SETB DIS13 CALL DELAY50US MOV A,#20 MOV B,#10 DIV AB CALL READ CLR DIS14 SETB DIS14 CALL DELAY50US MOV A,B CALL READ CLR DIS15 SETB DIS15 CALL DELAY50US MOV A,YEAR ANL A,#0F0H SWAP A SVTH: HUỲNH DUY NHÃ 80 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG CALL READ CLR DIS16 SETB DIS16 CALL DELAY50US MOV A,YEAR ANL A,#0FH CALL READ CLR DIS17 SETB DIS17 CALL DELAY50US RET READ: MOVC A,@A+DPTR MOV P1,A RET DELAY50US: MOV TH1,#HIGH(-50) MOV TL1,#LOW(-50) SETB TR1 JNB TF1,$ CLR TF1 CLR TR1 RET DELAY6US: SVTH: HUỲNH DUY NHÃ 81 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG NOP NOP NOP NOP NOP NOP RET LED7S: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END CHƯƠNG KẾT LUẬN SVTH: HUỲNH DUY NHÃ 82 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG 5.1 Tóm tắt đề tài nguyên cứu Sau thời gian nguyên cứu tìm hiểu đề tài với hướng dẫn tận tình thầy Nguyễn Văn Trung em thiết kế thành công “Lịch vạn niên” Mạch tập trung giải vấn đề: -Hiển thị giờ, phút, giây,thứ,ngày, tháng ,năm -Hiển thị nhiệt độ Mạch hoạt động đáp ứng nhu cầu đặt chưa tối ưu,sản phẩm thô,chưa thể giao tiếp bàn phím để hiểu chỉnh cài đặt báo thức 5.2 Hướng phát triển đề tài -Thay đổi IC chốt 74HC374 IC dịch 74LS595,bằng cách giảm bớt phức tạp thiết kế phần cứng,góp phần giúp sản phẩm gọn nhẹ hơn, sử dụng phương pháp quét dùng transistor để giảm giá thành sản phẩm sản phẩm gọn -Thiết kế thêm chuyển đổi từ ngày dương sang ngày âm -Thiết kế thêm chỉnh cài đặt báo thức SVTH: HUỲNH DUY NHÃ 83 ĐỒ ÁN TỐT NGHIỆP GVHD: NGUYỄN VĂN TRUNG TÀI LIỆU THAM KHẢO 1.Giáo trình vi xử lý_Tác giả Nguyễn Đình Phú 2.Giáo trình thực hành vi xử lý_Tác giả Nguyễn Đình phú 3.Kỹ thuật Số_Tác giả Nguyễn Trung Lập 4.Mạch điện tử_ Tác giả Nguyễn Văn Nhờ 5.Mạch điện tử_Tác giả Trương Văn Tám 6.http://www.alldatasheet.com http://www.dientuvienthong.name SVTH: HUỲNH DUY NHÃ 84 ... 2.4 GIỚI THI U VỀ IC CHỐP 74 HC 374 2.4.1.Mô tả chân 74 HC 374 IC 74 HC 374 IC chốt bit, hoat động tích cực mức thấp D0-D7:8 bit liệu vào Q0-Q7:8 bit liệu Vcc: nguồn cung cấp (+5V) 74 HC OE:... đến chân 39 (P0.0 _P0 .7) Port có chức năng: thi t kế cỡ nhỏ không dùng 19 18 31 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0 .7/ AD7 21 22 23 24 25 26 27 28 P2.0/A8 P2.1/A9... Data inputs Data outputs phép (OE) Clock(CP) D0 – D7 Q0 – Q7 L L L L H H L H X Q0 H X X Z 2.5 TỔNG QUAN VỀ DS13 07 2.5.1 Sơ đồ chân DS13 07 DS13 07 chip đồng hồ thời gian thực (RTC : Real-time clock),