Đồ án Thiết kế Lịch Vạn Niên (sáng tỏ mô hình ứng dụng trong cuộc sống gia đình)

Ngày nay, khoa học công nghệ đạt được một trình độ phát triển rất nhanh và mạnh mẽ, cùng với sự phát triển của các nghành kĩ thuật nói chung và công nghệ điện tử nói riêng. Những thành tựu đạt được cũng như các ứng dụng của công nghệ kĩ thuật điện tử ngày càng được sử dụng nhiều trong cuộc sống hàng ngày của con người và trong các nghành công nghiệp khác. Đặc biệt hiện nay trong lĩnh vực vi xử lý, những ứng dụng của nó đã mang lại hiệu quả rất thiết thực trong cuộc sống như: quang báo điện tử, lịch vạn niên, điều khiển tốc độ động cơ, hệ thống đếm sản phẩm . Nắm dược tầm quan trọng đó, chúng em đã quyết định chọn đề tài “ LỊCH VẠN NIÊN ’’ để làm đồ án tốt nghiệp của mình. Để qua đó thể hiện được một phần mô hình ứng dụng trong cuộc sống, trong gia đình Bằng những kiến thức đã đạt được trong quá trình học tập tại nhà trường và những tìm hiểu nghiên cứu bên ngoài cùng với những nổ lực của bản thân, mỗi sinh viên trong nhóm của chúng em sẽ được đánh giá qua đợt bảo vệ đồ án này. So với thời gian học tập tại trường thì đó là thành quả của quá trình học tập cùng với những thành công ban đầu trước khi tốt nghiệp ra trường. Nhóm chúng em đã cố gắng nổ lực hết mình trong suốt thời gian thực hiện đề tài này nhưng với lượng kiến thức và thời gian cho phép nên đồ án còn nhiều thiếu sót. Nhóm chúng em mong nhận được nhiều sự nhận xét và ý kiến đóng góp của quý thầy cô và các bạn về đề tài này cũng như hướng mở rộng, phát triển đề tài để hoàn thiện hơn. Nhóm chúng em xin chân thành cám ơn.

doc94 trang | Chia sẻ: ngtr9097 | Lượt xem: 3602 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế Lịch Vạn Niên (sáng tỏ mô hình ứng dụng trong cuộc sống gia đình), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nhận xét của giáo viên hướng dẫn ---o0o--- …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………… Tp. HCM, ngày …. tháng …. năm 2011 Giáo viên hướng dẫn Nguyễn Hữu Phước Nhận xét của giáo viên phản biện ---o0o--- Tp.HCM, ngày …. tháng…. năm 2011 Giáo viên phản biện Trương Quang Trung Lời cảm ơn Trong suốt thời gian học tập tại trường Cao Đẳng Kỹ Thuật Cao Thắng, chúng em nhận được sự giảng dạy cũng như sự chỉ dẫn một cách tận tình của quí thầy cô về những kiến thức trong học tập cũng như trong cuộc sống. Chúng em xin chân thành cảm ơn quí thầy cô trong khoa Điện Tử-Tin Học đã giảng dạy cho chúng em những kiến thức chuyên môn và tạo điều kiện cho chúng em hoàn thành tốt khóa học, qua đó giúp chúng em định hướng được trong việc lựa chọn và thực hiện đề tài “LỊCH VẠN NIÊN” trong khả năng của mình. Chúng em cũng xin chân thành cảm ơn Thầy Nguyễn Hữu Phước, đã tận tình theo dõi, giúp đỡ và hướng dẫn chúng em trong suốt thời gian chúng em thực hiện và hoàn thành đồ án này. Nhóm sinh viên thực hiện ĐẶNG QUỐC KHÁNH ĐOÀN VĂN LÊN NGUYỄN DUY ĐỨC LIN Lời nói đầu Ngày nay, khoa học công nghệ đạt được một trình độ phát triển rất nhanh và mạnh mẽ, cùng với sự phát triển của các nghành kĩ thuật nói chung và công nghệ điện tử nói riêng. Những thành tựu đạt được cũng như các ứng dụng của công nghệ kĩ thuật điện tử ngày càng được sử dụng nhiều trong cuộc sống hàng ngày của con người và trong các nghành công nghiệp khác. Đặc biệt hiện nay trong lĩnh vực vi xử lý, những ứng dụng của nó đã mang lại hiệu quả rất thiết thực trong cuộc sống như: quang báo điện tử, lịch vạn niên, điều khiển tốc độ động cơ, hệ thống đếm sản phẩm…. Nắm dược tầm quan trọng đó, chúng em đã quyết định chọn đề tài “ LỊCH VẠN NIÊN ’’ để làm đồ án tốt nghiệp của mình. Để qua đó thể hiện được một phần mô hình ứng dụng trong cuộc sống, trong gia đình… Bằng những kiến thức đã đạt được trong quá trình học tập tại nhà trường và những tìm hiểu nghiên cứu bên ngoài cùng với những nổ lực của bản thân, mỗi sinh viên trong nhóm của chúng em sẽ được đánh giá qua đợt bảo vệ đồ án này. So với thời gian học tập tại trường thì đó là thành quả của quá trình học tập cùng với những thành công ban đầu trước khi tốt nghiệp ra trường. Nhóm chúng em đã cố gắng nổ lực hết mình trong suốt thời gian thực hiện đề tài này nhưng với lượng kiến thức và thời gian cho phép nên đồ án còn nhiều thiếu sót. Nhóm chúng em mong nhận được nhiều sự nhận xét và ý kiến đóng góp của quý thầy cô và các bạn về đề tài này cũng như hướng mở rộng, phát triển đề tài để hoàn thiện hơn. Nhóm chúng em xin chân thành cám ơn. Mục Lục Nhận xét của giáo viên hướng dẫn Trang Nhận xét của giáo viên phản biện Lời cảm ơn Lời nói đầu Mục lục Chương dẫn nhập: 7 1.1.Đặt vấn đề 7 1.2.Các yêu cầu đạt được và hạn chế của đề tài 7 1.3.Mục đích nghiên cứu 8 1.4.Đối tượng nghiên cứu, ứng dụng và hướng phát triển đề tài 8 Chương 2: Giới thiệu một số linh kiện được sử dụng trong mạch 9 2.1.Giới thiệu về Pic 9 2.1.1.Tổng quan về họ vi điều khiển 9 2.1.1.1.Một số đặc tính của vi điều khiển Pic 9 2.1.1.2.Những đặc tính ngoại vi 10 2.1.1.3.Đặc điểm về tương tự 11 2.1.1.4.Các đặc điểm đặc biệt của vi điều khiển Pic 11 2.1.1.5.Công nghệ CMOS 12 2.1.2.Giới thiệu về Pic16f8xx và Pic16f877A 12 2.1.2.1.Các đặc tính ngoại vi bao gồm 13 2.1.2.2.Sơ lược về vi điều khiển Pic16f877A 14 2.1.2.3.Cấu trúc phần cứng của Pic16f877A 18 2.1.2.4.Một số chế độ đặc biệt của vi điều khiển Pic16f877A 19 2.1.2.4.1.Dao động 19 2.1.2.4.2.Reset 21 2.1.2.4.3.MCLR 21 2.1.2.4.4.Interrups 22 2.1.2.5.Tổ chức bộ nhớ 23 2.1.2.5.1.Bộ nhớ chương trinh 23 2.1.2.5.2.Bộ nhớ dữ liệu 24 2.1.2.6.Các thanh ghi chức năng đặc biệt 31 2.1.2.6.1.Thanh ghi trạng thái(Status Register) 31 2.1.2.6.2.Thanh ghi tùy chọn(Option Register) 32 2.1.2.7.Khái quát chức năng các Port trong vi điều khiển Pic 33 2.1.2.7.1.PortA và thanh ghi TrisA 34 2.1.2.7.2.PortB và thanh ghi TrisB 36 2.1.2.7.3.PortC và thanh ghi TrisC 38 2.1.2.7.4.PortD và thanh ghi TrisD 39 2.1.2.7.5.PortE và thanh ghi TrisE 40 2.1.2.8.Bộ định thời của Pic16f877A 41 2.1.2.8.1.Bộ định thời Timer0 41 2.1.2.8.2.Bộ định thời Timer1 43 2.1.2.8.3.Bộ định thời Timer2 45 2.1.2.9.Chế độ diều chế xung PWM 46 2.1.2.10.Module ADC 48 2.1.2.10.1.Giới thiệu Module ADC 10 bit 48 2.1.2.10.2.Các thanh ghi điều khiển 48 2.1.2.10.3. Lựa chọn xung Clock cho biến đổi ADC 51 2.2 IC ổn áp 7805 52 2.3.Chip DS1307 53 2.4.Diode 59 2.4.1. Diode chỉnh lưu 59 2.4.2.diode phát quang(led đơn) 60 2.4.3 Led 7 đoạn 60 2.5.Điện trở 62 2.6.Tụ điện 63 2.7.Transistor 65 Chương 3:Sơ đồ nguyên lý các khối trong mạch 77 3.1.Sơ đồ nguyên lý mạch Pic16f877A và DS1307 77 3.1.1.Lưu đồ giải thuật “ Lịch Vạn Niên” 78 3.1.2.Sơ đồ khối chung 79 3.2. Sơ đồ khối hiển thị 80 3.3.Sơ đồ mạch nguồn 81 Chương 4:Tổng quan về ngôn ngữ lập trình CCS 82 Code chương trình “ Lịch Vạn Niên” 83 Chương Tổng Kết: 94 Tài liệu và các trang Web tham khảo: 95 CHƯƠNG 1: DẪN NHẬP 1.1. Đặt vấn đề: Với những thành tựu về khoa học kỹ thuật cũng như nhu cầu của con người ngày càng cao. Vì vậy đòi hỏi nhiều ứng dụng của khoa học kỹ thuật vào các ngành công nghệp nói chung và kỹ thuật điện tử nói riêng được ứng dụng vào cuộc sống. Nó giúp cho ngành điện tử ngày càng phát triển, đồng thời giúp cho cuộc sống của con người ngày càng nâng cao hơn. Một trong các ứng dụng được sử dụng rộng rãi trong cuộc sống hàng ngày, trong các thiết bị trong gia đình. Trong giai đoạn hiện nay, với sự phát triển vượt bậc của công nghệ chế tạo, hàng loạt các loại IC mới ra đời và phát triển. Những loại IC này xử lý nhanh hơn rất nhiều so với các IC trước và đặc biệt chúng ta có thể ghi/xóa dữ liệu 1 cách dễ dàng.Vì thế, nó được sử dụng nhiều trong các thiết bị điện-điên tử. Với sự ra đời của các dòng IC mới làm thúc đẩy sự phát triển của những IC thời gian thực như: DS1307, DS12887…Bên cạnh sự phát triển của khoa học kĩ thuật đã góp phần nâng cao đời sống con người.Cũng chính vì thế mà mọi người cần phải biết chính xác ngày, giờ để thu xếp việc làm, học tập cho hợp lý. Xuất phát từ thật tiễn nhóm chúng em đã quyết định chọn đề tài “ Lịch Vạn Niên” nhằm đáp ứng nhu cầu ham muốn học hỏi của bản thân, cũng như góp phần nâng cao giá trị của những mạch điện tử ứng dụng trong cuộc sống. 1.2. Các yêu cầu cần đạt được và hạn chế của đề tài: Các yêu cầu đạt được: - Thứ ( trong tuần ),giờ, phút, ngày, tháng, năm ( dương lịch ). Cài đặt được thời gian, cập nhật thời gian thực thông qua DS1307 Hạn chế của đề tài: - Chưa hiển thị được ngày, tháng, năm ( âm lịch ) 1.3. Mục đích nghiên cứu: Trong quá trình nghiên cứu và thực hiện đề tài này giúp cho người thực hiện: Tăng khả năng tự học, tự nghiên cứu và giải quyết vấn đề. Tiếp xúc trực tiếp với thực tế, nâng cao kinh nghiệm nghề nghiệp chuyên ngành. Phải nắm vững và vận dụng những kiến thức chuyên ngành, tìm hiểu nghiên cứu tài liệu qua sách vở, giáo trình nước ngoài và các mạch điện và mô hình thực tế liên quan để thi công phần cứng. 1.4. Đối tượng nghiên cứu, ứng dụng và hướng phát triển của đề tài: Lập trình vi xử lý cho hoạt động của mạch nên đối tượng nghiên cứu chính là vi điều khiển Pic16F877A, IC số cho vấn đề điều khiển và hiển thị. Đề tài này được ứng dụng rộng rãi và phổ biến trong cuộc sống con người. Hướng phát triển của đề tài là xem xét nghiên cứu các ứng dụng trong thực tế để có thể mở rộng và phát triển đề tài. Chương 2: GIỚI THIỆU MỘT SỐ IC ĐƯỢC SỬ DỤNG TRONG MẠCH 2.1. Giới thiệu về PIC: 2.1.1. Tổng quan về họ vi điều khiển: Dòng PIC đầu tiên là PIC1650 được phát triển Microelectronics Division thuộc General_Instrument. PIC bắt nguồn từ chữ viết tắc của “Programmable Intelligent Computer” (Máy tính khả trình thông minh) là một sản phẩm của hãng General Instruments đặt cho dòng sản phẩm đầu tiên của họ là PIC1650. Lúc này, PIC 1650 được Pic là một ho vi điều khiển RISC được sản xuất bởi công ty Mirochip Technology. dùng để giao tiếp với các thiết bị ngoại vi cho các máy chủ 15 bit CP1600, vì vậy, người ta cũng gọi PIC “Peripheral Interface Controller” (Bộ điều khiển giao tiếp ngoại vi). CP1600 là một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, vì vậy PIC 8_bit được phất triển vào khoảng năm 1975 để hổ trợ hoạt động xuất nhập cho CP1600. PIC sử dụng microcode đơn giản đặt trong ROM, và mặc dù cụm từ RISC chưa được sử dụng thời bấy giờ, nhưng PIC thật sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động). Năm 1985 General Instruments bán bộ phận vi điện tử của họ, và chủ sở hữu hũy bỏ hầu hết các dự án lúc đó quá lỗi thời. Tuy nhiên, PIC được bổ xung EPROM để tạo thành một bộ điều khiển vào ra khả trình. Ngày nay rất nhiều dòng PIC được sản xuất với hàng loạt các module ngoại vi tích hợp sẵn (như USART,PWM,ADC….), với bộ nhớ chương trình từ 512 Word đến 32k Word. 2.1.1.1.Một số đặc tính của Vi điều khiển PIC: Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng nhưng chúng ta có thể điểm qua một vài nét sau: 8/16 bit CPU, xây dựng theo kiến trúc Harward có sữa đổi. Flsah và ROM có thể tùy chọn từ 256 byte đến 256 Kbyte. Các cổng xuất/nhập (I/O) mức logic thường từ 0V đến 5.5V, ứng với logic 0 và 1. 8/16 bit timer. Các chuẩn giao tiếp nối tiếp đồng bộ, khung đồng bộ USART. Bộ chuyển đổi ADC Analog_to_digital converters, 10/12 bit. Bộ so sánh điện áp. Các module Capture/Campare/PWM. LCD. MSSP Peripheral dựng cho các giao tiếp IC2,SPI. Bộ nhớ nội EPROM-có thể ghi/xóa lên tới một triệu lần. Moudle điều khiển động cơ,đọc encoder. Hỗ trợ giao tiếp USB. Hỗ trợ giao tiếp CAN. Hỗ trợ giao tiếp LIN. Hỗ trợ giao tiếp IRDA. Một số dòng có tích hợp 7675bộ RF (PIC16f639,và RFPIC). KEELOQ mã hóa và giải mã. DSP những tính năng xử lý tín hiệu số (dsPIC) đặc điểm thực thi tốc độ cao của RISC CPU của họ vi điều khiển PIC16F87XA. Chỉ gồm 35 lệnh đơn. Tất cả các lệnh là một chu kỳ ngoại trừ chương trình con là hai chu kỳ. Tốc độ hoạt động: DC_20MHz ngõ vào xung clock. DC_200ns chu kỳ lệnh. 2.1.1.2. Những đặc tính ngoại vi: Timer0 : 8_bit định thời/đếm với 8_bit, prescaler. Timer1 : 16_bit định thời/đếm với prescaler, có thể được tăng lên trong suốt chế độ Sleep qua thạch anh/xung clock bên ngoài. Timer2 : 8_bit định thời/đếm với 8_bit, prescaler, postscaler. Hai module Capture, Compare,PWM: Capture có độ rộng 16 bit, độ phân giải 12,5ns. Compare có độ rộng 16 bit, độ phân giải 200ns. Độ phân giải lớn nhất của PWM là 10bit. Có 13 ngõ I/O có thể điều khiển trực tiếp. Dòng vào và ra lớn: 25mA dòng vào cho mỗi chân. 20mA dòng ra cho mõi chân. 2.1.1.3. Đặc điểm về tương tự: 10 bit, với 8 kênh của bộ chuyển đổi tương tự sang số (A/D). Brown_out Reset(BOR). Module so sánh về tương tự: Hai bộ so sánh tương tự. Module điện áp chuẩn VREF có thể lập trình trên PIC. Có thể lập trình ngõ vào đến từ những ngõ vào của PIC và trên điện áp bên trong. Những ngõ ra của bộ so sánh có thể sử dụng cho bên ngoài. 2.1.1.4. Các đặc điểm đặc biệt của vi điều khiển Pic: Có thề ghi/xóa tới 100.000 lần với kiểu bộ nhớ chương trình Enhanced Flash. 1000.000 lần ghi/xóa với kiểu bộ nhớ EPROM. EPROM có thể lưu trữ dữ liệu hơn 40 năm. Có thể lập trình lại dưới sự điều khiển của phần mềm. Mạch lập trình nối tiếp qua hai chân. Nguồn đơn 5V cấp cho mạch lập trình nối tiếp. Watchdog Timer (WDT) với bộ dao dộng RC tích hợp sẵn trên Chip cho hoạt động đáng tin cậy. Có thể lập trình màng bảo vệ. Tiết kiệm năng lượng với chế độ Sleep. Có thể lựa chọn bộ dao động. 2.1.1.5.Công nghệ CMOS: Năng lượng thấp, tốc độ caoFlash/công nghệ EPROM. Việc thiết kế hoàn toàn tĩnh. Khoảng điện áp hoạt động từ 2V đến 5,5V. Tiêu tốn năng lượng thấp. 2.1.2 . Giới thiệu về PIC16F8XX và PIC16F877A: PIC16F8XX lò nhóm PIC trong họ PIC16FXX của họ vi điều khiển 8_bit, tiêu tốn năng lượng thấp, đáp ứng nhanh, chế tạo theo công nghệ CMOS, chống tĩnh điện tuyệt đối. Bao gồm các nhóm sau: PIC16F83 PIC16CR83 PIC16F84 PIC16CR84 Tất cả các PIC16/17 điều có cấu trúc RICS. PIC16CXX các đặc tính nổi bậc, 8 mắc ngăn xếp tack, nhiều nguồn ngắt tích hợp bên trong lẫn bên ngoài. Có cấu trúc Haward với các bus dữ liệu và bus thực thi chương trình riêng biệt nhau cho phép độ dài một lệnh là 14_bit và bus dữ liệu 8_bit cách biệt nhau. Tất cả các lệnh điều mất một chu kỳ lệnh, ngoại trừ các lệnh rẽ nhánh chương trình mất hai chu kỳ lệnh. Chỉ có 35 lệnh và một lượng lớn các thanh ghi cho phép đáp ứng cao trong ứng dụng. Họ PIC16F8XX có nhiều tính năng đặc biệt làm giảm các thiết bị ngoại vi, vì vậy kinh tế cao, có hệ thống nổi bật đáng tin cậy và sự tiêu thụ năng lượng thấp. Ở dây có bốn sự lựa chọn bộ dao động và chỉ có chân kết nối bộ dao dộng RC nên có giải pháp tiết kiệm cao. Chế độ SLEEP tiết kiệm nguồn và có thể được đánh thức bởi các nguồn reset. Và còn nhiều phần khác đó được giới thiệu bên trên sẽ được nói ở các phần kế tiếp. PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường). Cấu trúc tổng quát của PIC16F877A như sau: 8 K Flash ROM. 368 Bytes RAM. 256 Bytes EEPROM. 5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập. 2 bộ định thời 8 bits (Timer 0 và Timer 2). Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài. 2 bô CCP( Capture / Compare/ PWM). 1 bộ biến đổi AD 10 bits, 8 ngõ vào. 2 bộ so sánh tương tự (Compartor). 1 bộ định thời giám sát (WatchDog Timer). Một cổng song song 8 bits với các tín hiệu điều khiển. Một cổng nối tiếp. 15 nguồn ngắt. Có chế độ tiết kiệm năng lượng. Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming) Được chế tạo bằng công nghệ CMOS 35 tập lệnh có độ dài 14 bits. Tần số hoạt động tối đa 20MHz. 2.1.2.1. Các đặc tính ngoại vi bao gồm : Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit. Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep. Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler. Hai bộ Capture/so sánh/điều chế độ rộng xung. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. CS ở bên ngoài. Các đặc tính Analog: 8 kênh chuyển đổi ADC 10 bit. Hai bộ so sánh. Bộ nhớ flash với khả năng ghi xóa được 100.000 lần. Cổng nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần. Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm. Khả năng tự nạp chương trình với sự điều khiển của phần mềm. Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân. Watchdog Timer với bộ dao động trong. Chức năng bảo mật mã chương trình. Chế độ Sleep. Có thể hoạt động với nhiều dạng Oscillator khác nhau. 2.1.2.2. Sơ lược về vi điều khiển PIC 16F877A: Sơ đồ chân : Hình 2.1 Sơ đồ khối PIC 16F877A Sơ đồ nguyên lý: Hình 2.2 Sơ đồ nguyên lý PIC 16F877A Nhận xét: Từ sơ đồ chân và sơ đồ nguyên lý ở trên, ta rút ra các nhận xét ban đầu như sau PIC16F877A có tất cả 40 chân 40 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân GND, 2 chân thạch anh và một chân dùng để RESET vi điều khiển. 5 port của PIC16F877A bao gồm : PORTA : 6 chân PORTB : 8 chân PORT C : 8 chân PORTD : 8 chân PORT E : 3 chân Mỗi chân của vi điều khiển PIC 16F877A có một chức năng khác nhau. Trong đó có một số chân đa công dụng: mỗi chân có thể hoạt động như một đường xuất nhập hoặc là một chân chức năng đặc biệt dùng để giao tiếp với các thiết bị ngoại vi. Hình 2.3 Sơ đồ khối cấu trúc bên trong PIC 16F877A 2.1.2.3. Cấu trúc phần cứng của PIC 16F877A: PIC là tên viết tắt của “ Programmable Intelligent computer” do hãng General Instrument đặt tên cho con vi điều khiển đầu tiên của họ. Hãng Micrchip tiếp tục phát triển sản phầm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khác nhau. PIC16F887A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hết tất cả các ứng dụng thực tế. Đây là dòng PIC khá dễ cho người mới làm quen với PIC có thể học tập và tạo nền tản về họ vi điều khiển PIC của mình. Cấu trúc tổng quát của PIC16F877A như sau : 8K Flash Rom 368 bytes Ram 256 bytes EFPROM 5 port vào ra với tín hiệu điều khiển độc lập 2 bộ định thời Timer0 và Timer2 8 bit 1 bộ định thời Timer1 16 bit có thể hoạt động ở cả chế độ tiết kiệm năng lượng với nguồn xung clock ngoài 2 bộ Capture/ Compare/ PWM 1 bộ biến đổi Analog -> Digital 10 bit, 8 ngõ vào 2 bộ so sánh tương tự 1 bộ định thời giám sát (Watch Dog Timer) 1 cổng song song 8 bit với các tín hiệu điều khiển 1 cổng nối tiếp 15 nguồn ngắt Sơ đồ khối Hình 2.4 Sơ đồ khối bên trong của vi điều khiển 16F877A 2.1.2.4. Một số chế độ đặt biệt của vi điều khiển PIC 16F877: 2.1.2.4.1. Dao động: PIC16F877A có thể hoạt động trong bốn chế độ dao động khác nhau: LP low-power crystal XT crystal/resonatpor HS high-speed crystal/resonatpor RC resistor/capacitor Hình 2.5 Các chế độ lao động Trong các chế độ LP, XT và HS chúng ta sử dụng thạch anh dao động nối vào các chân OSC1 và OSC2 để tạo dao động. Việc lựa chọn tụ trong dao động thạch anh được lựa chọn dựa vào bảng sau: Hình 2.6 Giá trị tụ trong dao động thạch anh Tụ có giá trị lớn sẽ mang tính ổn định của dao động nhưng làm tăng thời gian khởi động. Cách tính chu kỳ máy: Ví dụ ta sử dụng thạch anh 10Mhz. Khi đó: Tần số dao động của thạch anh là Fosc = 10Mhz thì chu kỳ dao động của thạch anh là Tosc = 1/Fosc= 1/10*106(s). Chu kỳ máy: T_instruction = 4*Tosc = 4/10*106(s) = 0.4 µs = 400 ns 2.1.2.4.2. Reset: PIC16F877A có thể bị reset bởi nhiều nguyên nhân khác nhau: Power-on Reset (POR) MCLR Reset during sleep MCLR Reset during normal operation WDT Reset (during normal operation) WDT Wake-up (during sleep) Brown-out Reset (BOR) Hình 2.7 Các chế độ reset 2.1.2.4.3. MCLR : PIC16F877A có một bộ lọc nhiễu ở phần MCLR . Bộ lọc nhiễu này sẽ phát hiện và bỏ qua các tín hiệu nhiễu. Ngõ vào MCLR trên chân 4 của PIC16F877A. Khi đưa chân này xuống thấp thì các thanh ghi bên trong VĐK sẽ được tải những giá trị thích hợp để khởi động lại hệ thống. (Lưu ý: Reset do WDT không làm chân MCLR xuống mức thấp). Hình 2.8 Mạch MCLR 2.1.2.4.4. Interrupts: PIC16F877A có nhiều nguồn ngắt khác nhau. Đây là một số ngắt tiêu biểu: Ngắt ngoài xảy ra trên chân INT. Ngắt do Timer0. Ngắt do Timer1. Ngắt do Timer2. Ngắt do thay đổi trạng thái trên các chân PortB. Ngắt so sánh điện thế. Ngắt do Port song song. Ngắt USART. Ngắt nhận dữ liệu. Ngắt truyền dữ liệu . Ngắt chuyển đổi ADC. Ngắt màn hình LCD. Ngắt hoàn tất ghi EEPROM. Ngắt module CCP. Ngắt Module SSP. Các thanh ghi chức năng ngắt: INTCON, PIE1, PIR1, PIE2, PIR2 (các thanh ghi này sẽ được nghiên cứu ở các phần sau). Hình 2.9 Các chế độ ngắt 2.1.2.5. Tổ chức bộ nhớ: Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu (Data Memory). 2.1.2.5.1. Bộ nhớ chương trình: Hình 2.10 Bộ nhớ chương trình PIC 16F877A Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ Flash, dung lượng 8K word (1 word chứa 14bit) và được phân thành nhiều trang như hình trên. Để mã hóa được địa chỉ 8K word bộ nhớ chương trình, thanh ghi đếm chương trình PC có dung lượng 13 bit. Khi vi điều khiển reset, bộ đếm chương trình sẽ trỏ về địa chỉ 0000h. K