Đồ án Thiết kế đồng hồ số sử dụng vi xử lý 89C51

Cùng với sự phát triển của khoa học và công nghệ, các thiết bị điện tử đã, đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả trong hầu hết các lĩnh vực khoa học kỹ thuật cũng như trong đời sống xã hội. Việc gia công, xử lý các tín hiệu điện tử hiện đại đều dựa trên cơ sở nguyên lý số. Vì các thiết bị làm việc dựa trên cơ sở nguyên lý số có ưu điểm hơn hẳn so với các thiết bị làm việc dưạ trên cơ sở nguyên lý tương tự, đặc biệt là trong kỹ thuật tính toán. Sự phát triển mạnh mẽ của công nghệ điện tử đã cho ra đời nhiều vi mạch số cỡ lớn với giá thành rẻ và khả năng lập trình cao đã mang lại những thay đổi lớn trong ngành điện tử. Mạch số ở những mức độ khác nhau đã đang thâm nhập trong các lĩnh vực điện tử thông dụng và chuyên nghiệp một cách nhanh chóng. Các trường kỹ thuật là nơi mạch số thâm nhập mạnh mẽ và được học sinh, sinh viên ưa chuộng do lợi ích và tính khả thi của nó. Vì thế sự hiểu biết sâu sắc về kỹ thuật số là không thể thiếu đối với sinh viên ngành điện tử hiện nay. Nhu cầu hiểu biết về kỹ thuật số không chỉ riêng đối với những người theo chuyên ngành điện tử mà còn đối với những cán bộ kỹ thuật khác có sử dụng thiết bị điện tử.

doc40 trang | Chia sẻ: ngtr9097 | Lượt xem: 10677 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế đồng hồ số sử dụng vi xử lý 89C51, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG BỘ MÔN ĐIỆN TỬ VIỄN THÔNG ------00O ** & ** O00------ ĐỒ ÁN MÔN HỌC I TÊN ĐỀ TÀI: GVHD: LÊ ANH UYÊN VŨ SVTH: VÕ NGỌC HIỆP LỚP: DV07 MSSV : 0751040025 TP HCM, Tháng 5 năm 2010 TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG BỘ MÔN ĐIỆN TỬ VIỄN THÔNG ------00O ** & ** O00------ ĐỒ ÁN MÔN HỌC I TÊN ĐỀ TÀI GVHD: LÊ ANH UYÊN VŨ SVTH: VÕ NGỌC HIỆP LỚP: DV07 MSSV : 0751040025 TP HCM, Tháng 5 năm 2010 MỤC LỤC Nhận xét của giáo viên hướng dẫn 4 Lời cảm ơn 5 Phần I: Dẫn Nhập 6 Đặt vấn đề. Mục đích và yêu cầu. Giới hạn đề tài Phần II. Cơ sở lý thuyết 8 Giới thiệu IC AT 89C51 Giới thiệu Led 7 đoạn Giới thiệu về transistor C1815, Tụ , Điện trở. Phần III: Thiết kế và thi công 19 Chương I: Thiết kế mạch 19 Sơ đồ khối. Các khối chức năng Sơ đồ nguyên lý và sơ đồ mạch in Mô phỏng mạch và hình ảnh thực tế Giải thuật main Nguyên lý hoạt động của các khối. Chương II: Thi công mạch 38 Dụng cụ sử dụng. Quá trình thi công. Phần IV: Kết luận 39 Ưu điểm Nhược điểm Hướng phát triển Lời kết Tài liệu tham khảo NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN. Chữ ký của giáo viên hướng dẫn LỜI CẢM ƠN - Lời đầu tiên chúng em xin chân thành cảm ơn cô Lê Anh Uyên Vũ cùng quý thầy cô bộ môn khoa Điện-Điện Tử Viễn Thông Trường Đại Học Giao Thông Vận Tải Thành Phố Hồ Chí Minh. - Trong quá trình thực hiện đồ án gặp những khó khăn và thiếu sót khi thực hiện đồ án, trong thực hiện và thi công mạch về phần cứng cũng như về phần mềm. Nhưng được sự hướng dẫn và chí dạy nhiệt tình của quý thầy cô đã giúp chúng em khắc phục được những thiếu sót đó và có thể hoàn thành được đề tài. - Kế đó xin gửi lời cảm ơn tới các bạn trong lớp giúp đỡ hoàn thành đồ án nhanh nhất!. TP HCM, tháng 4 năm 2010 SV thực hiện: Võ Ngọc Hiệp PHẦN I Dẫn Nhập 1.1/ Đặt vấn đề : Cùng với sự phát triển của khoa học và công nghệ, các thiết bị điện tử đã, đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả trong hầu hết các lĩnh vực khoa học kỹ thuật cũng như trong đời sống xã hội. Việc gia công, xử lý các tín hiệu điện tử hiện đại đều dựa trên cơ sở nguyên lý số. Vì các thiết bị làm việc dựa trên cơ sở nguyên lý số có ưu điểm hơn hẳn so với các thiết bị làm việc dưạ trên cơ sở nguyên lý tương tự, đặc biệt là trong kỹ thuật tính toán. Sự phát triển mạnh mẽ của công nghệ điện tử đã cho ra đời nhiều vi mạch số cỡ lớn với giá thành rẻ và khả năng lập trình cao đã mang lại những thay đổi lớn trong ngành điện tử. Mạch số ở những mức độ khác nhau đã đang thâm nhập trong các lĩnh vực điện tử thông dụng và chuyên nghiệp một cách nhanh chóng. Các trường kỹ thuật là nơi mạch số thâm nhập mạnh mẽ và được học sinh, sinh viên ưa chuộng do lợi ích và tính khả thi của nó. Vì thế sự hiểu biết sâu sắc về kỹ thuật số là không thể thiếu đối với sinh viên ngành điện tử hiện nay. Nhu cầu hiểu biết về kỹ thuật số không chỉ riêng đối với những người theo chuyên ngành điện tử mà còn đối với những cán bộ kỹ thuật khác có sử dụng thiết bị điện tử. 1.2/ Mục đích yêu cấu : Söï caàn thieát , quan troïng cuõng nhö tính khaû thi vaø lôïi ích cuûa maïch soá cuõng chính laø lyù do ñeå choïn vaø thöïc hieän ñeà aùn “thieát keá maïch ñoàng hoà soá” nhaèm öùng duïng kieán thöùc ñaõ hoïc veà kó thuaät soá vaøo thöïc teá. Yeâu caàu cuûa ñoà aùn naøy laø thieát keá Ñoàng Hoà Soá söû duïng vi xöû lí 89C51. Coù theå hieån thò giôø , chænh giôø ,vaø heïn giôø. 1.3/ Giôùi haïn ñeà taøi: Trong phaïm vi taäp ñeà aùn naøy, ngöôøi thöïc hieän chæ thieát keá vaø thi coâng maïch ñoàng hoà số goïn, ñôn giaûn. Đề tài “ñoàng hoà soá” rất đa dạng và phong phú, có nhiều loại hình khác nhau dựa vào công dụng và độ phức tạp. Do tài liệu tham khảo bằng Tiếng Việt còn hạn chế, trình độ có hạn và kinh nghiệm trong thực tế còn non kém, nên đề tài chắc chắn còn nhiều thiếu sót. Vì vậy rất mong nhận được những ý kiến đóng góp, giúp đỡ chân thành của các thầy cô cũng như của các bạn sinh viên. PHẦN II Cơ SởLý Thuyết 2.1 / Giới thiệu các thông số AT89C51 : 2.1.1/ Giới thiệu: Ñaëc ñieåm vaø chöùc naêng hoaït ñoäng cuûa caùc IC hoï MSC-51 hoaøn toaøn töông töï nhau, ôû ñaây ta giôùi thieäu AT89C51. AT89C51 là phiên bản 8051 có ROM trên chip là bộ nhớ Flash.Phiên bản này rất thích hợp cho các ứng dụng nhanh vi bộ nhớ Flash có thể xóa được trong vài giây. - 4 KB EPROM bên trong - 128 Bytes RAM nội - 4 Port xuất nhập I/O 8 bgit - Giao tiếp nối tiếp - Cho phép xử lý bit. - 210 vị trí nhớ có thể định vị bit. - 4 chu kỳ máy (4 µs đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia. - Có các chế độ nghỉ (Low-power Idle) và chế độ nguồn giảm (Power-down). Ngoải ra, một số IC khác của họ MCS-51 có thêm bộ định thời thứ 3 và 256 byte RAM nội. AT89C51 có thể giao tiếp với bộ nhớ ngoài dung lượng lên đến 64KB, 89C51 có 2 ngắt ngoài và 2 ngắt timer mức độ ưu tiên được quy định cụ thể,8951 cũng có 2 bộ đếm 16 bit,kênh giao tiếp nối 2 chiều.Với bộ xử lí đại số Boole cho phép xử lí từng bit của RAM va thiết bị ngoại vi,mỗi lệnh của kéo dài 1 đến 2 micro giây. 2.1.2/ caáu truùc beân trong cuûa IC 89C51. + Thaønh phaàn chính cuûa vi ñieàu khieån 89C51 la boä xöû lyù trung taâm hay con goïi laø CPU. CPU bao goàm: Thanh ghi tích luyõ A Thanh ghi tích luyõ B, duøng cho pheùp nhaân vaø chia Ñôn vò logic hoïc ALU Töø traïng thaùi chöông trình PSW 4 bank thanh ghi Con troû ngaên xeáp Ngoaøi ra coøn coù boä nhôù chöông trình, boä giaûi ma leänh, boä ñieàu khieån thôøi gian vaø logic + Ñôn vò xöû lyù trung taâm nhaän tröïc tieáp xung töø boä dao ñoäng + Chöông trình ñang chaïy coù theå cho döøng laïi nhôø moät khoái ñieàu khieån ôû beân trong. Caùc nguoàn ngaét coù theå laø caùc bieán coá ôû beân ngoaøi, söï traøn boä ñeám ñònh thôøi hoaëc cuõng coù theå laø giao dieän noái tieáp. + 2 boä ñònh thôøi 16 bit hoaït ñoäng nhö moät boä ñeám. + Caùc coång port 0, port 1, port 2, port 3 ñöôïc söû duïng vaøo muïc ñích ñieàu khieån, ôû coång port 3 coù theâm caùc ñöôøng daãn ñieàu khieån duøng ñeå trao ñoåi vôùi moät boä nhôù beân ngoaøi, hoaëc ñeå ñaàu noái giao dieän noái tieáp cuõng nhö caùc ñöôøng daãn ngaét beân ngoaøi. + Giao dieän noái tieáp coù chöùa moät boä truyeàn vaø moät boä nhaän khoâng ñoàng boä laøm vieäc ñoäc laäp vôùi nhau. Toác ñoä truyeàn qua coång noái tieáp coù theå ñaët trong daûi roäng vaø ñöôïc aán ñònh baèng moät boä ñònh thôøi. + Trong vi dieàu khieån 8051 coøn coù hai thaønh phaàn quan troïng khaùc laø boä nhôù vaø caùc thanh ghi + Boä nhôù coøn coù Ram vaø Rom duøng ñeå löu döõ lieäu vaø maõ leänh. + Caùc thanh ghi söû duïng ñeå löu döõ thoâng tin trong quaù trình xöû lyù. Khi CPU laøm vieäc, noù laøm thay ñoâæ noäi dung cuûa caùc thanh ghi 2.1.3/ Sô ñoà chaân 89C51: AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ. a. Các Port : - Port 0: Có hai chức năng từ chân 31 đến chân 39 trong các thiết kế nhỏ. ( không dùng bộ nhớ mở rộng ) .Có hai chức năng như các đường I/O . Đối với các thiết kế cỡ lớn ( với bộ nhớ mở rộng ) nó được kế hợp kênh giữa các Bus. Port 1: laø port I/O treân caùc chaân töø chaân soá 1 ñeán chaân soá 8. coù theå duøng caùc thieát bò ngoaøi neáu caàn. Port 1 khoâng coù chöùc naêng khaùc vì theá chuùng ta chæ ñöôïc duøng trong caùc thieát bò ngoaøi. Port 2: laø port coâng duïng keùp treân caùc chaân 22 ñeán 28 ñöôïc duøng nhö caùc ñöôøng xuaát nhaäp hoaëc byte cao cuûa bus ñòa chæ ñoái vôùi caùc thieát keá môû roäng. Port 3: laø port coâng duïng keùp treân caùc chaân 10 ñeán chaân 17. Caùc chaân cûa port naøy coù nhieàu chöùc naêng, caùc coâng duïng chuyeån ñoåi coù lieân heä vôùi caùc ñaëc tín ñaëc bieät cuûa 8051/8031 nhö ôû baûng sau: Bit Teân Chöùc naêng chuyeån ñoåi P3.0 RXD Döõ lieäu nhaän cho port noái tieáp P3.1 TXD Döõ lieäu phaùt cho port noái tieáp P3.2 INTO Ngaét 0 beân ngoaøi P3.3 INT1 Ngaét 1 beân ngoaøi P3.4 T0 Ngoõ vaøo cuûa timer/courter 0 P3.5 T1 Ngoõ vaøo cuûa timer/courter 1 P3.6 WR Xung ghi boä nhôù döõ lieäu ngoaøi P3.7 RD Xung ñoïc boä nhôù döõ lieäu ngoaøi b .Nhóm chân nguồn,dao động và điều khiển - VCC - Chân 40 được nối lên nguồn 5V. - GND - Chân 20 nối đất - XTAL1-chân 19 và XTAL2-chân 18 : Bộ dao động được tích hợp bên trong 8951, khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ XTAL1-chân 19 và XTAL2-chân 18. Tần số thạch anh thường sử dụng cho AT89C51 là 12Mhz. + Chaân PSEN: laø chaân 29, coù 4 tín hieäu ñieàu khieån, laø tín hieäu ñeå cho pheùp boä nhôù chöông trình môû roäng vaø thöôøng ñöôïc noái leân chaân OE cuûa moät Eprom ñeå cho pheùp ñoïc caùc byte maõ leänh. PSEN ôû möùc thaáp trong thôøi gian laáy leänh. Caùc maõ nhò phaân cuûa chöông trình ñöôïc ñoïc töø Eprom qua bus vaø ñöôïc choát vaøo thanh ghi leänh cuûa 8051 ñeå giaûi maõ leänh. Khi thi haønh chöông trình trong Rom noäi PSEN seõ thuï ñoäng (möùc cao). + Chaân ALE: (choát) Tín hieäu ra ALE treân chaân 30 töông hôïp vôùi caùc thieát bò laøm vieäc vôùi caùc xöû lyù 8585,8088,8051 duøng ALE moät caùch töông töï cho laøm vieäc giaûi caùc keânh caùc Bus ñòa chæ vaø döõ lieäu khi port 0 ñöôïc duøng trong cheá ñoï chuyeån ñoåi cuûa noù: vöøa laø Bus döõ lieäu vöøa laø byte thaáp cuûa ñòa chæ, ALE laø tín hieäu ñeå choát ñòa chæ vaøo vaøo moät thanh ghi beân ngoaøi trong nöûa ñaàu cuûa chu kyø boä nhôù. Sau ñoù caùc ñöông port 0 duøng ñeå xuaát hoaëc nhaäp döõ lieäu trong nöûa sau cuûa chu kyø boä nhôù. Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá dao ñoäng treân chíp vaø coù theå ñöôïc laøm xung nhòp cho caùc heä thoáng. Neáu xung treân 8051 laø 12MHZ thì ALE coù taàn soá 2MHZ. Chæ ngoaïi tröø khi thi haønh leänh Movx, moät xung ALE bò maát. Chaân naøy cuõng ñöôïc laøm ngoõ vaøo cho xung laäp trình cho Eprom trong 8051. + Chaân EA: (truy xuaát ngoaøi):Tín hieäu vaøo EA treân chaân 31 thöôøng ñöôïc maéc leân möùc cao(+5V) hoaëc möùc thaáp(GND). Neáu ôû möùc cao, 8051 thi haønh chöông trình töø Rom noäi trong khoaûng ñòa chæ thaáp(4K). Neáu ôû möùc thaáp chöông trình chi ñöôïc thi haønh töø boä nhôù môû roäng. Khi duøng 8031, EA luoân ñöôïc noái ôû möùc thaáp vì khoâng coù boä nhôù chöông trình treân chíp. Neáu EA ñöôïc noái ôû möùc thaáp boä nhôù beân trong chöông trình 8051 seõ bò caám vaø thi haønh chöông trình Eprom môû roäng. Ngöôøi ta coøn duøng chaân EA laøm chaân caáp ñieän aùp 21V khi laäp trình cho Eprom trong 8051. + Chaân RST(reset): Khi tín hieäu naøy ñöôïc ñöa leân möùc cao(ít nhaát phaûi 2 chu kyø maùy), caùc thanh ghi trong 8051 ñöôïc taûi nhöõng giaù trò thích hôïp ñeû khôûi ñoäng heä thoáng. 2.1.4/ Các thanh ghi bộ định thời (Timer): - AT89C51 có hai thanh ghi bộ định thời/đếm 16 bit được dung cho định thời hoặc đếm sự kiên. a. Thanh ghi cheá ñoä ñònh thôøi (TMOD): - Khoâng ñöôïc ñònh ñòa chæ bit. - Ñöôïc duøng ñeå ñònh cheá ñoä hoaït ñoäng cho caùc timer. - Chöùc naêng töøng bit: + M1, M0: choïn cheá ñoä hoaït ñoäng. M1 M0 CHẾ ĐỘ (MODE) 0 0 0 0 1 1 1 0 2 1 1 3 + T/C : bit choïn chöùc naêng ñeám hoaëc ñònh thôøi cho timer. + Gate: bit ñieàu khieån coång cho boä ñònh thôøi. b. Thanh ghi ñieàu khieån ñònh thôøi (TCON): - Chöùa caùc bit ñieàu khieån vaø traïng thaùi cuûa timer 0 vaø 1 ôû 4 bit cao, 4 bit thaáp ñöôïc duøng cho chöùc naêng ngaét (interrupt). - Chöùc naêng töøng bit: + TF x: côø traøn cuûa timer x (x laø 0 hay 1) + TRx = 0: khoâng cho pheùp timer chaïy. + TRx = 1: cho pheùp timer chaïy. 2.1.5/ Caùc thanh ghi port noái tieáp (Serial port) : * Thanh ghi SBUF (Serial Buffer): - ôû ñòa chæ 99H laø boä ñeäm nhaäp/xuaát noái tieáp. Khi xuaát döõ lieäu thì ghi leân SBUF, khi nhaäp döõ lieäu thì ñoïc töø SBUF. - Caùc cheá ñoä hoaït ñoäng khaùc nhau cuûa port noäi tieáp ñöôïc laäp trình thoâng qua thanh ghi ñieàu khieån port noái tieáp SCON (Serial Control) ôû ñòa chæ 98H. Ñaây laø thanh ghi ñöôïc ñònh ñòa chæ töøng bit. * Thanh ghi ñieàu khieån port noái tieáp SCON - Ñòa chæ 99H. - Ñònh ñòa chæ bit. - Chöùc naêng caùc bit: + SM0, SM1: choïn cheá ñoä hoaït ñoäng cuûa port noái tieáp SM0 SM1 Chế độ (Mode) Mô tả 0 0 0 Thanh ghi dịch. 0 1 1 UART 8 bit tốc độ thay đổi 1 0 2 UART 9 bit tốc độ cố định. 1 1 3 UART 9 bit tốc độ thay đổi. + SM2: choïn cheá ñoä hoaït ñoäng cuûa port noái tieáp. SM2 = 1: cho pheùp truyeàn thoâng ña xöû lyù ôû caùc cheá ñoä 2 vaø 3; bit RI seõ khoâng ñöôïc tích cöïc neáu bit thöù 9 nhaän ñöôïc laø 0. + REN: bit cho pheùp thu. REN = 1: cho pheùp thu. REN = 0: khoâng cho pheùp thu. + TB8: bit phaùt thöù 9 (ôû cheá ñoä 2 vaø 3), coù theå ñaët vaø xoùa baèng phaàn meàm. + RB8: bit thu thöù 9 (ôû cheá ñoä 2 vaø 3), coù theå ñaët vaø xoùa baèng phaàn meàm. 2.4.6/ Caùc thanh ghi ngaét (Interrupt): - 8031/8051 coù 5 nguoàn ngaét: + 2 ngaét ngoaøi: ngaét ngoaøi 0: qua chaân 0INT (P3.2) Ngaét ngoaøi 1: qua chaân 1INT (P3.3) + 3 ngaét trong: ngaét timer 0 Ngaét timer 1 Ngaét port noái tieáp. * Caùc thanh ghi lieân quan ñeán ngaét : a. Thanh ghi cho pheùp ngaét IE (Interrupt Enable) - Ñöôïc ñònh ñòa chæ bit. - Chöùc naêng töøng bit: EA: cho pheùp toaøn boä . ET2: cho pheùp ngaét timer 2 (neáu coù) . ES: cho pheùp ngaét port noái tieáp . ET1: cho pheùp ngaét timer 1 . EX1: cho pheùp ngaét ngoaøi 1 ET0: cho pheùp ngaét timer 0 . EX0: cho pheùp ngaét ngoaøi 0 . - Ñeå cho pheùp 1 nguoàn ngaét, caàn phaûi coù: + EA = 1 + Bit cho pheùp ngaét töông öùng baèng 1. b/ Thanh ghi öu tieân ngaét IP (Interrupt Priority) - Ñöôïc ñònh ñòa chæ bit. - Bit = 1: möùc öu tieân cao - Bit = 0: möùc öu tieân thaáp - Maëc nhieân sau khi reset, taát caû caùc ngaét ôû möùc öu tieân thaáp. - Neáu 2 ngaét vôùi möùc öu tieân khaùc nhau xuaát hieän ñoàng thôøi, ngaét coù möùc öu tieân cao seõ ñöôïc phuïc vuï tröôùc. Ñoàng thôøi, ngaét coù möùc öu tieân cao cuõng coù theå taïm döøng chöông trình phuïc vuï ngaét cuûa ngaét coù möùc öu tieân thaáp. - Neáu caùc ngaét coù cuøng möùc öu tieân xuaát hieän ñoàng thôøi, vieäc xaùc ñònh ngaét naøo ñöôïc phuïc vuï tröôùc seõ theo thöù töï: ngắt ngoaøi 0, ngắt timer 0, ngắt ngoaøi 1,ngắt timer 1,ngắt port noái tieáp,ngắt timer 2 (ñoái vôùi 8032/8052). c/ Thanh ghi TCON - Ñònh ñòa chæ bit. - Chöùc naêng caùc bit lieân quan ñeán ngaét (interrupt): + IEx: côø ngaét ngoaøi x (IEx = 1 → taïo ngaét ngoaøi x) + ITx: bit xaùc ñònh loaïi taùc ñoäng ngaét ngoaøi x : ITx = 0 : taùc ñoäng möùc 0 ITx = 1 : taùc ñoäng caïnh xuoáng (thöôøng duøng) 2.2/LED 7 ĐOẠN Một trong các chỉ báo hiển thị số thập phân và một dố kí tự khác là Led 7 đoạn.Led có 2 loại Anot chung và Catot chung.Sau đây chúng ta sẽ tìm hiểu loại Anot chung đã sử dụng. Led Anode chung : Đối với dạng Led anode chung, chân COM phải có mức logic 1 và muốn sáng Led thì tương ứng các chân a – f, dp sẽ ở mức logic 0. Bảng mã cho Led Anode chung (a là LSB, dp là MSB): - Để hiển thị dữ liệu trên Led dùng AT89C51 có 2 phương pháp là chốt dữ liệu dùng một số loại IC chốt như : 74HC573,74LS373,74LS374...và phương pháp quét Led. - Trong đồ án này em đã dùng phương pháp quét led , là một trong những phương pháp được dùng nhiều hiện nay. 2.3 / Transistor điều khiển nâng dòng: C1815: 6/Ñieän trôû: söû duïng ñieän trôû 4 voøng maøu vaø 5 voøng maøu Kyù hieäu: 7/ Tuï ñieän: tuï coù phaân cöïc vaø tuï khoâng phaân cöïc Kyù hieäu: + Tuï phaân cöïc: + Tuï khoâng phaân cöïc: PHAÀN III Thiết Kế Và Thi Công Chương I THIEÁT KEÁ MAÏCH I.SƠ ĐỒ KHỐI CỦA MẠCH NÚT NHẤN LED 7 ĐOẠN BỘ DAO ĐỘNG THẠCH ANH KHỐI XỬ LÍ VÀ ĐIỀU KHIỂN LOA II. Các khối chức năng : 1 .Khối giao tiếp nút nhấn : Bao gồm 4 nút nhấn như hình vẽ : Bình thường các chân này luôn ở trạng thái mức thấp khi nhấn nút trạng thái thay đổi. Đồng thời vi xử lí sẽ được kích thực hiện các chương trình chỉnh giờ,hẹn giờ,chọn led hay tăng giá trị tùy thuộc vào ta kích cho chân nào. 2 . Bộ dao động thạch anh : Bộ này có tác dụng tạo ra tần số dao động chuẩn cho chip.Thông thường tần số của thạch anh là 12MHZ,thạch anh được nối tới 2 chân XTAL-chân 18 và XTAL2 -chân 19 và 2 tụ 30pF. 3. Khối xử lí và điều khiển : Khối này là IC AT89C51 mọi quá trình xử lí dữ liệu dều dược thực hiện ở đây.Trong đồ án này em đã sử dụng port 1 để xuất dữ liệu sau khi 8951 tính toán.Còn port 2 dùng để xuất các tín hiệu điều khiển để quét led. Các nút điều khiển được mắc như hình vẽ. 4. Khối hiển thị Led 7 đoạn : Khối này có chức năng hiển thị giờ ,phút giây dữ liệu sẽ được lấy từ Port 1 của vi xử lí AT89C51 III.Sô ñoà nguyeân lyù vaø sô ñoà maïch in: Sơ đồ nguyên lý Sơ đồ mạch xử lý Sơ đồ mạch hiển thị IV. Mô phỏng mạch và hình ảnh thực tế : V. GIẢI THUẬT MAIN: BENGIN - Khai báo biến - Khởi động timer 0 - Khởi động ngắt timer 0 Nạp giá trị cho byte cao(TH0) và byte thấp (TL0) Cho phép timer 0 chạy CLR P3.5 Chương trình Ngắt timer 0 Gọi Chương trình hiển thị led Gọi chương trình chỉnh giờ Gọi chương trình hẹn giờ Gọi chương trình so sánh để báo thức CHƯƠNG TRÌNH NGẮT TIMER 0 S S S S Đ Đ Đ Đ EXIT R0 = 60 Gán giây bằng 0 Tăng phút Gán phút vào R0 R0 = 60 Gán phần trăm giây bằng 0 Tăng giây Gán giây vào R0 R0 = 100 Tăng phân trăm giây Gán phân trăm giây vào R0 T0_ISR Gán giờ bằng 0 R0 = 24 Gán phút bằng 0 Tăng giờ Gán phút vào R0 CHƯƠNG TRÌNH CON CHỈNH GIỜ CHỈNH GIÂY S Chỉnh giờ Đ Cho 2led giay nhap nhay Chỉnh phút Đ EXIT Chọn led S Đ Chỉnh giờ S S Tăng giá trị Đ Tăng giây lên một đơn vị S Đủ 60 chưa Đ Cho giây bằng 0 Lưu đồ giải thuật chương trình con chỉnh phút, giờ cũng tương tự như lưu đồ giải thuật chương trình con chỉnh giây.Và tổng hợp 3 như lưu đồ giải thuật chương trình con chỉnh giờ ,phút ,giây ta được như lưu đồ giải thuật chương trình chỉnh giờ đồng hồ. như lưu đồ giải thuật chương trình hẹn giờ tương tự như như lưu đồ giải thuật chương trình chỉnh giờ đồng hồ. CHƯƠNG TRÌNH CON SO SÁNH Tắt báo thức EXIT Nhấn nút bất kì SETB P3.5 Gọi báo thức Giây = Giây hẹn Phút = Phút hẹn Giờ = Giờ hẹn SO SÁNH S Đ S Đ S Đ S Đ CHUONG VI : CODE CỦA MẠCH ;----------DONG HO SO CO HEN GIO-------------------- ;P3.1 : NUT CHINH GIO ;P3.2 : NUT HEN GIO ;P3.3 : CHON LED ;P3.4 : TANG GIA TRI CUA LED ;P3.5 : NOI VOI LOA ;---------------------------------------------------- ORG 0 LJMP MAIN ORG 0BH LJMP T0_ISR ORG 30H ;------------------------------------ MAIN: ;*********KHAI BAO BIEN********** GIO EQU 30H PHUT EQU 31H GIAY EQU 32H PTRAM_GIAY EQU 33H GIO_HEN EQU 45H PHUT_HEN EQU 46H GIAY_HEN EQU 47H MODE EQU 48H ;***********KHOI DONG BIEN******** CLR P3.5 MOV R1,#10 MOV TMOD,#01 MOV IE,#82H MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 MOV GIAY_HEN,#60 CT_CHINH: ACALL DISPLAY ACALL CHINH_GIAY ACALL HEN_GIO_BAO_THUC ACALL SOSANH LJMP CT_CHINH ;------------------------------------ T0_ISR: CLR TR0 MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 INC PTRAM_GIAY MOV A,PTRAM_GIAY CJNE A,#100,THOAT MOV PTRAM_GIAY,#0 INC GIAY MOV A,GIAY CJNE A,#60,THOAT MOV GIAY,#0 INC PHUT MOV A,PHUT CJNE A,#60,THOAT MOV PHUT,#0 INC GIO MOV A,GIO CJNE A,#24,THOAT MOV GIO,#0 THOAT: RETI ;---------------------------------- ;---------------------------------------- BIN_BCD: ;CHUYEN SANG DANG BCD MOV B,#10 DIV AB MOV 40H,A MOV 41H,B RET ;------------------------------------- DISPLAY: MOV P1,#00H; ACALL GAN1 ACALL LED1 ACALL LED2 ACALL LED3 ACALL LED4 ACALL LED5 ACALL LED6 RET ;---------------------------------- DISPLAY1: MOV P1,#00H; ACALL GAN2 ACALL LED1 ACALL LED2 ACALL LED3 ACALL LED4 ACALL LED5 ACALL LED6 RET ;---------------