thiết kế mạch đồng hồ số hiển thị giờ trên LED 7 đoạn
MỤC LỤC MỤC LỤC Mở đầu Chương 1: Giới Thiệu Và Mơ Tả Chức Năng 1.1-Giới thiệu 1.2-Sơ đồ mạch 1.3-Mơ tả chức Chương 2: Khảo Sát Phần Cứng .5 2.1-Mơ tả cấu trúc phần cứng vi điều khiển 8951 2.1.1-Giới thiệu họ MCS51 2.1.2-Chức khối chip 89C51 2.1.3-Sơ đồ chân chức chip 89C51 2.2-DS1307Serial Real Time Clock 12 2.2.1-Giới thiệu 12 2.2.2-Các ghi DS1307 13 2.2.3-Điều kiện giao thức truyền I2C 13 GVHD: Trần Minh Hồng MỤC LỤC a) Write mode 15 b) Read mode .16 2.3-Xử lý phím nhấn .18 2.3.1-Sơ đồ ngun ly .18 2.3.2-Chức 19 2.4-Khối Hiển Thị 20 2.4.1-Sơ đồ ngun ly .20 2.4.2-Chức ngun ly hoạt động 20 2.4.3-Cấu tạo LED đoạn 21 2.4.4-Xây dựng module hiển thị LED đoạn .22 Chương 3: Khảo Sát Phần Mềm .24 3.1-Lưu đồ giải thuật 24 3.2-Chương trình 29 Chương : Thi Cơng Mạch Đồng Hồ 54 GVHD: Trần Minh Hồng Chương GIỚI THIỆU VÀ MƠ TẢ CHỨC NĂNG Chương GIỚI THIỆU VÀ MƠ TẢ CHỨC NĂNG 1.1-Giới thiệu: − Đây mạch đồng hồ số hiển thị LED đoạn, chỉnh phím “mode”, “date”, “up”, “down” Vì có sử dụng IC thời gian thực DS1307 nên thời gian ln hiển thị xác nguồn 1.2-Sơ đồ mạch: Hình 1.1: Sơ đồ mạch đồng hồ số GVHD: Trần Minh Hồng Chương GIỚI THIỆU VÀ MƠ TẢ CHỨC NĂNG 1.3-Mơ tả chức năng: − Thời gian tự lưu vào nhớ ta cần cài đặt lần − Để chỉnh nhấn “mode” lần thứ nhất, nhấn phím “up” để chỉnh tăng lên, nhấn phím “down”để giảm xuống − Để chỉnh phút nhấn “mode” lần thứ 2, nhấn phím “up” để điều chỉnh tăng phút lên,nhấn phím “down” để giảm phut xuống − Để chỉnh hẹn nhấn “mode” lần thứ − Để chỉnh phút hẹn nhấn “mode” lần thứ − Để nhấn phím “exit” GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG Chương KHẢO SÁT PHẦN CỨNG 2.1-Mơ tả cấu trúc phần cứng vi điều khiển 8951: 2.1.1-Giới thiệu chung IC 89C51: MCS-51 họ vi điều khiển hãng Intel Vi mạch tổng quát họ MCS-51 chip 8051 Chip 8051 có số đặc trưng sau: − Bộ nhớ chương trình bên trong: KB (ROM) − Bộ nhớ liệu bên trong: 128 byte (RAM) − Bộ nhớ chương trình bên ngoài: 64 KB (ROM) − Bộ nhớ liệu bên ngoài: 64 KB (RAM) − port xuất nhập (I/O port) bit − đònh thời 16 bit − Mạch giao tiếp nối tiếp − Bộ xử lý bit (thao tác bit riêng lẻ) − 210 vò trí nhớ đònh đòa chỉ, vò trí bit − Nhân / Chia us Ngoài ra, họ MCS-51 có số chip vi điều khiền khác có cấu trúc tương đương như: − Chip ROM RAM Bộ đònh thời − 8031 KB 128 byte − 8032 KB 256 byte − 8051 KB PROM 128 byte GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG − 8052 KB PROM 256 byte − 8751 KB UV-EPROM 128 byte − 8752 KB UV-EPROM 256 byte − 8951 KB FLASH ROM 128 byte − 8952 KB FLASH ROM 256 byte Hình 2.1: Khối vi xử lý GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG 2.1.2-Chức khối chip 89C51 Hình 2.2: Sơ đồ khối chip 89C51 − CPU (Central Processing Unit - Đơn vò xử lý trung tâm): tính toán điều khiển trình hoạt động hệ thống − OSC (Oscillator - Mạch dao động): tạo tín hiệu xung clock cung cấp cho khối chip hoạt động − Interrupt control (Điều khiển ngắt): nhận tín hiệu ngắt từ bên (INT0\, INT1\), từ đònh thời (TIMER0, TIMER1) từ cổng nối tiếp (SERIAL PORT), đưa tín hiệu ngắt đến CPU để xử lý − Other registers (Các ghi khác): lưu trữ liệu port xuất/nhập, trạng thái làm việc khối chip suốt trình hoạt động hệ thống GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG − RAM (Random Access Memory - Bộ nhớ liệu chip): lưu trữ liệu − ROM (Read Only Memory - Bộ nhớ chương trình chip): lưu trữ chương trình hoạt động chip − I/O ports (In/Out ports - Các port xuất/nhập): điều khiển việc xuất nhập liệu dạng song song chip thông qua port P0, P1, P2, P3 − Serial port (Port nối tiếp): điều khiển việc xuất nhập liệu dạng nối tiếp chip thông qua chân TxD, RxD − Timer 0, Timer (Bộ đònh thời 0, 1): dùng để đònh thời gian đếm kiện (đếm xung) thông qua chân T0, T1 − Bus control (Điều khiển bus): điều khiển hoạt động hệ thống bus việc di chuyển thông tin hệ thống bus − Bus system (Hệ thống bus): liên kết khối chip lại với GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG 2.1.2-Sơ đồ chân chức chân chip 89C51: GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG 10 Hình 2.3 - Sơ đồ chân chip 89C51 a Port 0: − Port (P0.0 – P0.7) có số chân từ 32 – 39 − Port có hai chức năng: + Port xuất nhập liệu (P0.0 - P0.7) _ không sử dụng nhớ + Bus đòa byte thấp bus liệu đa hợp (AD0 – AD7)_ có sử dụng nhớ Lưu ý: Khi Port đóng vai trò port xuất nhập liệu phải sử dụng điện trở kéo lên bên − Khi lập trình cho ROM chip Port đóng vai trò ngõ vào liệu (D0 – D7) (SGK, tr 333-352) b Port 1: − Port (P1.0 – P1.7) có số chân từ – − Port có chức năng: + Port xuất nhập liệu (P1.0 – P1.7) _ sử dụng không sử dụng nhớ − Khi lập trình cho ROM chip Port đóng vai trò ngõ vào đòa byte thấp (A0 – A7) (SGK, tr 333-352) c Port 2: − Port (P2.0 – P2.7) có số chân từ 21 – 28 − Port có hai chức năng: GVHD: Trần Minh Hồng Chương 3: KHẢO SÁT PHẦN MỀM JNB P3.3,THOATCAIDAT JNB P3.4,BAT_ALARM JNB P3.5,TAT_ALARM SJMP BAT_ALARM_1 TAT_ALARM: LCALL CHONGDOI TAT_ALARM_1: SETB P2.6 LCALL DISP_PHUT_A LCALL DISP_GIO_A JNB P3.2,QUAYVE JNB P3.3,THOATCAIDAT JNB P3.4,BAT_ALARM JNB P3.5,TAT_ALARM SJMP TAT_ALARM_1 THOATCAIDAT: LCALL CHONGDOI RET START: CLR SCL SETB SDA NOP NOP NOP SETB SCL CLR SDA NOP GVHD: Trần Minh Hồng 44 Chương 3: KHẢO SÁT PHẦN MỀM NOP NOP RET STOP: NOP NOP NOP CLR SDA SETB SCL NOP NOP NOP SETB SDA CLR SCL RET GUI: MOV R7,#8 BACK_GUI: CLR SCL NOP NOP NOP RLC A MOV SDA,C SETB SCL NOP GVHD: Trần Minh Hồng 45 Chương 3: KHẢO SÁT PHẦN MỀM NOP NOP CLR SCL NOP NOP NOP DJNZ R7,BACK_GUI SETB SDA NOP NOP NOP SETB SCL NOP NOP NOP CLR SCL NOP NOP NOP RET NHAN: MOV R7,#08 BACK_NHAN: SETB SCL NOP NOP GVHD: Trần Minh Hồng 46 Chương 3: KHẢO SÁT PHẦN MỀM NOP MOV C,SDA NOP NOP NOP CLR SCL NOP NOP NOP RLC A DJNZ R7,BACK_NHAN SETB SDA NOP NOP NOP SETB SCL NOP NOP NOP CLR SCL NOP NOP NOP RET ; -;CTC HIEN THI ; GVHD: Trần Minh Hồng 47 Chương 3: KHẢO SÁT PHẦN MỀM DISPLAY: LCALL DISP_GIAY LCALL DISP_PHUT LCALL DISP_GIO RET DISP_GIAY: MOV A,20 ANL A,#0FH MOVC A,@A+DPTR MOV 30,A MOV A,20 ANL A,#0F0H SWAP A MOVC A,@A+DPTR MOV 31,A MOV P0,30 CLR P2.5 LCALL DELAY SETB P2.5 MOV P0,31 CLR P2.4 LCALL DELAY SETB P2.4 RET DISP_PHUT: MOV A,21 GVHD: Trần Minh Hồng 48 Chương 3: KHẢO SÁT PHẦN MỀM ANL A,#0FH MOVC A,@A+DPTR MOV 32,A MOV A,21 ANL A,#0F0H SWAP A MOVC A,@A+DPTR MOV 33,A MOV P0,32 CLR P2.3 LCALL DELAY SETB P2.3 MOV P0,33 CLR P2.2 LCALL DELAY SETB P2.2 RET DISP_GIO: MOV A,22 ANL A,#0FH MOVC A,@A+DPTR MOV 34,A MOV A,22 ANL A,#0F0H SWAP A MOVC A,@A+DPTR GVHD: Trần Minh Hồng 49 Chương 3: KHẢO SÁT PHẦN MỀM MOV 35,A MOV P0,34 CLR P2.1 LCALL DELAY SETB P2.1 MOV P0,35 CLR P2.0 LCALL DELAY SETB P2.0 RET DISP_PHUT_A: MOV A,28 ANL A,#0FH MOVC A,@A+DPTR MOV 36,A MOV A,28 ANL A,#0F0H SWAP A MOVC A,@A+DPTR MOV 37,A MOV P0,36 CLR P2.3 LCALL DELAY SETB P2.3 GVHD: Trần Minh Hồng ;PHUT 50 Chương 3: KHẢO SÁT PHẦN MỀM MOV P0,37 CLR P2.2 LCALL DELAY SETB P2.2 RET DISP_GIO_A: MOV A,29 ANL A,#0FH MOVC A,@A+DPTR MOV 38,A MOV A,29 ANL A,#0F0H ;GIO SWAP A MOVC A,@A+DPTR MOV 39,A MOV P0,38 CLR P2.1 LCALL DELAY SETB P2.1 MOV P0,39 CLR P2.0 LCALL DELAY SETB P2.0 RET ; GVHD: Trần Minh Hồng 51 Chương 3: KHẢO SÁT PHẦN MỀM ;CTC CHUYEN MA HEX THANH MA THAP PHAN ; -HEXTODEC: MOV B,#10H ;B=16 DIV AB ;A/B MOV 60H,B ;CAT DON VI MOV B,#0AH ;B=10 MUL AB ;LAY CHUC NHAN 10 ADD A,60H ;CONG VOI GIA TRI DON VI->THANH SO THAP PHAN RET ; -;CTC CHUYEN MA THAP PHAN THANH MA HEX ; -DECTOHEX: MOV B,#0AH ;CHUYEN THAP PHAN SANG HEX B=10 DIV AB ;A/B MOV 60H,B ;CAT DON VI MOV B,#10H ;B=16 MUL AB ;LAY CHUC NHAN 16 ADD A,60H ;CONG VOI GIA TRI DON VI->THANH SO HEX RET ; ;CTC DELAY 2,5MS DE QUET LED ; DELAY: MOV TMOD,#01H MOV TH0,#0F0H GVHD: Trần Minh Hồng ;GIA TRI MO PHONG 52 Chương 3: KHẢO SÁT PHẦN MỀM MOV TL0,#5FH ;GIA TRI MO PHONG ; MOV TH0,#0FEH ;GIA TRI THUC TE ; MOV TL0,#0D3H ;GIA TRI THUC TE SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ; -;CTC TAO TRE TUNG NHIP CHO CHUONG ; -DELAYCHUONG: MOV TMOD,#10H MOV R2,#30 MOV TH1,#HIGH(-10000) MOV TL1,#LOW(-10000) DEM: SETB TR1 HERE: LCALL DOCDATA LCALL DISPLAY JNB TF1,HERE CLR TR1 CLR TF1 DJNZ R2,DEM RET ; GVHD: Trần Minh Hồng 53 Chương 3: KHẢO SÁT PHẦN MỀM ;CTC CHONG DOI KHI NHAN NUT NHAN DE CHINH ; -CHONGDOI: MOV R3,#5 MOV R1,#200 MOV R2,#250;0,5MS LAP3: LAP2: DJNZ R2,$ DJNZ R1,LAP2 DJNZ R3,LAP3 RET MA7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END GVHD: Trần Minh Hồng 54 55 CHƯƠNG 4: THI CƠNG MẠCH ĐỒNG HỒ CHƯƠNG 4: THI CƠNG MẠCH ĐỒNG HỒ Sơ đồ khối KHỐI NGUỒN KHỐI NÚT NHẤN KHỐI ĐIỀU KHIỂN KHỐI HIỂN THỊ LED ĐOẠN KHỐI RTC DS1307 GVHD: Trần Minh Hồng 56 CHƯƠNG 4: THI CƠNG MẠCH ĐỒNG HỒ DONG HO SO VC C R 11 220 R 100 R 100 VC C Q Q E1 R 100 VC C Q R 100 VC C Q Q R 100 0 0 0 0 3 3 3 3 2 C A1 U C A1 C A1 U C A1 D C A1 C A1 U U U U P P P P P P P P 19 18 P P P P P P P P 0 0 0 0 1 1 1 1 0/A 1/A 2/A 3/A 4/A 5/A 6/A 7/A X1 X2 D D D D D D D D P P P P P P P /A P /A 2 /A /A 1 /A 2 /A /A /A P /R X D P 1/TXD P /IN T P 3 /IN T P /T P /T P /W R P /R D ALE PSEN A B C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E F G D P P P P P P P P 10 10 10 10 10 10 EA R ST D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D 7 7 7 8051 21 22 23 24 25 26 27 28 E E E E E E A B R L EL 10 11 12 13 14 15 16 17 P P P P P P P P 30 31 32 33 34 35 36 37 VC C BEL AR L VC C 10 P P P P P P P P 0 0 0 0 VC C C O M IN IN IN IN IN IN IN IN U LN 2803 O O O O O O O O U U U U U U U U T8 T7 T6 T5 T4 T3 T2 T1 1 1 1 1 D D D D D D D D D D D D D D D D J4 VC C P P P P P P P P 3 3 3 3 J1 J3 P P P P 3 3 33 1 ,0 M H z R ES R ES 12V V IN G N D U L M /T O R VO U T VC C GVHD: Trần Minh Hồng C 47U C 47U 22 PO W ER C 33 D EN C O N G TAC J2 Y C 1U R 10 10K D S1307 SC L SD A S Q W /O U T VBAT BT1 30 29 VC C Y 31 32768H z R C 10K 10U C U U P30 P31 X2 100 Q VC C X1 VC C LED 100 R VC C D BU ZZER VC C R E2 E3 E4 E5 E6 LS1 U 3V CHƯƠNG 4: THI CƠNG MẠCH ĐỒNG HỒ mạch orcard GVHD: Trần Minh Hồng 57 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO - Datasheet AT89C51 - Datasheet DS12C887 - Mã nguồn I2C trang www.8250.com - Giáo trình vi xử lý – Phạm Quang Trí - Thực hành vi xử lý – Phạm Quang Trí - http://www.dientuvietnam.net/forums - Tài liệu khác GVHD: Trần Minh Hồng 58 [...]... được xây dựng dùng để hiển thị 2 chữ số thập phân trên 2 LED 7 đoạn sử dụng loại LED 7 đoạn Anode chung Trước hết ta sẽ tiến hành kết nối phần cứng giữa vi điều khiển và LED 7 đoạn để từ đó xác định được dữ liệu cần đưa vào LED 7 đoạn để hiển thị một chữ số thập phân nào đó Thứ tự kết nối các chân như sau: GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG 23 - Chân dp nối vào chân RD7 - Chân g nối vào... chân dữ liệu) của LED 7 đoạn Đó là cách hiển thị theo từng LED Tuy nhiên, trong thực tế, để tiết kiệm số chân cần thiết để điều khiển cùng một lúc nhiều LED 7 đoạn, các chân dữ liệu của các LED sẽ được nối song song với nhau, các chân anode chung (hoặc cathode chung) được dùng để cho phép LED đó sáng hay tắt (tạm gọi là các chân điều khiển) 2.4.4 - Xây dựng module hiển thị trên LED 7 đoạn Module ứng... tự qua các giai đoạn: Cấp một tín hiệu qt led sao cho chỉ có led đầu tiên được cấp nguồn, rồi đưa mã 7 đoạn tương ứng của số cần hiện thị ra led 7 đoạn đó; kế tiếp cần cấp một tín hiệu qt led sao cho chỉ có led thứ 2 được cấp nguồn rối đưa mã 7 đoạn tương ứng của số cần hiện thị ra led 7 đoạn đó; q trình cứ diễn ra liên tục như vậy và do hiện tượng lưu ảnh của mắt mà ta thấy được các led dường như sáng... nút “exit” trên khối vi điều khiển 2.4-Khối Hiển Thị: GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG 20 2.4.1-Sơ đồ LED Hình 2.9- Khối LED 7 đoạn 2.4.2-Chức năng và ngun lý hoạt động Khối LED 7 đoạn bao gồm 6 LED 7 đoạn Anode chung kết hợp với nhau Tất cả các led này đều được cấp nguồn thơng qua 6 Transistor đóng vai trò như các cơng tắc và được điều khiển thơng qua các tín hiệu điều khiển tích... nếu mức logic đưa vào chân điều khiển đoạn LED đó là mức logic 1 Một phương pháp để xác định chính xác các chân điều khiển của LED 7 đoạn là kiểm tra từng chân của LED đó Dựa vào hình vẽ cấu tạo LED 7 đoạn ta có thể hiểu một phần nào phương pháp hiển thị của một LED Ví dụ, muốn hiển thị số “6”, ta sẽ điều khiển các đoạn LED a, c, d, e, g, f sáng lên Việc điều khiển sáng tắt được thực hiện bằng cách đưa... và góc nhìn rộng LED 7 đoạn bao gồm 7 đoạn LED được đánh dấu là các kí tự a, b, c, d, e, f, g và một dấu chấm thập phân kí hiệu là dp Ta có thể xem LED 7 đoạn là một tổ hợp gồm 8 LED 8 LED này có một đầu (Anode hoặc Cathode) được nối chung và được bố trí theo một qui tắc nhất định dùng để hiển thị các chữ số thập phân Có hai loại LED 7 đoạn, đó là loại Anode chung (cực Anode của các LED được nối chung... được các led dường như sáng cùng một lúc GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG 21 2.4.3-Cấu tạo của LED 7 đoạn Hình 2.10- Sơ đồ chân và cấu tạo LED 7 đoạn LED 7 đoạn là một cơng cụ thơng dụng được dùng để hiển thị các thơng số dưới dạng các số từ 0 đến 9 Mặc dù cơng cụ LCD giúp ta thể hiện các thơng số một cách linh động hơn nhưng LED 7 đoạn vẫn được sử dụng nhiều trong cơng nghiệp do các ưu... VAO THANH GHI A RET GVHD: Trần Minh Hồng Chương 3: KHẢO SÁT PHẦN MỀM SCANLED XUẤT Mà HIỂN THỊ RA PORT 0 BẬT BIT ĐIỀU KHIỂN DELAY LED 2.5ms TẮT BIT ĐIỀU KHIỂN RET GVHD: Trần Minh Hồng 26 Chương 3: KHẢO SÁT PHẦN MỀM 27 MAIN DELAY 2S ĐỌC DỮ LIỆU GIÂY RTC = 80HZ GHI VÀO GIÂY GIÁ TRỊ 00H ĐOC DATA DỮ LIỆU CỦA RTC HIỂN THỊ LED 7 ĐOẠN BÁO GIỜ HẸN GIỜ P3.2 =0 GVHD: Trần Minh Hồng HIỆU CHỈNH RTC Chương 3: KHẢO... - Chân a nối vào chân RD0 Muốn điều khiển một đoạn LED nào đó sáng lên, ta đưa vào chân điều khiển LED đó về mức logic 0 GVHD: Trần Minh Hồng Chương 3: KHẢO SÁT PHẦN MỀM Chương 3 KHẢO SÁT PHẦN MỀM 3.1 Lưu đồ giải thuật: HIỂN THỊ CHUYỂN MẢ BCDQUA MẢ 7 ĐOẠN SCANKED RET CHUYỂN MẢ BCD QUA MẢ 7 ĐOẠN XĨA ĐƠN VỊ A= @A+DPTR 20 = A A = @A+DPTR 21 = A RET GVHD: Trần Minh Hồng 24 Chương 3: KHẢO SÁT PHẦN MỀM 25... LED được nối chung với nhau) Tùy theo từng loại LED mà ta có các phương pháp điều khiển các LED trong tổ hợp đó sáng tắt một cách thích hợp Đối với loại Anode chung, một LED sẽ được bật GVHD: Trần Minh Hồng Chương 2: KHẢO SÁT PHẦN CỨNG 22 sáng nếu mức logic đưa vào chân điều khiển đoạn LED đó là mức logic 0 Đối với loại Cathode chung, một LED sẽ được bật sáng nếu mức logic đưa vào chân điều khiển đoạn ... giai đoạn: Cấp tín hiệu qt led cho có led cấp nguồn, đưa mã đoạn tương ứng số cần thị led đoạn đó; cần cấp tín hiệu qt led cho có led thứ cấp nguồn rối đưa mã đoạn tương ứng số cần thị led đoạn. .. dùng phép LED sáng hay tắt (tạm gọi chân điều khiển) 2.4.4 - Xây dựng module hiển thị LED đoạn Module ứng dụng sau xây dựng dùng để hiển thị chữ số thập phân LED đoạn sử dụng loại LED đoạn Anode... : Thi Cơng Mạch Đồng Hồ 54 GVHD: Trần Minh Hồng Chương GIỚI THIỆU VÀ MƠ TẢ CHỨC NĂNG Chương GIỚI THIỆU VÀ MƠ TẢ CHỨC NĂNG 1.1-Giới thiệu: − Đây mạch đồng hồ số hiển thị LED đoạn, chỉnh