- Đ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.
37 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1534 | Lượt tải: 1
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:
- do an.doc
- BCONGT~1.DOC