|
18-10-2006, 05:20 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Feb 2006
Bài gửi: 4
: |
Học CCS thông qua Tutorial PICVIETNAM
Đã lâu lâu không đóng góp cho PIC Việt Nam gì rồi. Đợt này tự nhiên công việc liên quan đến PIC, yêu cầu đến việc sử dụng SPI, nhào zô luôn cho việc học CCS. Mong mỏi đóng góp chút gì đó cho tất cả mọi ngưòi.
1. Mục tiêu của việc học CCS: • Sử dụng được CCS programmer • Ứng dụng được chương trình hiển thị LCD • Ứng dụng được chương trình kết nối SPI với EEPROM và MMC card. hiển thị các thông số lên LCD . 2. Nguồn tài liệu và công cụ làm việc: • Theo tutorial của Linhnc308: http://www.picvietnam.com/forum//att...6&d=1157644591 • Chương trình CCS: down load ban CCS3.249.rar. http://www.tailieuvietnam.net/downlo...CCSC_3.249.rar • Chương trình Proteus. 6.7
__________________
Răng ơi nhe ra nào ….. |
18-10-2006, 05:47 PM | #2 | |
Nhập môn đệ tử
Tham gia ngày: Feb 2006
Bài gửi: 4
: |
Ví dụ 1: thực thi bài nhấp nháy led
Bước 1: tạo một project mới test1 trong thư mục project1 ( CCS -> Project -> New -> PIC Wizard )
Bước 2: Copy paste đoạn code của Linhnc308 vào trong mục file test1.c Trích:
Bước 4: Quay trở lại đường link thư mục ban đầu …./Project1 check xem có file gì mới ko, file hex đã được tạo trong này rồi Bước 5: Bật chương trình Proteus lên lắp mạch như linhnc308 => chỉnh thông số tần só thạch anh là 4Mhz rồi nạp file hex vào => chạy. Chương trình chạy OK Túm lại : kết thúc VD1 này tôi đã thu được: • Năm bắt được thành thạo các bước thực thi của CCS : tạo project mới, tạo file mới, các compile chương trình • Nắm được cấu trúc khung cảu chương trình CCS, cách khai báo ban đầu • Gợi nhớ lại Proteus 6.7 vì đã lâu lắm rồi ko sờ đến nó, chuẩn bị cho các Project tiếp theo. Vi du 2, 3 ve` LCD, SPI den toi' giai quyet tiep.
__________________
Răng ơi nhe ra nào ….. thay đổi nội dung bởi: FFGmember, 18-10-2006 lúc 05:51 PM. |
|
19-10-2006, 12:40 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: Feb 2006
Bài gửi: 4
: |
Project2: Hiển thị lên LCD dùng lcd_lib_4bit.c
LCD cùng với led đơn và led 7 thanh là một trong những phương thức để hiển thị các kết quả các thông số. Thông thường tôi luôn chọn LCD vì lập trình đơn giản và đông thời có thể thể hiện được các giá trị mà mình mong muốn.
Có rất rất nhiều source code cho việc viết LCD 4 bit. Và một trong số đó là file lcd_lib_4bit.c đã đươc linhnc308 giới thiệu trong tập tutorial của mình Lại thực thi các bước như ở trên, với đoạn code dưới đây. PHP Code:
Khi lập trình đến LCD 4bit sử dụng lcd_lib_4bit.c cần lưu ý đến 2 điều
__________________
Răng ơi nhe ra nào ….. |
19-10-2006, 04:30 AM | #4 |
Nhập môn đệ tử
Tham gia ngày: Feb 2006
Bài gửi: 4
: |
Project 1: Kết nối PIC 16F877A với EEPROM 25AA640.
Sorry mọi người là tối hôm nay em tìm mỏi cả mắt mà không thấy bất cử một thằng EEPROM nào có chuẩn giao tiếp SPI, cho nên ở Project này em chỉ xin được làm chay thôi, ai có điều kiện mạch thật hoặc có trình giả lập tốt thì xin test + đưa ra ý kiến cho em phát.
SPI là một chuẩn dữ liệu giao tiếp đơn giản nhất có tốc độ lớn nhất, tuy nhiên có độ an toàn không cao khi mà dây clock bị ảnh hưởng => dẫn đến ảnh hưởng đến toàn hệ thống. Với PIC16F877A thì có 3 chân cho chế độ SPI đó là: RC3( clock ), RC4 ( SDI ), RC5 ( SD0) , còn chân select chíp thì lấy bất cứ một chân I/O thông thường. Cơ chế SPI là quá trình dịch bít qua lại giữa Slave và Master qua 2 đường đây SDI, SDO. Ứng với mỗi IC khác nhau lại cho một chuẩn truyền tiếp riêng để điều khiển quá trình truyền. Với EEPROM 25AA640 cơ chế đó là: Đọc byte: Truyền lệnh 0000011 tiếp đến là truyền địa chỉ 16 byte, và đọc dữ liệu . Khi chân CS lên 1 => cũng là lúc báo hiệu kết thúc đường truyền. Write byte Viết lệnh command: 00000010, sau đó truyền địa chỉ 16 bit, rồi bắt đầu truyền dữ liệu. Quá trình truyền kết thức khi CS = 1 PHP Code:
Lâu lâu ko đựoc làm đến pic , nay còn được làm trên CCS nữa thấy thật thoải mái. See Ua!
__________________
Răng ơi nhe ra nào ….. thay đổi nội dung bởi: FFGmember, 19-10-2006 lúc 04:34 AM. |
05-12-2011, 05:46 PM | #5 | |
Nhập môn đệ tử
Tham gia ngày: Jun 2010
Bài gửi: 5
: |
Trích:
mình đã define port rồi,RS=D0,EN=D2,D4-D7,vậy lỗi này có thể do LCD hỏng hay là do khởi tạo chưa đúng? |
|
14-11-2006, 04:14 PM | #6 |
Đệ tử 2 túi
|
Bước 5 mình bí rồi
gởi bạn FFGmember
Mình đã làm thử vd1 theo hướng dẫn của bạn rồi, nhưng tới bước 5 thì bí. Mình không biết cách nạp file hex vào trong proteus. Bạn hướng dẫn kỷ hơn cho mình được không. Cám ơn bạn trước nha. |
06-12-2014, 10:40 PM | #7 |
Nhập môn đệ tử
Tham gia ngày: Nov 2014
Bài gửi: 9
: |
anh ơi, làm sao khắc phục lỗi này vậy anh:
*** Error 18 "def_877a.h.c" Line 1(9,20): File can not be opened Not in "E:\Program Files\PICC\devices\16F877A.h" Not in "E:\Program Files\PICC\dr\16F877A.h" Not in project "C:\Users\NhokPro1234\Documents\pi\project1\16F877 A.h" *** Error 128 "def_877a.h.c" Line 3(1,12): A #DEVICE required before this line 2 Errors, 0 Warnings. |
30-10-2006, 11:47 AM | #8 |
Nhập môn đệ tử
Tham gia ngày: Sep 2006
Bài gửi: 2
: |
Quá hay. Và quá chi tiết.
__________________
Lê Như Quang Huy |
02-11-2006, 08:12 PM | #9 |
Đệ tử 2 túi
Tham gia ngày: Sep 2006
Bài gửi: 33
: |
vậy muốn viết cho led đơn sáng dần và xoay phải xoay trái thì làm thế nào?
mình mới làm quen với CCS nên ko biết nhờ bạn giúp cho! |
05-11-2006, 09:53 AM | #10 | |
Đệ tử 9 túi
|
Trích:
Tài liệu mô phỏng bạn hỏi ở đây: http://www.picvietnam.com/forum//sho...p?t=406&page=2 Dưới cùng, bài của anh F có link.
__________________
Ngày mai bắt đầu từ ngày hôm nay Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này: http://www.picvietnam.com/forum//showthread.php?t=1263 thay đổi nội dung bởi: nhh, 05-11-2006 lúc 10:04 AM. |
|
07-11-2006, 04:13 PM | #11 | |
Đệ tử 2 túi
Tham gia ngày: Sep 2006
Bài gửi: 33
: |
Trích:
|
|
08-11-2006, 08:36 AM | #12 |
Đệ tử 9 túi
|
Muốn làm led sáng dần, tức là bạn phải làm cho điện áp cấp vào chân led tăng dần.
Hãy sử dụng chức năng PWM điều chế độ rộng xung, nhưng trước hết bạn phải học cách sử dụng các Timer, Timer 2 phục vụ PWM.
__________________
Ngày mai bắt đầu từ ngày hôm nay Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này: http://www.picvietnam.com/forum//showthread.php?t=1263 |
08-11-2006, 09:40 PM | #13 |
Đệ tử 7 túi
|
anh REMMEMBER ơi viết tiếp bài nữa đi
|
14-11-2006, 05:18 AM | #14 |
Nhập môn đệ tử
Tham gia ngày: Oct 2006
Bài gửi: 10
: |
|
03-12-2006, 07:01 PM | #15 |
Đệ tử 2 túi
Tham gia ngày: Sep 2006
Bài gửi: 33
: |
cho em hỏi về vòng lặp while
các bác có thể cho mình biết cách sử dụng vòng lặp while dc ko?
chương trình mình viết như sau nhưng vòng lặp while ko thực hiện đc Code:
int8 a,b; main() { while(a==8){ a++; portb=00; delay_ms(100); portb=0xFF; delay_ms(100); } |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
dsPIC Tutorial 3-Đọc ngõ vào và giao tiếp LCD | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 92 | 19-02-2017 11:15 PM |
dsPIC Tutorial 2-Các kỹ thuật cơ bản | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 33 | 17-10-2013 11:09 PM |
dsPIC Tutorial 4-Module UART và I2C | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 76 | 09-05-2012 10:55 AM |
Tutorial LCD cua Nigel??????? | spirit | Cơ bản về vi điều khiển và PIC | 16 | 16-03-2009 05:32 PM |
tutorial hay cho newbie | FUD84 | Cơ bản về vi điều khiển và PIC | 2 | 04-12-2005 02:29 AM |