Chet

New Member

Download miễn phí Đồ án Đồng hồ số hiển thị giờ trên LED 7 đoạn





MỤC LỤC
Mở đầu
Chương 1: Giới thiệu và mô tả chức năng 3
1.1-Giới thiệu 3
1.2-Sơ đồ mạch 3
1.3-Mô tả chức năng 3
Chương 2: Nguyên lý hoạt động 5
2.1-Mô tả cấu trúc phần cứng của vi điều khiển 8951 5
2.1.1-Giới thiệu họ MCS51 5
2.1.2-Chức năng các khối của chip 89C51 6
2.1.3-Sơ đồ chân và chức năng chip 89C51 8
2.2-DS1307Serial Real Time Clock 12
2.2.1-Giới thiệu 12
2.2.2-Các thanh ghi của DS1307 13
2.2.3-Điều kiện của giao thức truyền I2C 13
a) Write mode 15
b) Read mode 16
2.3-Xử lý phím nhấn 17
2.3.1-Sơ đồ nguyên lý 17
2.3.2-Chức năng 17
2.4-Hiển thị trên LED 7 đoạn 18
2.4.1-Sơ đồ nguyên lý 18
2.4.2-Chức năng và nguyên lý hoạt động 19
2.4.3-Cấu tạo LED 7 đoạn 19
2.4.4-Xây dựng module hiển thị LED 7 đoạn 21
Chương 3: Lưu đồ giải thuật & Chương trình 23
3.1-Lưu đồ giải thuật 23
3.2-Chương trình 25
 
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:


8031 0 KB 128 byte 2
8032 0 KB 256 byte 3
8051 4 KB PROM 128 byte 2
8052 8 KB PROM 256 byte 3
8751 4 KB UV-EPROM 128 byte 2
8752 8 KB UV-EPROM 256 byte 3
8951 4 KB FLASH ROM 128 byte 2
8952 8 KB FLASH ROM 256 byte 3
Hình 2.1: Khoái vi xöû lyù
2.1.2-Chöùc naêng caùc khoái cuûa chip 89C51
Hình 2.2: Sô ñoà khoái cuûa chip 89C51
CPU (Central Processing Unit - Ñôn vò xöû lyù trung taâm): tính toaùn vaø ñieàu khieån quaù trình hoaït ñoäng cuûa heä thoáng.
OSC (Oscillator - Maïch dao ñoäng): taïo tín hieäu xung clock cung caáp cho caùc khoái trong chip hoaït ñoäng.
Interrupt control (Ñieàu khieån ngaét): nhaän tín hieäu ngaét töø beân ngoaøi (INT0\, INT1\), töø boä ñònh thôøi (TIMER0, TIMER1) vaø töø coång noái tieáp (SERIAL PORT), laàn löôït ñöa caùc tín hieäu ngaét naøy ñeán CPU ñeå xöû lyù.
Other registers (Caùc thanh ghi khaùc): löu tröõ döõ lieäu cuûa caùc port xuaát/nhaäp, traïng thaùi laøm vieäc cuûa caùc khoái trong chip trong suoát quaù trình hoaït ñoäng cuûa heä thoáng.
RAM (Random Access Memory - Boä nhôù döõ lieäu trong chip): löu tröõ caùc döõ lieäu.
ROM (Read Only Memory - Boä nhôù chöông trình trong chip): löu tröõ chöông trình hoaït ñoäng cuûa chip.
I/O ports (In/Out ports - Caùc port xuaát/nhaäp): ñieàu khieån vieäc xuaát nhaäp döõ lieäu döôùi daïng song song giöõa trong vaø ngoaøi chip thoâng qua caùc port P0, P1, P2, P3.
Serial port (Port noái tieáp): ñieàu khieån vieäc xuaát nhaäp döõ lieäu döôùi daïng noái tieáp giöõa trong vaø ngoaøi chip thoâng qua caùc chaân TxD, RxD.
Timer 0, Timer 1 (Boä ñònh thôøi 0, 1): duøng ñeå ñònh thôøi gian hoaëc ñeám söï kieän (ñeám xung) thoâng qua caùc chaân T0, T1.
Bus control (Ñieàu khieån bus): ñieàu khieån hoaït ñoäng cuûa heä thoáng bus vaø vieäc di chuyeån thoâng tin treân heä thoáng bus.
Bus system (Heä thoáng bus): lieân keát caùc khoái trong chip laïi vôùi nhau.
2.1.2-Sô ñoà chaân vaø chöùc naêng caùc chaân cuûa chip 89C51:
Hình 2.3 - Sơ đồ chân chip 89C51
Port 0:
Port 0 (P0.0 – P0.7) coù soá chaân töø 32 – 39.
Port 0 coù hai chöùc naêng:
Port xuaát nhaäp döõ lieäu (P0.0 - P0.7) _ khoâng söû duïng boä nhôù ngoaøi.
Bus ñòa chæ byte thaáp vaø bus döõ lieäu ña hôïp (AD0 – AD7)_ coù söû duïng boä nhôù ngoaøi.
Löu yù: Khi Port 0 ñoùng vai troø laø port xuaát nhaäp döõ lieäu thì phaûi söû duïng caùc ñieän trôû keùo leân beân ngoaøi.
Khi laäp trình cho ROM trong chip thì Port 0 ñoùng vai troø laø ngoõ vaøo cuûa döõ lieäu (D0 – D7) (SGK, tr. 333-352).
Port 1:
Port 1 (P1.0 – P1.7) coù soá chaân töø 1 – 8.
Port 1 coù moät chöùc naêng:
Port xuaát nhaäp döõ lieäu (P1.0 – P1.7) _ söû duïng hoaëc khoâng söû duïng boä nhôù ngoaøi.
Khi laäp trình cho ROM trong chip thì Port 1 ñoùng vai troø laø ngoõ vaøo cuûa ñòa chæ byte thaáp (A0 – A7) (SGK, tr. 333-352).
Port 2:
Port 2 (P2.0 – P2.7) coù soá chaân töø 21 – 28.
Port 2 coù hai chöùc naêng:
Port xuaát nhaäp döõ lieäu (P2.0 – P2.7) _ khoâng söû duïng boä nhôù ngoaøi.
Bus ñòa chæ byte cao (A8 – A15) _ coù söû duïng boä nhôù ngoaøi.
Khi laäp trình cho ROM trong chip thì Port 2 ñoùng vai troø laø ngoõ vaøo cuûa ñòa chæ byte cao (A8 – A11) vaø caùc tín hieäu ñieàu khieån
Port 3:
Port 3 (P3.0 – P3.7) coù soá chaân töø 10 – 17.
Port 0 coù hai chöùc naêng:
Port xuaát nhaäp döõ lieäu (P3.0 – P3.7) _ khoâng söû duïng boä nhôù ngoaøi hoaëc caùc chöùc naêng ñaëc bieät.
Caùc tín hieäu ñieàu khieån _ coù söû duïng boä nhôù ngoaøi hoaëc caùc chöùc naêng ñaëc bieät.
Khi laäp trình cho ROM trong chip thì Port 3 ñoùng vai troø laø ngoõ vaøo cuûa caùc tín hieäu ñieàu khieån (SGK, tr. 333-352).
Chöùc naêng cuûa caùc chaân Port 3:
Chaân XTAL1, XTAL2:
XTAL (Crystal): tinh theå thaïch anh, chaân soá 18-19.
Chöùc naêng:
Duøng ñeå noái vôùi thaïch anh hoaëc maïch dao ñoäng taïo xung clock beân ngoaøi, cung caáp tín hieäu xung clock cho chip hoaïtñoäng.
XTAL1 _ ngoõ vaøo maïch taïo xung clock trong chip.
XTAL2 _ ngoõ ra maïch taïo xung clock trong chip.
Löu yù: fTYP = 12MHZ fOSC =
fTYP: taàn soá danh ñònh.
fOSC: taàn soá maïch dao ñoäng treân chip.
fCLK: taàn soá maïch dao ñoäng beân ngoaøi.
Chaân RST:
RST (Reset): thieát laäp laïi, chaân soá 9.
Chöùc naêng:
Laø tín hieäu cho pheùp thieát laëp (ñaët) laïi traïng thaùi ban ñaàu cho heä thoáng.
Laø tín hieäu nhaäp, tích cöïc möùc cao.
RST = 0 : Chip 8051 hoaït ñoäng bình thöôøng.
RST = 1 : Chip 8051 ñöôïc thieát laëp laïi traïng thaùi ban ñaàu.
Chaân Vcc, GND:
Vcc, GND: nguoàn caáp ñieän, chaân soá 40-20.
Chöùc naêng:
Cung caáp nguoàn ñieän cho chip 8051 hoaït ñoäng.
Vcc = +5V ± 10%.
GND = 0V.
2.2-DS1307 Serial Real Time Clock (RTC)
2.2.1-Giới thiệu:
Hình 2.4- Khoái RTC (DS1307)
DS1307 là IC thời gian thực (RTC). Sử sụng giao thức I2C để truyền dữ liệu với các thiết bị khác như vi xử lý, vi điều khiển. Dữ liệu hiển thị thời gian, lịch là mã BCD nén, thêm vào đó có 56 byte SRAM bên trong. Địa chỉ và dữ liệu được truyền nối tiếp thông qua cách I2C. Thời gian và lịch bao gồm có các thông tin về giây, phút, giờ, ngày, ngày trong tuần, tháng và năm. Ngày cuối cùng của tháng thì tự động điều chỉnh nếu một vài tháng có 31 ngày, tương tự với năm nhuận.
2.2.2 Các thanh ghi của DS1307:
Việc lấy dữ liệu thời gian và lịch chỉ đơn giản là đọc dữ liệu từ các thanh ghi thích hợp. Địa chỉ và chức năng của các thanh ghi được liệt kê trong bảng sau:
Hình 2.5- Các thanh ghi RTC
DS12C887 có chạy ở cả 2 mode 12 giờ, hay chế độ 24 giờ. Bit thứ 6 của thanh ghi giờ quyết định chế độ chạy chế độ 12 hay 24. Khi ở mức cao chế độ 12 giờ được chọn.
2.2.3- Điều kiện của giao thức truyền I2C
Trong giao thức truyền này DS1307 được hiểu như một thiết bị Slave, điều kiện của giao thức I2C là:
Dữ liệu bắt đầu truyển chỉ khi bus không bận.
Suốt quá trình truyền SDA phải ở trạng thái ổn định bất cứ khi nào SCL ở mức cao. Thay đổi SDA khi SCL ở mức cao sẽ được hiểu như là 1 tín hiệu điều khiển. Chi tiết hơn là như sau:
Bus không bận: Cả hai đường SDA và SCL vẫn ổn định ở mức cao.
Bắt đầu chuyển dữ liệu: Sự thay đổi trạng thái của SDA, từ cao xuống thấp, trong khi SCL ở mức cao được định nghĩa là điều kiện Start.
Kết thúc chuyển dữ liệu: Sự thay đổi trạng thái của SDA, từ thấp lên cao, trong khi SCL ở mức cao được định nghĩa là điều kiện Stop.
Dữ liệu hợp lệ: Trạng thái của dữ liệu tiêu biểu cho giá trị hợp lệ khi, sau khi bắt đầu điểu kiện Start, SDA phải ở trạng thái ổn định trong suốt quá trình ở mức cao của xung clock. SDA chỉ được thay đổi suốt chu kì mức thấp của xung clock. Có một xung clock trên 1 bit dữ liệu. mỗi lần truyền dữ liệu được bắt đầu bởi điều kiện Start và kết thúc bởi điều kiện Stop, số byte được truyền giữa điều kiện Start, Stop là không bị giới hạn, và được quyết định bởi thiết bị Master (89C51). Cuối mỗi byte có 1 bit Acknowledge (bit thứ 9).
Công nhận: Mỗi thiết bị sau khi được định địa chỉ, thì báo cho Master biết đã nhận đối với mỗi byte. Thiết bị Master phải tạo thêm 1 xung clock phụ liên kết với bit Acknowledged thiết bị thừa nhận phải kéo đường data xuống mức thấp (SDA) phải ổn định ở mức thấp suốt chu kì mức cao của xung clock). Dĩ nhiên thời gian thiết đặt và chờ phải được tính toán trước. Thiết bị Master phải tạo 1 tín hiệu kết thúc dữ liệu với Slave, bởi vì nếu không tạo ra bit Acknowledged cuối byte, Master vẫn tạo ra xung clock nhưng không có sự đáp ứng nào của Slave. Trong trường hợp này, thiết bị Slave phải cho đường data lên mức cao để cho ph...
 

Các chủ đề có liên quan khác

Top