Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 88 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
88
Dung lượng
4,13 MB
Nội dung
Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 6 Chương Dẫn Nhập I. Đặt vấn đề: Ngày nay với sự phát triển của công nghiệp vi điện tử, kỹ thuật số. Các hệ thống điều khiển dần dần được tự động hóa và được ứng dụng thực tế trong xã hội hiện nay. Các chip Vi điều khiển ra đời đã mang lại nhiều tiện nghi thiết thực, góp phần đẩy mạnh đưa nền công nghiệp của nước ta từng bước hiện đại, dần dần thay thế sức lao động chân tay bằng các hệ thống điều khiển tự động đòi hỏi trí tuệ cao. Để đáp ứng được yêu cầu đó đòi hỏi những kiến thức cơ bản về Vi Điều Khiển cũng như những kiến thức khởi tạo trong lĩnh vực tự động. Được sự đồng ý của khoa Điện Tử – Tin Học của trường Cao Đẳng Kỹ Thuật Cao Thắng nhóm chúng em đã tiến thành thực hiện đề tài “ Ngôi nhà thông minh chuẩn không dây ” sử dụng chíp VĐK PIC 16F877A – Dòng VĐK ứng dụng khá phổ biến hiện nay. II. Giới hạn đề tài: Với thời gian ngắn, cũng như trình độ chuyên môn có hạn, chúng em đã cố gắng hết sức để hoàn thành đề tài này, nhưng vẫn còn gặp nhiều vấn đề khó khăn trong quá trình thi công và thiết kế nên chỉ thực hiện được những phần sau : • Tìm hiểu ngôn ngữ C lập trình cho PIC. • Tìm hiểu về Zigbee. • Tìm hiểu về các module thu phát RF. III. Mục đích nghiên cứu: Mục đích trước hết khi thực hiện đề tài này là để hoàn tất chương trình học để đủ điều kiện ra trường . Ngoài ra, quá trình thực hiện đề tài là một cơ hội để chúng em tự kiểm tra lại những kiến thức trong suốt thời gian học ở trường. Đồng thời đây cũng là dịp để chúng em tự khẳng định mình trước khi ra trường để trở thành một người có ích cho xã hội trong lĩnh vực Kỹ thuật. Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 7 Chương 2: Giới Thiệu Vi Điều Khiển Pic16F877A 2.1 Giới Thiệu Chung Về Pic. PIC bắt nguồn là chữ viết tắt 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, PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16bit CP1600, vì vậy, người ta cũng gọi PIC với cái tên "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ì 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ực 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 mới hủy bỏ hầu hết các dự án - lúc đó đã quá lỗi thời. Tuy nhiên PIC được bổ sung EEPROM để tạo thành 1 bộ điều khiển vào ra khả trình. Ngày nay rất nhiều dòng PIC được xuất xưởng 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. Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam. Giá thành không quá đắt. Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập. Là một sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển mang tính truyền thống như họ vi điều khiển 8051. Hiện nay tại Việt Nam cũng như trên thế giới có một số lượng lớn người sử dụng họ vi điều khiển PIC, vì vậy họ vi điều khiển này được sử dụng khá rộng rãi. Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng, cũng như dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn,…đồng thời cũng được sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,… Do đó các tính năng đa dạng của vi điều khiển PIC không ngừng được phát triển. 2.1.1. Các dòng Pic và cách lựa chọn Vi điều khiển Pic. Các sản phẩm vi điều khiển PIC của Microchip có gần 100 loại sản phẩm từ họ 10Fxxx đến các họ 12Cxxx, 12Fxxx, 16Cxx, 17Cxx, 16Fxx, 16Fxxx, 16FxxxA, 16LFxxxA, 18Fxxx, 18LFxxx, 18Fxxxx, 18LFxxxx,… Cách phân loại PIC theo chữ cái: Các họ PIC xxCxxx được đưa vào một nhóm, gọi là OTP (One Time Programmable): chúng ta chỉ có thể lập trình và nạp chương trình cho nó được một lần duy nhất. Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 8 Nhóm thứ hai có chữ cái F hoặc LF: chúng ta gọi nhóm này là nhóm Flash, nhóm này cho phép ghi xóa nhiều lần bằng các mạch điện thông thường. Cách phân loại theo hai con số đầu tiên của sản phẩm: Loại thứ nhất là dòng PIC cơ bản( Base – line ), gồm các PIC 12Cxxx, có độ dài 12bit. Loại thứ hai là các dòng PIC 10F, 12F va 16F, gọi là dòng phổ thông ( Mid – Range ), có dộ dài 14 bit. Loại thứ ba là dòng PIC 18( High – End ), có độ dài 16 bit. Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất. Cách lựa chọn một vi điều khiển PIC phù hợp: Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng. Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có 8 chân,ngoài ra còn có các vi điều khiển 18, 28, 40, 44, … chân. Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình được nhiều lần hơn. Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển, các chuẩn giao tiếp bên trong. Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép. 2.1.2. Ngôn ngữ lập trình cho Pic. Ngôn ngữ lập trình cho PIC rất đa dạng. Ngôn ngữ lập trình cấp thấp có MPLAB (được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập trình cấp cao hơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ lập trình được phát triển dành riêng cho PIC như PICBasic, MikroBasic,… 2.1.3. Mạch nạp Pic. Đây cũng là một dòng sản phẩm rất đa dạng dành cho vi điều khiển PIC. Có thể sử dụng các mạch nạp được cung cấp bởi nhà sản xuất là hãng Microchip như: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II. Có thể dùng các sản phẩm này để nạp cho vi điều khiển khác thông qua chương trình MPLAB. Dòng sản phẩm chính thống này có ưu thế là nạp được cho tất cả các vi điều khiển PIC, tuy nhiên giá thành rất cao và thường gặp rất nhiều khó khăn trong quá trình mua sản phẩm. 2.2. Cấu trúc tổng quát Pic 16F877A. Hình 2.2 (a): Vi điều khiển PIC16F877A các dạng sơ đồ chân. Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 9 Đây là vi điều khiển thuộc họ PIC16Fxxx( 40 pin) với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tần số hoạt động tối đa là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8K Flash ROM, bộ nhớ dữ liệu 368 bytes RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 bytes. Số Port In/Out (I/O) là 5 Port( A, B, C, D, E) với 33 pin I/O với tính hiệu điều khiển độc lập. Hình 2.2(b): Sơ đồ khối vi điều khiển PIC16F877A. Các khối chức năng bên trong Pic16F877A: Timer0: bộ đếm 8 bit. Timer1: bộ đếm 16 bit với bộ chia tần số, có thể họat động trong cả chế độ tiết kiệm năng lượng( Sleep Mode) với nguồn xung clock ngoài. Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 10 Timer2: bộ đếm 8 bit. 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ự( Compartor). 1 bộ định thời giám sát( Watchdog Timer). 15 nguồn ngắt( Interrupts) Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên ngoài. Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. 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. Một vài đặc tính khác của vi điều khiển như: Được chế tao bằng công nghệ CMOS. Bộ nhớ flash với khả năng ghi xóa được 100.000 lần. Bộ 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. 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.2.1. Sơ lược về các chân của Pic16F877A PIC16F877A là họ vi điều khiển có 40 chân, mỗi chân có một chức năng khác nhau. Trong đó có một số chân đa công dụng( đa hợp): mỗi chân có thể họat động như một đường xuất nhập ( I/O) 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. Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với bên ngoài. Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE. 2.2.1.1. Port A và thanh ghi TRISA. PortA gồm 6 chân từ RA0-RA5. Việc ghi các giá trị vào thanh ghi TRISA sẽ quy định các chân của PortA là Input hay Output. Nếu là 0 thì là Output, 1 là Input. Việc đọc thanh ghi PortA sẽ đọc trạng thái các chân PortA. Việc ghi giá trị vào thanh ghi PortA sẽ thay đổi trạng thái của các chân PortA. Riêng chân RA4 được tích hợp thêm chức năng là chân cung cấp xung Clock ngoài cho Timer0 (RA4/TOCKI). Những chân khác của PortA được đa hợp với các chân ngõ vào Analog của ADC và chân ngỏ vào điện thế so sánh của bộ so sánh (Comparator). Hoạt động của những chân này được qui địng bằng những Bit tương ứng trong thanh ghi ADCCON1 va CMCON1. Khi các chân của PortA được sử dụng là ngõ vào Analog thì các Bit của thanh ghi TRISA phải luôn bằng 1. Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 11 Hình 2.2.1.1: PortA và thanh ghi TrisA Các thanh ghi SFR liên quan đến PORTA bao gồm: PORTA (địa chỉ 05h) : chứa giá trị các pin trong PORTA. TRISA (địa chỉ 85h) : điều khiển xuất nhập. CMCON (địa chỉ 9Ch) : thanh ghi điều khiển bộ so sánh. CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp. ADCON1 (địa chỉ 9Fh) : thanh ghi điều khiển bộ ADC. 2.2.1.2. Port B và thanh ghi TRISB. PortB gồm 8 chân từ RB0-RB7. Việc ghi các giá trị vào thanh ghi TRISB sẽ quy định các chân của PortB là Input hay Output. Nếu là 0 thì là Output, 1 là Input. Việc đọc thanh ghi PortB sẽ đọc trạng thái các chân PortB. Việc ghi giá trị vào thanh ghi PortB sẽ thay đổi trạng thái của các chân PortB. Ba chân của PortB được đa hợp với chức năng In-Circuit Debugger và Low Voltage Programming fuction: RB3/PGM, RB6/PGC và RB7/PGD. Mỗi chân của PortB có một transistor kéo lên Vdd, chức năng này hoạt động khi Bit RPBU được xóa. Chứ năng này sẽ tự động tắt khi chân Port đựơc quy địng là Input. Bốn chân của Portb từ RB7-RB4 có chức năng ngắt (Interrupt) khi trạng thái chân Port thay đổi (Khi chân Port được quy định là Ouput thì chức na7ng ngắt không họat động). Giá trị chân Port được so sánh với giá trị được lưu lại trước đó, khi có trạng thái sai lệch giữa 2 giá trị này, ngắt sẽ xảy ra với cờ ngắt RBIF INTCON<0> bật lên. Ngắt có thể làm cho Vi điều khiển thoát khỏi trạng thái “SLEEP”. Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 12 Bất cứ một họat động truy xuất nào trên PortB sẽ xóa trạng thái sai lệch, kết thúc ngắt và cho phép xóa cờ RBIF. Hình 2.2.1.2: PortB và thanh ghi TrisB Các thanh ghi SFR liên quan đến PORTB bao gồm: PORTB (địa chỉ 06h,106h) : chứa giá trị các pin trong PORTB. TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập. OPTION_REG (địa chỉ 81h,181h) : điều khiển ngắt ngoại vi và bộ Timer0. 2.2.1.3. Port C và thanh ghi TRISC. PortC gồm 8 chân từ RC0-RC7. Việc ghi các giá trị vào thanh ghi TRISC sẽ quy định các chân của PortC là Input hay Output. Nếu là 0 thì là Output, 1 là Input. Việc đọc thanh ghi PortC sẽ đọc trạng thái các chân PortC. Việc ghi giá trị vào thanh ghi PortC sẽ thay đổi trạng thái của các chân PortC. Các chân của PortC được đa gợp với các chức năng ngọai vi. Khi các hàm chức năng ngoại vi được cho phép, ta cần quan tâm chặt chẽ tới giá trị các Bit của thanh ghi TRISC và mặt định các chân này là Ouput, ngoài ra một số chức năng ngoại vi khác sẽ tự động mặt định các chân là ngõ vào. Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 13 Hình 2.2.1.3: PortC và thanh ghi TrisC. Các thanh ghi điều khiển liên quan đến PORTC: PORTC (địa chỉ 07h) : chứa giá trị các pin trong PORTC. TRISC (địa chỉ 87h) : điều khiển xuất nhập. 2.2.1.4. Port D và thanh ghi TRISD. PortD gồm 8 chân từ RD0-RD7. Ngoài việc PortD được cấu trúc là một Port vừa xuất nhập nó còn có thể họat động như một cổng song song bằng cách xét Bit PSPMODE, trong chế độ này Buffer ngõ vào linh kiện TTL. Hình 2.2.1.4: Thanh ghi TrisD Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 14 Các thanh ghi liên quan đến PORTD bao gồm: Thanh ghi PORTD(địa chỉ 08h): chứa giá trị các pin trong PORTD. Thanh ghi TRISD(địa chỉ 88h): điều khiển xuất nhập. 2.2.1.5. PortE và thanh ghi TRISE. PortE có 3 chân RE0/RD/AN5, RE1/WR/AN6 VÀ RE2/CS/AN7 có thể được cấu hình là các chân xuất nhập. Các chân của PortE có thể trở thành các chân điều khiển cho các cổng của Vi điều khiển khi Bit PSPMODE được xét là 1. Trong chế độ này phải đảm bảo rằng các Bit từ 0 dến 2 cua thanh ghi TRISE phải được xét bằng 1 để các chân này được cấu hình như các chân ngõ vào. Ngoài ra các chân PortE còn được cấu hình như các ngõ vào Analog, tại chế độ này khi đọc trạng thái các chân PortE sẽ cho ta giá trị 0. Thanh ghi TRISE quy định chức năng xuất nhập của các chân PortE ngay cả khi nó được sử dụng là các ngõ vào Analog. Hình 2.2.1.5: Thanh ghi TrisE Các thanh ghi liên quan đến PORTE bao gồm: PORTE(địa chỉ 09h) : chứa giá trị các chân trong PORTE. TRISE(địa chỉ 89h) : điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP. ADCON1(địa chỉ 9Fh) : thanh ghi điều khiển khối ADC. 2.2.1.6. Parallel Slave Port. PORTD hoạt động như port phụ song song có độ rộng 8 bit hoặc port vi xử lý khi bit điều khiển PSPMODE (TRISE<4>) được Set. Trong chế độ phụ , nó được đọc và ghi không đồng bộ thông qua tín hiệu điều khiển ở ngõ vào RD của chân RE0/ RD và tín hiệu điều khiển ở ngõ vào WR của chân RE1/ WR . PSP có thể ghép nối trực tiếp với bus dữ liệu của vi xử lý 8 bit. Bộ vi xử lý bên ngoài có thể đọc hoặc ghi vào chốt PORTD Báo Cáo Tốt Nghiệp Niên khóa 2007-2010 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG 15 như bộ chốt 8 bit. Khi bit PSPMODE được đặt thì chân RE0/ RD là ngõ vào RD , chân RE1/ WR là ngõ vào WR và chân RE2/ CS là ngõ vào CS (chọn chip). Trong hoạt động này, những bit dữ liệu trực tiếp tương ứng của thanh ghi TRISE(TRISE<2:0> ) phải được cấu hình như những ngõ vào. Những bit cấu hình của bộ A/D là PCFG3:PCFG0 (ADCON1<3:0>) phải được đặt để cấu hình cho những chân RE2:RE0 như I/O số . Thực tế có hai bộ chốt 8 bit : một cho dữ liệu ở ngõ ra và một cho dữ liệu ở ngõ vào. Người sử dụng có thể ghi dữ liệu 8 bit vào bộ chốt dữ liệu của PORTD và đọc dữ liệu từ bộ chốt ( chú ý rằng chúng có cùng địa chỉ). Trong chế độ này, thanh ghi TRISE được bỏ qua, khi những thiết bị ngoài đang điều khiển hướng của luồng dữ liệu . Hoạt động ghi vào PSP xuất hiện khi cả CS và WR được dò thấy ở mức thấp lần đầu tiên. Khi cả CS và WR trở về mức cao khi đó bit cờ trạng thái IBF ( Input Buffer Full ) ( TRISE<7> ) được bật tại chu kỳ xung clock Q4, chu kỳ kế tiếp là Q2, báo hiệu việc ghi đã hoàn thành. Bit cờ ngắt PSPIF ( PIR1<7> ) cũng được bật tại chu kỳ xung clock Q4. IBF chỉ có thể được xóa bằng cách đọc bộ chốt ngõ vào của PORTD. Bit cờ trạng thái IBOV ( Input Buffer Overflow) (TRISE<5>) được bật nếu lần ghi thứ hai vào PSP được thực hiện khi byte trước đó chưa được đọc ra khỏi vùng đệm. Hoạt động đọc từ PSP xuất hiện khi cả CS và RD được dò thấy ở mức thấp lần đầu tiên . bit cờ trạng thái OBF (Output Buffer Full) (TRISE<6> ) bị xóa ngay lập tức báo hiệu rằng bộ chốt của PORTD đang chờ đọc dữ liệu bởi bus ngoại. Khi một trong hai chân CS và RD trở về mức cao, bit cờ ngắt PSPIF được bật tại chu kỳ xung clock Q4, chu kỳ kế tiếp là Q2, báo hiệu rằng việc đọc đã hòan thành. Bit OBF vẫn được giữ ở mức thấp cho đến khi dữ liệu được ghi vào PORTD bởi vi chương trình của người sử dụng. Khi không hoạt động trong chế độ PSP, những bit IBF và OBF được giữ nguyên. Tuy nhiên nếu trước đó bit IBOV đã được bật nó phải được xóa bằng vi chương trình. Một ngắt được phát ra và được chốt vào bit cờ PSPIF khi hoạt động đọc hoặc ghi hoàn thành. Bit PSPIF phải được xóa bằng vi chương trình của người sử dụng và ngắt không được cho phép bằng cách xóa bit cho phép ngắt PSPIE ( PIE<7>). Dạng sóng khi ghi lên Parallel Slave Port: Dạng sóng khi trong quá trình đọc từ Parallel Slave Port [...]... nh chương trình B nh chương trình c a vi i u khi n PIC16F877A là b nh Flash, có b m chương trình( Program Counter) dài 13 bit có th nh a ch cho 8K không gian b nh , 8K không gian b nh ư c chia làm 8 trang b nh M i s truy c p ngoài vùng không gian này s không có tác d ng B nh chương trình còn bao g m m t ngăn x p( Stack) 8 m c Khi vi i u khi n ư c reset, b m chương trình s ch n a ch 0000h (Reset vector)... ghi PCH (PC) không cho phép c nhưng nó cho phép ghi gián ti p thông qua thanh ghi PCLATH Khi Reset thì ba bit cao c a PC s b xoá Ngăn x p stack: Stack cho phép 8 l nh g i chương trình con và ng t ho t ng Stack ch a a ch mà chương trình chính s quay tr v th c hi n t chương trình con hay ng t iv i dòng Pic ph thông, Stack có sâu là 8 l p, m i l p có r ng 13 bit V trí c a Stack không n m trong c... và do ó ngay c khi có xung Clock ngoài thì TMR1 cũng s không tăng i u này có ý nghĩa ch m ng b s không ho t ng ư c trong ch ng (Sleep) Khi ch s d ng xung Clock ngoài ư c l a ch n cho Timer1 ch m ng, chúng ta ph i m b o i u ki n: xung Clock ngo i ph i ư c ng b v i xung Clock n i Ch m không ng b : N u bit T1SYNC(T1CON) ư c Set, xung Clock ngo i s không ư c ng b hoá B nh th i s ti p t c m trong su t... ghi EECON2 không ph i là thanh ghi v t lý ư c b sung, nhưng nó ư c s d ng ghi m t chu i nh ngăn ch n s ghi vô ý M t vài bit ư c s d ng i u khi n các thao tác c ho c ghi n b nh d li u EEPROM và b nh chương trình FLASH Bit EEPGD xác nh s truy c p n b nh chương trình ho c b nh d li u Khi b xóa, nh ng thao tác ti p theo s làm vi c trên b nh d li u EEPROM Khi ư c t, t t c nh ng thao tác ti p theo s thao... NOP cho phép b vi i u khi n thi t l p thao tác ghi 8 Cho phép các ng t (n u s d ng ng t) 9 Xóa bit WREN không cho phép các thao tác l p trình T i th i i m chu kỳ ghi hoàn thành, bit WR b xóa và bit c ng t EEIF ư c set Khi b vi i u khi n không th c hi n các l nh trong su t chu kỳ ghi, vi chương trình s không nh t thi t ph i ki m tra c EEIF, ho c WR, xác nh quá trình ghi ã hoàn thành hay chưa Vi i u khi... li u EEPROM , b t ch p tr ng thái c a bit b a v mã CPD Khi s b o v mã ư c cho phép và bit CPD b xóa thì s truy c p ngoài thông qua bit ICSP không ư c cho phép, b t ch p tr ng thái c a nh ng bit b o v mã b nh chương trình Tr ng thái c a nh ng bit b o v mã b nh chương trình CP0 và CP1 không nh hư ng n s th c hi n nh ng l nh bên ngoài b nh chương trình PIC16F87X có th luôn luôn c nh ng giá tr trong b nh... khóa 2007-2010 RP1:RP0 Bank 00 0 01 1 10 2 11 3 Vùng RAM a m c ích GPR: Vùng RAM a m c ích có chi u r ng là 8 bit và ư c truy xu t tr c ti p ho c gián ti p thông qua thanh ghi FSR ây là các thanh ghi d li u thông thư ng, ngư i s d ng có th tùy theo m c ích chương trình mà có th dùng các thanh ghi này ch a các bi n s , h ng s , k t qu ho c các tham s ph c v cho chương trình TRƯ NG CAO NG K THU T CAO... b i ph n m m.Thanh ghi TXR s không ư c n p d li u cho n khi stop bit ã ư c phát i trong l n n p trư c ó ngay khi stop bit ư c phát.TSR ư c n p giá tr m i t thanh ghi TXREG M i khi TXREG phát d li u n TSR.TXREG r ng và c TXIF ư c b t.Ng t này có th ư c cho phép ho c không cho phép b ng cách t ho c xóa bit TXIE ( PIE) C TXIF s ư c t b t ch p tr ng thái c a bit TXIE và không th ư c xóa b i ph n m m.Nó... ư c load vào c p thanh ghi EEDATH:EEDATA sau l nh th hai Thao tác ghi có hai bit i u khi n, WR và WREN, và hai bit tr ng thái WRERR và EEIF Bit WREN ư c s d ng cho phép ho c không cho phép ghi Khi bit WREN b xóa, thao tác ghi s không ư c cho phép Do ó, bit WREN c n ph i ư c set trư c khi th c hi n thao tác ghi Bit WR ư c s d ng b t u cho thao tác ghi Nó s t ng xóa sau khi thao tác ghi k t thúc C ng... có th ư c set khi bit WREN ã ư c set trư c ó, chúng không th ư c set cùng lúc Bit WREN sau ó ph i ư c xóa b ng vi chương trình sau khi ghi Các bư c trong quá trình ghi vào b nh d li u EEPROM: 1 N u bư c th 10 chưa ư c th c hi n, hãy ki m tra bit WR xem vi c ghi có ang ti n hành 2 Ghi a ch c n truy c p vào thanh ghi EEADR và hãy ch c r ng a ch này thì không l n hơn kích thư c b nh c a linh ki n PIC16F877A . trường Cao Đẳng Kỹ Thuật Cao Thắng nhóm chúng em đã tiến thành thực hiện đề tài “ Ngôi nhà thông minh chuẩn không dây ” sử dụng chíp VĐK PIC 16F877A – Dòng VĐK ứng dụng khá phổ biến hiện nay. II dài 13 bit có thể định địa chỉ cho 8K không gian bộ nhớ, 8K không gian bộ nhớ được chia làm 8 trang bộ nhớ. Mọi sự truy cập ngoài vùng không gian này sẽ không có tác dụng. Bộ nhớ chương trình. bit và được truy xuất trực tiếp hoặc gián tiếp thông qua thanh ghi FSR. Đây là các thanh ghi dữ liệu thông thường, người sử dụng có thể tùy theo mục đích chương trình mà có thể dùng các thanh