Thiết kế đồng hồ sử dụng PIC16F887 hiển thị LCD

36 4K 25
Thiết kế đồng hồ sử dụng PIC16F887 hiển thị LCD

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHỤ LỤC…………………………………………………………………………………………………..1 LỜI GIỚI THIỆU………………………………………………………………………………………....2 PHẦN 1: LÝ THUYẾT…………………………………………………………………...………………3 CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC……………………………………………..…3 1.1 PIC LÀ GÌ? …………………………………………………………………………………………….3 1.2 TẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC…………………………….3 1.3 KIẾN TRÚC CỦA PIC………………………………………………………………………………...3 1.4 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC………………………………..…..4 1.5 NGÔN NGỮ LẬP TRÌNH CHO PIC………..………………………………………………………...5 1.6 MẠCH NẠP PIC……….………………………………………………………………………………5 CHƯƠNG 2: VI ĐIỀU KHIỂN PIC 16F887…………………………………………………………….6 2.1 SƠ ĐỒ CHÂN VÀ HÌNH DẠNG THỰC TẾ………………………………………………………….6 2.2 MỘT VÀI THÔNG TIN VỀ VI ĐIỀU KHIỂN PIC16F887…………………………………………...7 2.3 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F887…………………………………………………………..8 2.4 TỔ CHỨC BỘ NHỚ………………………………………………………………………………...….9 2.4.1 Bộ nhớ chương trình………………………………………………………………………………….9 2.4.2 bộ nhớ dữ liệu……………………………………………………………………………………….10 2.4.3 Các cổng ra vào của PIC……….……………………………………………………………………12 2.5 TIMER0……………………………………………………………………………………………….13 CHƯƠNG 3: LCD……………………………………………………………………………………….15 PHẦN 2: THIẾT KẾ…………………………………………………………………………………….21 A. SƠ ĐỒ KHỐI………………………………………………………………………………………….21 B. SƠ ĐỒ NGUYÊN LÝ…………………………………………………………………………...…….22 C. LƯU ĐỒ GIẢI THUẬT……………………………………………………………………………….24 D. LẬP TRÌNH ……………………………………………………………………………………….….30 PHẦN 3: MÔ PHỎNG BẰNG PROTEUS …………………………………………………………....36 PHẦN 4: TÀI LIỆU THAM KHẢO…………………………………………………………………...36

Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 PHỤ LỤC PHỤ LỤC………………………………………………………………………………………………… 1 LỜI GIỚI THIỆU……………………………………………………………………………………… 2 PHẦN 1: LÝ THUYẾT………………………………………………………………… ………………3 CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC…………………………………………… …3 1.1 PIC LÀ GÌ? …………………………………………………………………………………………….3 1.2 TẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC…………………………….3 1.3 KIẾN TRÚC CỦA PIC……………………………………………………………………………… 3 1.4 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC……………………………… … 4 1.5 NGÔN NGỮ LẬP TRÌNH CHO PIC……… ……………………………………………………… 5 1.6 MẠCH NẠP PIC……….………………………………………………………………………………5 CHƯƠNG 2: VI ĐIỀU KHIỂN PIC 16F887…………………………………………………………….6 2.1 SƠ ĐỒ CHÂN VÀ HÌNH DẠNG THỰC TẾ………………………………………………………….6 2.2 MỘT VÀI THÔNG TIN VỀ VI ĐIỀU KHIỂN PIC16F887………………………………………… 7 2.3 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F887………………………………………………………… 8 2.4 TỔ CHỨC BỘ NHỚ……………………………………………………………………………… ….9 2.4.1 Bộ nhớ chương trình………………………………………………………………………………….9 2.4.2 bộ nhớ dữ liệu……………………………………………………………………………………….10 2.4.3 Các cổng ra vào của PIC……….……………………………………………………………………12 2.5 TIMER0……………………………………………………………………………………………….13 CHƯƠNG 3: LCD……………………………………………………………………………………….15 PHẦN 2: THIẾT KẾ…………………………………………………………………………………….21 A. SƠ ĐỒ KHỐI………………………………………………………………………………………….21 B. SƠ ĐỒ NGUYÊN LÝ………………………………………………………………………… …….22 C. LƯU ĐỒ GIẢI THUẬT……………………………………………………………………………….24 D. LẬP TRÌNH ……………………………………………………………………………………….….30 PHẦN 3: MÔ PHỎNG BẰNG PROTEUS ………………………………………………………… 36 PHẦN 4: TÀI LIỆU THAM KHẢO………………………………………………………………… 36 1 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 LỜI GIỚI THIỆU Ngày nay cùng với sự phát triển không ngừng của khoa học kỷ thuật, thì kỹ thuật số cũng đã đem lại cho con người những thành tựu to lớn. Ngày càng có nhiều sản phẩm kỷ thuật số ra đời, đáp ứng được nhiều nhu cầu lợi ích cho con người. Hòa cùng xu hướng đó vi điều khiển đã khẳng định được vị thế vững chắc của mình trong nhiều ứng dụng, điển hình là đồng hồ điện tử hiển thị lên màn hình LCD với độ chính xác gần như tuyệt đối thay thế cho đồng hồ cơ. Với hướng đi đó, nhóm chúng em đã tìm hiểu và thiết kế ứng dụng ĐỒNG HỒ VÀ LỊCH ĐIỆN TỬ SỬ DỤNG VI ĐIỀU KHIỂN PIC 16F887 trong khuôn khổ của Đồ án môn học 2. Qua đây, chúng em xin chân thành cám ơn những lời chỉ dẫn của thầy Hồ Trung Mỹ, đồng gửi lời cám ơn đến những người bạn, những anh chị khóa trên đã cho chúng em những kinh nghiệm quý báu. 2 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 PHẦN 1: LÝ THUYẾT CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 1.1 PIC LÀ GÌ ??? PIC là viết tắt của “ Programable Intellegent Computer”, có thể tạm dịch là “ Máy tính thông minh khả trình” do hãng Genenral Intrusment đặt tên cho vi điều khiển đầu tiên của họ: PIC 1650 được thiết kế dùng làm thiết bị ngoại vi cho vi điều khiển CP1600. Vi điều khiển (VĐK) này sau đó được nghiên cứu và phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC như ngày nay. 1.2 TẠI SAO LÀ PIC MÀ KHÔNG LÀ CÁC HỌ VI ĐIỀU KHIỂN KHÁC ??? Hiện nay trên thị trường có rất nhiều họ vi điều khiển 8051, Motorola 68HC, AVR, ARM,…Ngoài họ 8051 được hướng dẫn căn bản ở môi trường đại học, bản thân người viết đã lựa chọn họ vi điều khiển PIC để mở rộng kiến thức và phát triển các ứng dụng trên công cụ nầy vì các nguyên nhân sau: - Họ vi điều khiển này có thể tìm mua dễ dàng ở thị trường Việt Nam. - Giá thành không quá đắt. - Có đầy đủ 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 8051. - Số lượng người sử dụng họ vi điều khiển PIC hiện nay tại Việt Nam cũng như trên thế giới ngày càng tăng. Đ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 như: số lượng tài liệu, số lượng ứng dụng mở đã được phát triển thành công, 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… - 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,… - Các tính năng đa dạng của vi điều khiển PIC, và các tính năng này không ngừng được phát triển. 1.3 KIẾN TRÚC CỦA PIC Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc: kiến trúc Von Neuman và kiến trúc Havard. 3 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 Hình 1. cấu trúc Von Neuman Hình 2. cấu trúc Havard Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Havard. Điểm khác nhau giữa hai kiến trúc trên là cấu trúc bộ nhớ dữ liệu và bộ nhớ chương trình. Đối với kiến trúc Von Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm chung một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ chương trình và bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lý của CPU phải rất cao, vì với cấu trúc đó, trong một thời điểm, CPU chỉ có thể tương tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình. Như vậy có thể nói kiến trúc Von Neuman không thích hợp với cấu trúc của một vi điều khiển. Đối với kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai bộ nhớ riêng biệt. Do đó trong một thời điểm, CPU có thể tương tác với cả hai bộ nhớ, như vậy tốc độ của vi điều khiển được cải thiện đáng kể. Một điểm cần lưu ý nữa là tập lệnh trong kiến trúc Havard có thể được tối ưu tùy theo yêu cầu của kiến trúc vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu. Ví dụ với dòng điều khiển PIC16F, độ dài lệnh luôn là 14 bit (khi dữ liệu được tổ chức thành từng byte), còn với kiến trúc Von Neuman, độ dài lệnh luôn là bội số của byte (do dữ liệu được tổ chức thành từng byte). 1.4 CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC Các ký hiệu của vi điều khiển PIC: - PIC12xxxx: độ dài lệnh 12 bit. - PIC16xxxx: độ dài lệnh 14 bit. - PIC18xxxx: độ dài lệnh 16 bit. - C: PIC có bộ nhớ EPROM (chỉ có PIC16C84 là có bộ nhớ EEPROM) - F: PIC có bộ nhớ flash. - LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp - LV: tương tự như LF, đây là ký hiệu cũ - Bên cạnh đó, một số vi điều khiển có ký hiệu xxFxxx là EEPROM, còn có thêm chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash). Ngoài ra còn có thêm một dòng vi điều khiển mới là dsPIC. Ở Việt Nam phổ biến nhất là vi điều khiển PIC do hãng Microchip sản xuất. 4 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 Cách lựa chọn một vi điều khiển PIC phù hợp: - Trước hết ta cần chú ý số chân của vi điều khiển PIC cần thiết cho ứng dụng. Có nhiều vi điều khiển PIC có số lượng chân khác nhau, thậm chí có VĐK chỉ có 8 chân, ngoài ra còn có các vi điều khiển PIC 28, 40, 44,… chân. - Nên lựa chọn VĐK 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ú ý các khối chức năng được tích hợp sẵn trong VĐK, các chuẩn giao tiếp bên trong. - Sau cùng chú ý đến bộ nhớ chương trình mà VĐK cho phép. - Ngoài ra, mọi thông tin về lựa chọn VĐK PIC có thể được tìm thấy trong cuốn sách “ Select PIC guide” do nhà sản xuất Microchip cung cấp. 1.5 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 có C, VB, Pascal,… ngoài ra còn có một số ngôn ngữ lập trình được phát triển dành cho PIC như PICBasic, MikroBasic,… 1.6 MẠCH NẠP PIC Đây cũng là một dòng sản phẩm rất đa dạng dàng cho VĐK PIC. Có thể sử dụng các mạch nạp được nhà sản xuất Microchip cung cấp 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 VĐK thông qua chương trình MPLAB. Dòng sản phẩm chính thống này có ưu điểm là nạp được cho tất cả các VĐK PIC, tuy nhiên giá thành cao và gặp nhiều khó khăn trong quá trình mua sản phẩm. Ngoài ra do tính năng cho phép nhiều chế độ nạp khác nhau, còn có rất nhiều mạch nạp được thiết kế dành cho VĐK PIC. Có thể sơ lược một số mạch nạp PIC sau: JDM Programmer: mạch nạp này dùng chương trình nạp ICprog cho phép nạp các vi điều khiển PIC có hỗ trợ tính năng nạp chương trình điện áp thấp ICSP (In circuit Serial Programming). Hầu hết mạch nạp đều hỗ trợ tính năng nạp chương trình này. WARP-13A và MCB-USB: hai mạch nạp này giống với PICSTART plus do nhà sản xuất Microchip cung cấp, tương thích với trình biên dịch MPLAB, nghĩa là ta có thể dùng trực tiếp MPLAB để nạp cho vi điều khiển PIC mà không cần sử dụng một chương trình nạp khác, chẳng hạn như Icprog. P16PRO40: mạch nạp này do Nigel thiết kế và cũng khá nổi tiếng. Ông còn thiết kế cả chương trình nạp, tuy nhiên ta có thể sử dụng chương trình nạp Icprog. Mạch nạp Universal của Williem: đây không phải là mạch nạp chuyên dùng cho PIC như P16PRO40. Các mạch nạp kể trên có ưu điểm rất lớn là đơn giản, rẻ tiền, hoàn toàn có thể tự lắp ráp dễ dàng và mọi thông tin về sơ đồ mạch nạp, cách thiết kế, thi công, kiểm tra và chương trình nạp đều dễ dàng tìm được và download miễn phí từ mạng Internet. Tuy nhiên các mạch nạp trên có nhược điểm là hạn chế về số vi điều khiển PIC được hỗ trợ. Bên cạnh đó, mỗi mạch nạp cần được sử dụng một chương trình nạp thích hợp. 5 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 CHƯƠNG 2: VI ĐIỀU KHIỂN PIC 16F887 2.1 SƠ ĐỒ CHÂN VÀ HÌNH DẠNG THỰC TẾ Hình 3. sơ đồ chân vi điều khiển PIC 16F887 Hình 4. hình dạng thực tế của vi điều khiển PIC 16F887 6 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 2.2 MỘT VÀI THÔNG TIN VỀ VI ĐIỀU KHIỂN PIC16F887 Đây là vi điều khiển thuộc họ PIC16xxxx 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ốc độ hoạt động tối đa cho phép là 20Mhz với một chu kỳ lệnh là 200ns. Bộ nhớ flash chương trình là 8192 words và bộ nhớ dữ liệu là 368 bytes SRAM + 256 bytes EEPROM. Số PORT I/O là 5 với 33 pin I/O. Các đặc tính ngoại vi bao gồm các khối chức năng sau: -Timer0: bộ nhớ 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. -Các chuẩn giao tiếp nối tiếp SSP (Synchronuos Serial Port), ISP và I2C. -Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. -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 đặc tính Analog -14 kênh chuyển đổi ADC 10 bit -2 bộ so sánh Bên cạnh đó là một vài đặc tính khác của vi điều khiển như: -Bộ nhớ flash có khả năng ghi xóa được 100 000 lần. -Bộ nhớ EEPROM có khả năng ghi xóa được 1 000 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 chân 2. -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. 7 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 2.3 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F887 8 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 Hình 5. sơ đồ khối của vi điều khiển PIC16F887 2.4 TỔ CHỨC BỘ NHỚ Cấu trúc bộ nhớ của vi điều khiển PIC 16F887 bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu (data memory). 2.4.1 Bộ nhớ chương trình Bộ nhớ chương trình của vi điều khiển PIC 16F887 là bộ nhớ flash, dung lượng là 8 Kword (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page3). Như vậy bộ nhớ chương trình có khả năng chứa được 8x1024 = 8192 lệnh (vì mỗi lệnh sau khi mã hóa sẽ có dung lượng 14 bit = 1 word). Để mã hóa được địa chỉ của 8 Kword chương trình, bộ đếm chương trình có dung lượng 13 bit. Khi vi điều khiển được reset bộ đếm chương trình sẽ chỉ đến địa chỉ 0000H (Reset vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004H (Interrupt vector). Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình. Bộ nhớ stack sẽ được đề cập cụ thể trong phần sau: 9 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 Hình 6. bộ nhớ chương trình của vi điều khiển PIC 16F887 2.4.2 bộ nhớ dữ liệu Bộ nhớ dữ liệu của PIC và bộ nhớ EEPROM được chia ra làm nhiều bank. Đối với vi điều khiển PIC 16F887 thì bộ nhớ dữ liệu được chia là 4 bank. Bank được chọn phụ thuộc vào bit RP1 và RP0 (bit thứ 6 và bit thứ 5) của thanh ghi trạng thái status. RP1: RP0 BANK 00 0 01 1 10 2 11 3 Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFR (Special Function Register) nằm ở 32 vị trí đầu tiên của mỗi bank và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở 96 vị trí cuối cùng của mỗi bank, đóng vai trò như Static RAM. Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu, giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh chương trình. Sơ đồ cụ thể của bộ nhớ dữ liệu vi điều khiển PIC 16F887 như sau: 10 [...]... hình để hiển thị LCD_ TURN_OFF: Tắt màn hình hiển thị LCD_ SHIFT_LEFT: Dịch chuyển màn hình sang trái LCD_ SHIFT_RIGHT: Dịch chuyển màn hình sang phải 20 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 PHẦN 2: THIẾT KẾ A SƠ ĐỒ KHỐI VI ĐIỂU KHIỂN KHỐI NÚT NHẤN PIC16F887 KHỐI HIỂN THỊ LCD KHỐI NGUỒN 21 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887... }; lcd_ writec(vitri); } void hienthi() { lcd_ cursor(1,0); lcd_ writed('T'); lcd_ writed(':'); lcd_ writed(' '); lcd_ writed(ch_hour); 32 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 lcd_ writed(dv_hour); lcd_ writed(':'); lcd_ writed(ch_min); lcd_ writed(dv_min); lcd_ writed(':'); lcd_ writed(ch_sec); lcd_ writed(dv_sec); lcd_ writed(' '); lcd_ writed(' '); lcd_ writed('2'); lcd_ writed('4');... lcd_ writed('h'); lcd_ writed('u'); break; case 6: lcd_ writed('F'); lcd_ writed('r'); lcd_ writed('i'); break; case 7: lcd_ writed('S'); lcd_ writed('a'); lcd_ writed('t'); 33 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 break; } lcd_ writed(' '); lcd_ writed(' '); lcd_ writed(ch_month); lcd_ writed(dv_month); lcd_ writed('/'); lcd_ writed(ch_date); lcd_ writed(dv_date); lcd_ writed('/'); lcd_ writed(ch_year);... lên LCD Sau đây là bảng mã lệnh của LCD: 18 Đồ án môn học 2: Mã (Hex) 1 2 4 6 5 7 8 A C E F 10 14 18 1C 80 C0 38 Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 Lệnh đến thanh ghi của LCD Xóa màn hình hiển thị Trở về đầu dòng Giảm con trỏ (dịch con trỏ sang trái) Tăng con trỏ (dịch con trỏ sang phải) Dịch hiển thị sang phải Dịch hiển thị sang trái Tắt hiển thị, tắt con trỏ Tắt hiển thị, ... lcd_ writed('4'); lcd_ writed('h'); lcd_ cursor(2,0); lcd_ writed('D'); lcd_ writed(':'); lcd_ writed(' '); switch(day) { case 1: lcd_ writed('S'); lcd_ writed('u'); lcd_ writed('n'); break; case 2: lcd_ writed('M'); lcd_ writed('o'); lcd_ writed('n'); break; case 3: lcd_ writed('T'); lcd_ writed('u'); lcd_ writed('e'); break; case 4: lcd_ writed('W'); lcd_ writed('e'); lcd_ writed('d'); break; case 5: lcd_ writed('T'); lcd_ writed('h');... hàng thứ4 LCD_ CLEAR: Xóa màn hình LCD_ RETURN_HOME: Về vị trí đầu dòng LCD_ CURSOR_OFF: Không cho con trỏ hiển thị LCD_ UNDERLINE_ON: Bật con trỏ hiển thị dạng dấu gạch dưới _ 19 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 LCD_ BLINK_CURSOR_ON: Bật con trỏ nhấp nháy LCD_ MOVE_CURSOR_LEFT: Chuyển con trỏ sang trái LCD_ MOVE_CURSOR_RIGHT: Chuyển con trỏ sang phải LCD_ TURN_ON:... Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 void lcd_ writec(int8 command) { rs = 0; portd = command; en = 1; en = 0; delay_ms(10); } void lcd_ writed(int8 data) { rs = 1; portd = data; en = 1; en = 0; delay_ms(10); } void lcd_ start() { lcd_ writec(0x38); lcd_ writec(0x0c); lcd_ writec(0x06); lcd_ writec(0x01); } void lcd_ clear() { lcd_ writec(0x01); } void lcd_ cursor(int8...Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 Hình 7 các bank thanh ghi trong bộ nhớ dữ liệu của vi điều khiển PIC 16F887 11 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 2.4.3 Các cổng ra vào của PIC: Port A: có 6 bit (tương ứng với 6 chân RA0 – RA5) các chân của cổng A có tích hợp một số chức năng ngoại vi, nếu một thiết bị ngoại vi... 10 PIC16F887 KHỐI PHÍM HIỂN THỊ LCD1 D0 D1 D2 D3 D4 D5 D6 D7 7 8 9 10 11 12 13 14 RS RW E 4 5 6 1 2 3 VSS VDD VEE LM016L 23 Đồ án môn học 2: Thiết kế đồng hồ và lịch điện tử sử dụng vi điều khiển 16F887 KHỐI PHÍM NHẤN R5 B2 R6 R9 R10 R11 R3 4k7 4k7 4k7 4k7 4k7 4k7 B3 B4 B5 B6 B7 C LƯU ĐỒ GIẢI THUẬT MAIN KHỞI TẠO PIC VÀ LCD ĐẾM =0 GIẢI MÃ TIME HIỂN THỊ TIME UP TIME VÒNG LẶP 24 Đồ án môn học 2: Thiết kế. .. Bật hiển thị, tắt con trỏ Bật hiển thị, nhấp nháy con trỏ Tắt hiển thị, nhấp nháy con trỏ Dịch vị trí con trỏ sang trái Dịch vị trí con trỏ sang phải Dịch toàn bộ hiển thị sang trái Dịch toàn bộ hiển thị sang phải Ép con trỏ về đầu dòng thứ nhất Ép con trỏ về đầu dòng thứ hai Hai dòng và ma trận 5x7 Điều khiển LCD qua các bước: Bước 1: khởi tạo cho LCD Bước 2: gán các giá trị cho các bit điều khiển . CÁC DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC Các ký hiệu của vi điều khiển PIC: - PIC1 2xxxx: độ dài lệnh 12 bit. - PIC1 6xxxx: độ dài lệnh 14 bit. - PIC1 8xxxx: độ dài lệnh 16 bit. - C: PIC có. DÒNG PIC VÀ CÁCH LỰA CHỌN VI ĐIỀU KHIỂN PIC …………………………… … 4 1.5 NGÔN NGỮ LẬP TRÌNH CHO PIC …… ……………………………………………………… 5 1.6 MẠCH NẠP PIC …….………………………………………………………………………………5 CHƯƠNG 2: VI ĐIỀU KHIỂN PIC. dành cho PIC như PICBasic, MikroBasic,… 1.6 MẠCH NẠP PIC Đây cũng là một dòng sản phẩm rất đa dạng dàng cho VĐK PIC. Có thể sử dụng các mạch nạp được nhà sản xuất Microchip cung cấp như: PICSTART

Ngày đăng: 04/08/2014, 21:24

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan