Đồ án Đồng hồ số hiển thị bằng led ma trận

- Điện áp cung cấp cho IC hoạt động là 7 volt.

- Hàng điện áp ngõ vào từ -0.3 đến 7 volt.

- Dòng qua diode từ cực nguồn đến cực máng được duy trì liên tục là 500mA.

- Dòng xung phóng điện từ cực nguồn đến cực máng của diode là 1A.

Dòng cực máng duy trì liên tục mỗi một ngõ ra hoặc tất cả các ngõ ra ID = 150mA.

- Dòng cực máng cực đại ngõ ra duy nhất là IDM = 500mA.

- Xung có năng lượng thác lũ EAS = 30mJ.

- Dòng thác lũ IAS = 500mA.

 

doc37 trang | Chia sẻ: maiphuongdc | Lượt xem: 1522 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Đồng hồ số hiển thị bằng led ma trận, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
úc các thầy cô Khoa Điện Tử luôn khỏe mạnh và là các giảng viên xuất sắc của Trường.Em cũng mong được quí thầy cô tiếp tục chỉ bảo và dìu dắt em và sinh viên khoá sau trong thời gian tiếp thời gian còn lại ở Trường và khi bước vào đời. Em xin chân thành cảm ơn. Nhận Xét Của Giáo Viên Hướng Dẫn -- a  b -- ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Giáo viên hướng dẫn Ngày__ tháng __ năm_____ Nhận Xét Của Giáo Viên Phản Biện -- g @ h -- ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Giáo viên phản biện Ngày__ tháng__ năm___ MỤC LỤC Chương I: REAL TIME CLOCK DS12C887 7 1. SƠ ĐỒ VÀ CHỨC NĂNG CÁC CHÂN 7 1.1 Sơ đồ chân 7 1.2. Chức năng các chân 7 2. CẤU TRÚC BÊN TRONG REAL TIME CLOCK DS12C887 9 2.1. Sơ đồ địa chỉ của REAL TIME CLOCK DS12C887 9 2.2. Các thanh ghi điều khiển 10 3. Chu kỳ cập nhật của DS12C887 12 4. IC TPIC6B595 12 4.1. Sơ đồ chân và chức năng các chân của TPIC6B595 13 Chương 2:THỰC HIỆN ĐỒ ÁN 16 1. SƠ ĐỒ KHỐI MẠCH 16 1.1. Sơ đồ khối modull chính 16 2. SƠ ĐỒ MẠCH VÀ NGUYÊN LÝ MẠCH 16 2.1. Sơ đồ nguyên lý mạch vi xử lý và dalass 17 2.2. Sơ đồ nguyên lý mạch hiển thị 18 3.THI CÔNG PHẦN CỨNG 19 3.1. Gia công mạch in 19 3.2. Sơ đồ mạch in 19 4. LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH 20 4.1. Lưu đồ chương trình 20 4.2. Chương trình 26 Chương 3:ĐÁNH GIÁ - KẾT LUẬN – KIẾN NGHỊ 33 1.TÓM TẮT 33 2. KIẾN NGHỊ 33 3. HƯỚNG PHÁT TRIỂN ĐỀ TÀI 33 TÀI LIỆU THAM KHẢO 3 CHƯƠNG I: REAL TIME CLOCK DS12C887 1. SƠ ĐỒ CHÂN VÀ CHỨC NĂNG CÁC CHÂN: 1.1. Sơ đồ chân: - AD0 – AD7 Bus đa hợp địa chỉ/dữ liệu. - NC – Chân bỏ trống. - MOT – Lựa chọn loại bus. - CS – Ngõ vào lựa chọn RTC. - AS – Chốt dữ liệu. - R/W – Ngõ vào đọc ghi. - DS – Chốt dữ liệu. - RESET\– Ngõ vào reset. - IRQ\– Ngõ vào yêu cầu ngắt. - SQW – Ngõ ra sóng vuông. - VCC – Nguồn cấp +5volt. - GND – Mass 1.2. Chức năng các chân. a. Chân VCC, GND: Nguồn cung cấp cho thiết bị hoạt động, Vcc là điện áp ngõ vào 5 volt. Khi điện áp đúng 5 volt thiết bị được truy cập đầy đủ dữ liệu có thể được ghi đọc, khi Vcc thấp hơn 4.25 volt quá trình đọc và ghi bị cấm. Khi Vcc thấp hơn 3 volt, RAM và bộ giữ giờ được chuyển sang nguồn năng lượng bên trong. b. MOT(Mode select): Chân 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 mass 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. c. SQW(Square Wave Output): Chân 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 Real Time Clock. 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 từ SQW có thể mở hoặc tắt sử dụng bít SQWE trong register B, tín hiệu SQW không xuất hiện khi Vcc thấp hơn 4.25 volts. d. AD0 – AD7(Multiplexed Bidirectionnal Adress/Data bus): 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 xuất trong suốt phần thứ nhất của chu kỳ bus và được dùng cho dữ liệu trong phần thứ hai 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ảy 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 đến AD6. - Dữ liệu ghi 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 bít 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 chuyển xuống thấp trong trường hợp định thời Motorola khi RD chuyển lên cao trong trường hợp định thời Intel. e. AS(Adress Strobe Input): 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 IC, sườn lên tiếp theo khi xuất hiện bus AS sẽ xóa địa chỉ bất chấp chân CS có được chọn hay không. f. DS(Data Strobe or Read Input): Chân DS/RD có hai kiểu sử dụng tùy thuộc vào mức của chân MOT. Khi chân Mot được nối với Vcc, bus định thời Motorola được chọn. Trong suốt chu kỳ đọc, DS báo hiệu thời gian mà DS12c887 được điều khiển bus đôi, trong chu kỳ đọc xung quét của DS là nguyên nhân làm DS12c887 chốt dữ liệu được ghi. Khi chân MOT được nối xuống GND thì bus định thời Intel được lựa chọn. Trong kiểu này chân DS được gọi là Read(RD). RD xác định chu kỳ thời gian khi DS12c887 điều khiển bus đọc dữ liệu. g. R/W\(Read/Wite Input): Chân R/W\ cũng có hai cách hoạt động. Khi chân MOT được nối lên Vcc cho chế độ định thời của Motorola, R/W\ đang ở chế độ chỉ ra hoặc ở chu kỳ hiện tại là chu kỳ đọc hoặc ghi, đòi hỏi chân R/W\ phải ở mức cao khi ở chu kỳ đọc khi chân DS ở mức cao. Chu kỳ ghi đòi hỏi chân R/W\ ở mức thấp trong suốt quá trình chốt của DS. Khi chân MOT được nối GND 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. h. Chân Cs(Chip Select Input): Tín hiệu chọn lựa phải được 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 ổn định hoạt động trong 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. i. Chân IRQ(Interrup Request Output): Chân IRQ\ là ngõ ra hoạt động mức thấp của DS12C887 mà có thể sử dụng như ngõ vào ngắt tới bộ vi xử lý. Ngõ ra IRQ\ ở mức thấp khi bít là nguyên nhân làm ngắt và phù hợp với bít cho ngắt được đặt. Để xóa chân IRQ\ chương trình của bộ vi xử lý thông thường được đọc ở thanh ghi C, chân RESET cũng bị xóa trong lúc ngắt. Khi không có trạng thái ngắt nào được sử dụng, trạng thái IRQ\ ở trong tình trạng tổng trở cao. Nhiều thiết bị ngắt có thể nối tới một IRQ/ bus. IRQ bus là một ngõ ra mở và yêu cầu có 1 điện trở kéo lên bên ngoài. j. Chân RESET\(Reset Input): Chân reset không có hiệu lực đối với đồng hồ lịch hoặc là 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 cấp. Khi reset ở mức thấp và Vcc trên 4,25 volt thì những điều sau diển ra: +Bít cho phép ngắt định kỳ PEI được đặt ở mức 0. +Bit cho phép ngắt chuông được đặt ở mức 0. +Bít cờ cho phép kết thúc cập nhật,được xóa về 0. +Bít cờ trạng thái yêu cầu ngắt được đặt ở mức 0. +Bít cờ cho phép ngắt định kỳ được đặt ở mức 0. +Thiết bị không sử dụng cho tới khi chân reset trở lại mức cao. +Bít cờ cho phép ngắt chuông được đặt ở mức 0. +Chân IRQ\ ở trạng thái tổng trở cao. +Bít cho phép xuất sóng vuông được đặt ở mức 0. +Bít cho phép ngắt kết thúc cập nhật bị xóa về mức 0. +Trong các ứng dụng thông thường chân RESET\ có thể được nối lên Vcc, kết nối như vậy sẽ cho phép DS12C887 hoạt động khi mất nguồn sẽ không làm ảnh hưởng đến bất kỳ thanh ghi nào. 2. CẤU TRÚC BÊN TRONG REAL TIME CLOCK DS12C887. 2.1. Sơ đồ địa chỉ của REAL TIME CLOCK DS12C887 Sơ đồ địa chỉ của DS12C887 được trình bày như ở hình 2.1 Hình 1.2: Sơ đồ địa chỉ của DS12C887 Sơ đồ địa chỉ gồm 113 RAM thông dụng, 11 byte RAM mà thành phần bao gồm đồng hồ thời gian thực, lịch, dữ liệu báo giờ và 4 byte được sử dụng 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 đọc trực tiếp từ những trường hợp sau. - Thanh ghi C và D là hai thanh ghi chỉ đọc - Bít thứ 7 của thanh ghi A là bít chỉ đọc. - Bít cao của byte thứ 2 là bít chỉ đọc. 2.2. Các thanh ghi điều khiển: DS12C887 có 4 thanh ghi điều khiển được sử dụng mọi lúc kể cả trong quá trình cập nhật. a. Thanh ghi A: MSB LSB BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 Hình 1.3: Cấu trúc thanh ghi A UIP: Update in progress là trạng thái mà có thể theo dõi được. Khi bít UIP lên 1, quá trình cập nhật sẽ sớm xảy ra, nếu ở mức 0 quá trình cập nhật sẽ không xảy ra ít nhất là 244us. Các thông tin thời gian, lịch, báo giờ trong RAM có đầy đủ cho việc truy cập khi bít UIP ở mức 0. và không bị ảnh hưởng khi RESET. DV2, DV1, DV0: Ba bít trên được sử dụng để bật hoặc tắt bộ dao động và cài đặt lại quá trình đếm xuống. Khi được đặt 010 là sự kết hợp duy nhất cho phép bật bộ dao động và cho phép RTC giữ thời gian. Khi được đặt ở 11X sẽ cho phép dao động nhưng quá trình đếm xuống bị RESET. RS3, RS2, RS1, RS0: Bốn bít lựa chọn để lựa chọn một trong 13 trạng thái loại của bộ chia 15 trạng 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ón vuông (chân SQW) hoặc ngắt theo chu kỳ. Có thể sử dụng một trong nhũng cách sau: - Cho phép ngắt bít PIE - Cho phép xuất ngõ ra chân SQW với bít SQWE - Cho phép cả hai hoạt động cùng một lúc và cùng một loại không kích hoạt cả hai b. Thanh ghi B: MSB LSB BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 SET PIE AIE UIE SQWE DM 24/12 DSE Hình 1.4: Cấu trúc thanh ghi B SET: Khi bít SET ờ mức 0, quá trình cập nhật bằng cách tăng biến 1 lần 1 giây. Khi SET ở mức 1, mọi quá trình cập nhật đều bị cấm, và chương trình có thể bắt đầu byte thời gian và byte lịch mà không có quá trình cập nhật nào xảy ra trong quá trình khởi động. PIE: Bít cho phép ngắt theo chu kỳ là bít đọc/ghi, nó cho phép bít cờ ngắt theo chu kỳ trong thanh ghi C để điều khiển chân IRQ xuống mức thấp. Khi bít PIE được đặt lên mức 1, chu kỳ ngắt được tạo ra bằng cách điều khiển IRQ\ xuống mức thấp tùy thuộc vào tỉ lệ phân bố của bít RS3 – RS0 ở thanh ghi A. AIE: Bít cho phép ngắt báo giờ là bít đọc /ghi mà được đặt lên 1 nó cho phép bít cờ báo giờ ở thanh ghi C để cho phép ngắt IRQ\. UIE: Bít cho phép kết thúc quá trình cập nhật, là bít đọc ghi mà cho phép bít cờ ngắt kết thúc quá trình cập nhật ở thanh ghi C và cho phép ngắt IRQ\. Chân RESET ở mức 0 hoặc chân SET ở mức 1 sẽ xóa bít UIE. SQWE: Khi bít cho phép xuất sóng vuông được đặt lên 1, mức tín hiệu sóng vuông có tần số được dặt ở của bít RS3 đến RS0 sẽ điều khiển sóng ra tại chân SQW. Khi SQWE được đặt ở mức thấp chân SQW sẽ được giữ ở mức thấp. DM: Bít kiểu dữ liệu quy định thông tin lịch và thời gian ở định dạng nhị phân hoặc BCD. Ở mức 1 của DM sẽ hiển thị dạng nhị phân, nếu ở mức 0 thì hiển thị dạng BCD. 24/12: Bít điều khiển 24/12 xác định kiểu byte giờ khi ở mức 1 nó chọn chế độ 24 giờ, còn ở mức 0 thì chế độ hiển thị là 12 giờ. DSE: Bít cho phép nhớ công khai nó cho phép hai cập nhật đặc biệt khi DSE bật lên 1. vào chủ nhật đầu tiên của tháng 4, thời gian sẽ tăng từ 1:59:59AM lên 3:00:00 AM, vào chủ nhật cuối cùng của tháng 10, khi thời gian đầu tiên được đặt 1:59:59 AM lên 1:00:00 AM. Chức năng đặc biệt này sẽ không được thực thi nếu DSE ở mức 0. c. Thanh ghi C: MSB LSB BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 IRQF PF AF UF 0 0 0 0 Hình 1.5: Cấu trúc thanh ghi C IRQ: Bít cờ yêu cầu ngắt được đặt lên 1 trong những điều kiện dưới đây: - PF = PIE = 1 - AF = AIE = 1 - UF = UIE = 1 - Bất cứ lúc nào IRQF được đặt lên 1, chân IRQ\ được đặt xuống mức thấp. bít cờ PF, AF, và UF được xóa khi thanh ghi C được chương trình đọc hoặc chân RESET ở mức thấp. PF: Bít cờ ngắt theo chu kỳ là bít chỉ đọc, nó được đặt lên mức 1 sườn xung đựơc phát hiện khi ở tín hiệu lựa chọn của bộ chia. Từ RS3 đến RS0 xác định chu kỳ. AF: Mức 1 của bít cờ ngắt cho phép bít ngắt báo giờ chỉ ra rằng thời gian hiện tại được so ánh với thời gian báo giờ. UF: Bít cờ ngắt kết thúc cập nhật được đặt sau mỗi chu kỳ cập nhật. Khi UIE được đặt lên 1, mức 1 ở UF sẽ làm cho bít IRQ lên mức 1, nó sẽ xác định trạng thái chân IRQ\. UF sẽ được xóa khi thanh ghi C được đọc hoặc có tín hiệu RESET. Từ bít 3 đến bít 0: Đây là những bít không sử dụng của thanh ghi trạng thái C. Những bít náy luôn ở mức 0 và không gi đè. d. Thanh ghi D: MSB LSB BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VRT 0 0 0 0 0 0 0 Hình 1.6: Cấu trúc thanh ghi D VRT: Bít thời gian và RAM hợp lệ biểu thị tình trạng của pin được kết nối chân VBAT. Bít này không phải là bít ghi được và luôn có giá trị bằng 1 khi đọc. Nếu hiển thị mức 0, nguồn năng lương lithium bên trong đã cạn và cả hai mục dữ liệu thời gian thực lẫn dữ liệu RAM đều bị nghi ngờ. Bít này không chịu ảnh hưởng bởi chân RESET. Bít 6 đến bít 0: Những bít được đề cập ở trên của thanh ghi D không được sử dụng. Chúng không ghi được và khi đọc thì luôn có giá trị bằng 0. 3. Chu kỳ cập nhật của DS12C887. DS12C887 thực hiện một chu kỳ cập nhật mỗi lần một giây bất chấp bít SET của thanh ghi B. Khi bít SET của thanh ghi B được đặt lên 1, bộ phận sao chép từ byte thời gian lịch báo giờ sẽ không hoạt động và sẽ không cập nhật thời gian khi thời gian tăng lên. Tuy nhiên quá trình bộ đếm giờ vẫn tiếp tục để cập nhật bộ đếm nội để sao chép vào bộ đệm. hành động này vẫn cho phép thời gian vẫn duy trì độ chính xác mà không phụ thuộc vào quá trình đọc và ghi bộ đệm thời gian. Chu kỳ cập nhật so sánh những byte báo giờ là những byte thời gian tương ứng và kết quả là có báo giờ nếu giống nhau. 4.3. Sơ đồ chân và chức năng các chân của TPIC6B595. a. Sơ đồ chân. - Chức năng các chân. Hình 1.10. Sơ đồ chân IC 9149 - Chân số 1 và chân 20 là hai chân bỏ trống. - Chân số 20 nối Vcc: là nguồn nuôi cho IC hoạt động, - Chân 19,10,11 nối GND. - Các chân 4 đến 7 và 14 đến 17: ngõ ra của D-MOT được nối với led 7 đoạn. - Chân số 3(SER IN): Ngõ vào cài đặt thời gian. - Chân số 18(SER OUT): Ngõ ra cài đặt thời gian. - Chân số 8(SRCR\): Ghi dịch chuyển thời gian ngõ vào - Chân số 13(SRCK): Ghi thời gian ngõ vào - Chân số 9(G\): Ngõ vào cho phép IC hoạt động. - Chân số 12(RCK): Ngõ vào đếm thời gian IC TPIC6B595 là một mạch tích hợp nguyên khối, điện áp cao dòng trung bình. Công suất thanh ghi dịch 8 bít được thiết kế và sử dụng trong hệ thống sự liên lạc cao về tải trọng công suất. Thiết bị bao gồm một điện áp ngõ ra định mức, thay thế cho sự bảo vệ quá trình chuyển tiếp cảm ứng. Công suất điều khiển cho sự hoạt động bao gồm: Relay, cuộn dây, và có tải trọng dòng điện trung bình hoặc điện áp cao. Thiết bị bao gồm một chuỗi 8 bít, được mắc song song ra ngoài thanh ghi dịch chuyển với việc truyền tín hiệu 8 bít theo kiểu D-Mot với thanh ghi bộ nhớ. Dữ liệu được dịch chuyển qua cả 2 thanh ghi bộ nhớ và được tăng lên một giới hạn của thanh ghi dịch chuyển thời gian (shift register clock) và thanh ghi thời gian (register clock), là lần lượt. Cái thanh ghi bộ nhớ dịch chuyển dữ liệu đến tầng đệm ngõ ra khi thanh ghi dịch bị xóa ở mức điện áp cao. Khi thanh ghi dịch ở mức thấp, ngõ vào thanh ghi dịch sẽ phát quang. Khi ngõ ra cho phép(G\) được giữ ở mức cao, tất cả các dữ liệu ngõ ra tầng đệm được giữ ở mức thấp và tất cả ngõ ra drain sẽ bị tắt. Khi ngõ vào cho phép(G\) được giữ ở mức thấp, thì dữ liệu từ thanh ghi bộ nhớ được tích trữ trong suốt tầng đệm ngõ ra. Khi dữ liệu trong tầng đệm ngõ ra ở mức thấp, thì các ngõ ra của DMOS đều bị tắt. Khi dữ liệu ở mức cao thì các dòng ngõ ra DMOS sẽ bị phân chia hạ thấp xuống. Chuỗi ngõ ra (SER OUT) cho phép từng đợt dữ liệu của thanh ghi dịch cộng vào thiết bị. b. Cấu trúc bên trong IC6B595. Hình 1.11. Sơ đồ cấu trúc bên trong TPIC 6B595 c. Một số thông số của IC TPIC6B595. - Điện áp cung cấp cho IC hoạt động là 7 volt. - Hàng điện áp ngõ vào từ -0.3 đến 7 volt. - Dòng qua diode từ cực nguồn đến cực máng được duy trì liên tục là 500mA. - Dòng xung phóng điện từ cực nguồn đến cực máng của diode là 1A. Dòng cực máng duy trì liên tục mỗi một ngõ ra hoặc tất cả các ngõ ra ID = 150mA. - Dòng cực máng cực đại ngõ ra duy nhất là IDM = 500mA. - Xung có năng lượng thác lũ EAS = 30mJ. - Dòng thác lũ IAS = 500mA. Hình 1.13 Giản đồ xung ngõ ra các chân TPIC 6B595 Chương 2: THỰC HIỆN ĐỒ ÁN 1. SƠ ĐỒ KHỐI MẠCH. 1.1. Sơ đồ khối. KHỐI RTC KHỐI ĐIỀU KHIỂN KHỐI VI XỬ LÝ KHỐI HIỆN THỊ KHỐI NGUỒN 1.2. Chức năng các khối. +Khối nguồn: Cung cấp nguồn cho các khối hoạt động, dùng IC ổn áp có nguồn dòng ổn định ta dùng IC LM7805, LM 7812. +Khối vi xử lý: Là khối trung tâm xử lý các tín hiệu gửi đến, đồng thời giải mã và xuất tín hiệu đến các khối. +Khối dalass: Có tác dụng cập nhật thời gian(giờ, phút, giây, ngày, tháng, năm +Khối hiển thị: Có chức năng hiển thị ngày, tháng, năm, giờ, phút, giây. 2.SƠ ĐỒ MẠCH 2.1. Sơ đồ mạch khối xử lý và khối dalass 2.2. Sơ đồ mạch hiện thị 3. THI CÔNG PHẦN CỨNG 3.1. Gia công mạch in. - Dùng Orcad vẽ mạch sơ đồ nguyên lý. - Gắn linh kiện lên mạch in và hàn chì. - Cân chỉnh, chạy thử mạch và kiểm tra các chức năng. 3.2. Sơ đồ mạch in và bố trí linh kiện Mạch in 6 led matran Mạch in mạch xữ lý và dalass Bố trí chân phần hiện thị 6 led matran Bố trí chân khối xử lý và dalass 4. LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH 4.1 Lưu đồ giải thuật BEGIN KHỞI TẠO RTC KIỂM TRA NGẮT 2 LCALL ĐỌC RTC LCALL HEX BCD 1 1 LCALL HIỆN THỊ S S MODE P3.5 =1 MODE1 P3.0 =1 Đ Đ NGÀY THÁNG NĂM CÀI ĐẶT CÀI ĐẶT GPG END 2 2 Chương trình chính Cài đặt giờ Biến mode: = biến mode + 1 Đọc giờ phút giây Giải mã hiển thị Biến mode =3 Mode = 0 UP = 0 DOW = 0 Tăng Giảm 2 Chương trình con cài đặt giờ Cài đặt ngày tháng năm Biến mode: = biến mode + 1 Đọc ngày tháng năm Giải mã hiển thị Biến mode =3 Mode = 0 UP = 0 DOW = 0 Tăng Giảm 2 Chương trình con cài đặt năm tăng Đ Biến mode=1 Tăng giờ Đ S Tăng phút Biến mode=2 moasodoasdfasfdamomodmode=1 Đ S Biến mode=3 Tăng giây 2 2 Lưu đồ chương trình con tăng giờ 2 2 giây giảm phút giảm giờ giảm Đ Đ S Đ S Biến mode=3 Biến mode=2 moasodoasdfasfdamomodmode=1 Biến mode=1 mgiả Lưu đồ chương trình con giảm giờ 2 2 năm giảm tháng giảm ngày giảm Đ Đ S Đ S Biến mode=3 Biến mode=2 moasodoasdfasfdamomodmode=1 Biến mode=1 mgiả Chương trình con giảm năm 2 2 năm tăng tháng tăng ngày tăng Đ Đ S Đ S Biến mode=3 Biến mode=2 moasodoasdfasfdamomodmode=1 Biến mode=1 tăng Chương trình con tăng năm 4.2 CHƯƠNG TRÌNH mode1 bit p3.0 up bit p3.3 dwn bit p3.1 mode bit p3.5 serd bit p1.4 clrd bit p1.3 gd bit p1.2 srck bit p1.1 rck bit p1.0 bmode equ r4 org 000h lcall khoitao_dallas mov bmode,#0 td: mov r3,#3 x02: mov r2,#200 x01: lcall doc_gpg lcall hex_bcd lcall giaima lcall hienthi jnb mode,adj djnz r2,x01 djnz r3,x02 td1: mov r3,#3 x12: mov r2,#200 x11: lcall doc_ntn lcall hex_bcd1 lcall giaima lcall hienthi jnb mode1,adj1 djnz r2,x11 djnz r3,x12 jmp td adj1: jmp adj2 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx adj: lcall hienthi jnb mode,adj inc bmode cjne bmode,#4,lb11 mov bmode,#0 jmp td lb11: mov r2,#10 lb13: mov r3,#02fh lb12: lcall doc_gpg lcall hex_bcd lcall giaima lcall hienthi jnb up,tang_gpg jnb dwn,giam_gpg jnb mode,adj djnz r3,lb12 mov r3,#02fh cjne bmode,#1,ss11 mov r0,#20h x_00: mov @r0,#0 inc r0 cjne r0,#2bh,x_00 jmp tat ss11: cjne bmode,#2,ss12 mov r0,#32h x_01: mov @r0,#0 inc r0 cjne r0,#3dh,x_01 jmp tat ss12: mov r0,#44h x_02: mov @r0,#0 inc r0 cjne r0,#4fh,x_02 tat: lcall hienthi jnb up,tang_gpg jnb dwn,giam_gpg jnb mode,adj djnz r3,tat djnz r2,lb13 mov bmode,#0 jmp td ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; doan chuong trinh con chinh tang gio phut giay tang_gpg: mov r2,#35 tang_gpg1: lcall hienthi djnz r2,tang_gpg1 cjne bmode,#1,ss21 mov r0,#4 movx a,@r0 inc a cjne a,#24,ghidata ghidata1: mov a,#0 ghidata: movx @r0,a jmp lb11 ss21: cjne bmode,#2,ss22 mov r0,#2 movx a,@r0 inc a cjne a,#60,ghidata jmp ghidata1 ss22: mov r0,#2 movx a,@r0 inc a cjne a,#60,ghidata jmp ghidata1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; doan chuong trinh con chinh giam gio phut giay giam_gpg: mov r2,#35 giam_gpg1: lcall hienthi djnz r2,giam_gpg1 cjne bmode,#1,ss31 mov r0,#4 movx a,@r0 dec a cjne a,#0ffh,ghidata2 mov a,#23 ghidata2: movx @r0,a jmp lb11 ss31: cjne bmode,#2,ss32 mov r0,#2 movx a,@r0 dec a cjne a,#0ffh,ghidata2 mov a,#0 jmp ghidata ss32: mov r0,#2 movx a,@r0 dec a cjne a,#0ffh,ghidata2 mov a,#0 jmp ghidata ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; doan chuong trinh con chinh ngay thang nam adj2: lcall hienthi jnb mode1,adj2 inc bmode cjne bmode,#4,lb21 mov bmode,#0 jmp td1 lb21: mov r2,#10 lb23: mov r3,#02fh lb22: lcall doc_ntn lcall hex_bcd1 lcall giaima lcall hienthi jnb up,tang_ntn jnb dwn,giam_ntn jnb mode1,adj2 djnz r3,lb22 mov r3,#02fh cjne bmode,#1,ss311 mov r0,#20h x_10: mov @r0,#0 inc r0 cjne r0,#2bh,x_10 jmp tat1 ss311: cjne bmode,#2,ss321 mov r0,#32h x_11: mov @r0,#0 inc r0 cjne r0,#3dh,x_11 jmp tat1 ss321: mov r0,#44h x_12: mov @r0,#0 inc r0 cjne r0,#4fh,x_12 tat1: lcall hienthi jnb up,tang_ntn jnb dwn,giam_ntn jnb mode1,adj2 djnz r3,tat1 djnz r2,lb23 mov bmode,#0 jmp td1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; doan chuong trinh con chinh tang ngay thang nam tang_ntn: mov r2,#35 tang_ntn1: lcall hienthi djnz r2,tang_ntn1 cjne bmode,#1,ss41 mov r0,#7 movx a,@r0 inc a cjne a,#32,ghidata3 mov a,#1 ghidata3: movx @r0,a jmp lb21 ss41: cjne bmode,#2,ss42 mov r0,#8 movx a,@r0 inc a cjne a,#13,ghidata3 mov a,#1 jmp ghidata3 ss42: mov r0,#9 movx a,@r0 inc a cjne a,#100,ghidata3 mov a,#0 jmp ghidata3 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; doan chuong trinh con chinh giam ngay thang nam giam_ntn: mov r2,#35 giam_ntn1: lcall hienthi djnz r2,giam_ntn1 cjne bmode,#1,ss51 mov r0,#7 movx a,@r0 dec a cjne a,#0ffh,ghidata5 mov a,#31 ghidata5: movx @r0,a jmp lb21 ss51: cjne bmode,#2,ss52 mov r0,#8 movx a,@r0 dec a cjne a,#0ffh,ghidata5 mov a,#12 jmp ghidata5 ss52: mov r0,#9 movx a,@r0 dec a cjne a,#0ffh,ghidata5 mov a,#99 jmp ghidata5 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx khoitao_dallas: mov r0,#0ah mov a,#20h movx @r0,a mov r0,#0bh mov a,#06h movx @r0,a ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx doc_gpg: mov r0,#0 mov r1,#30h wait: movx a,@r0 mov @r1,a inc r0 inc r0 inc r1 cjne r0,#06h,wait ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx doc_ntn: mov r0,#07 mov r1,#33h wait1: movx a,@r0 mov @r1,a inc r0 inc r1 cjne r0,#0ah,wait1 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hex_bcd: mov a,32h ; doi giay mov b,#10 div ab mov 10h,a mov 11h,b mov a,31h ; doi phut mov b,#10 div ab mov 12h,a mov 13h,b mov a,30h ; doi gio mov b,#10 div ab mov 14h,a mov 15h,b ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hex_bcd1: mov a,33h ; doi ngay mov b,#10 div ab mov 10h,a mov 11h,b mov a,34h ; doi thang mov b,#10 div ab mov 12h,a mov 13h,b mov a,35h ; doi nam mov b,#10 div ab mov 14h,a mov 15h,b ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; doan chuong trinh con giai ma gio phut giay giaima: mov dptr,#500h mov r0,#10h mov r1,#20h loop5: mov r6,#2 loop1: mov r7,#5 mov a,@r0 mov b,#5 mul ab mov dpl,a loop: mov a,#0 movc a,@a+dptr mov @r1,a inc dptr inc r1 djnz r7,loop inc r0 mov @r1,#0 inc r1 djnz r6,loop1 mov @r1,#0 inc r1 mov @r1,#08 inc r1 mov @r1,#08 inc r1 mov @r1,#08 inc r1 mov @r1,#0 inc r1 mov @r1,#0 inc r1 cjne r0,#1ch,loop5 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hienthi: clr srck clr rck clr gd setb serd ;ngo vao data = 1 clr clrd setb clrd mov r0,#20h loop2: setb srck ;ck tac dong clr srck setb rck clr rck mov p2,@r0 lcall delay clr serd mov p2,#0 inc r0

Các file đính kèm theo tài liệu này:

  • docdo an.doc
  • docBCONGT~1.DOC
Tài liệu liên quan