PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Ðề tài đã khoá
 
Ðiều Chỉnh Xếp Bài
Old 22-03-2008, 01:16 AM   #391
auto_control
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 3
:
làm phiền trưởng lão lần nữa.nếu dùng CCs thì việc xử lý kiểu bảng này ra sao,chẳng hạn đệ muốn cho led7 hiển thị đếm ,thì khi dùng truy nhập bảng có vẻ nhanh hơn(thiển ý)
thanks!
auto_control vẫn chưa có mặt trong diễn đàn  
Old 22-03-2008, 06:40 PM   #392
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi auto_control View Post
làm phiền trưởng lão lần nữa.nếu dùng CCs thì việc xử lý kiểu bảng này ra sao,chẳng hạn đệ muốn cho led7 hiển thị đếm ,thì khi dùng truy nhập bảng có vẻ nhanh hơn(thiển ý)
thanks!
Mời bạn download tài liệu hướng dẫn của CCS C ở link sau:
http://www.ccsinfo.com/downloads/CReferenceManual.pdf

Ở trang 268 có ví dụ về bảng hằng số trong flash (ROM) của PIC, bạn có thể dựa vào đó để làm bảng giải mã hiển thị cho LED 7 đoạn chẳng hạn.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 24-03-2008, 02:48 PM   #393
bean984
Đệ tử 3 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 51
:
cho em hoi câu này
ý nghĩa của khai báo #fuses PUT là gì ?
nó ảnh hưởng đến timer như thế nào?(kết quả timer hoạt động thay đổi như thế nào khi có và không có khai báo trên)
em cảm ơn nhìu!
bean984 vẫn chưa có mặt trong diễn đàn  
Old 24-03-2008, 04:36 PM   #394
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi bean984 View Post
cho em hoi câu này
ý nghĩa của khai báo #fuses PUT là gì ?
nó ảnh hưởng đến timer như thế nào?(kết quả timer hoạt động thay đổi như thế nào khi có và không có khai báo trên)
em cảm ơn nhìu!
PUT = Power Up Timer (bạn xem trong view/valid fuses của PCW)

Nói đơn giản là khi PIC đc cấp nguồn, Power Up Timer sẽ chờ 1 khoảng thời gian mới cho PIC chạy (thực thi code), khoảng thời gian chờ này nhằm đảm bảo nguồn cấp cho PIC ổn định.

Power Up Timer ko liên quan gì đến các timer của PIC.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn  
Old 24-03-2008, 06:19 PM   #395
LeDuc
Đệ tử 6 túi
 
LeDuc's Avatar
 
Tham gia ngày: Mar 2007
Bài gửi: 150
:
Trích:
Nguyên văn bởi bien_van_khat View Post
PUT = Power Up Timer (bạn xem trong view/valid fuses của PCW)

Nói đơn giản là khi PIC đc cấp nguồn, Power Up Timer sẽ chờ 1 khoảng thời gian mới cho PIC chạy (thực thi code), khoảng thời gian chờ này nhằm đảm bảo nguồn cấp cho PIC ổn định.

Power Up Timer ko liên quan gì đến các timer của PIC.
Cho em hỏi câu này hơi chuối ? làm sao để nạp vào eeprom của 16f887 ? nạp qua đường nào? qua chân nào của Pic ?
Em cần nạp một mảng giá trị vào eeprom trước.cũng khoản 210 byte . Và sau này chường trình chính chỉ việc sử dụng các giá trị trong các ô nhớ của eeprom để xử lý mà thôi ....
Mong các huynh giúp đỡ !!
Thanks for all !
__________________
_________________________________________________
Le Trung Duc
Industry Research & Application Center
NTT Institute of Hi_technolog
ltduc@ntt.edu.vn
leduc_cktd@yahoo.com.vn
http://www.nttc.edu.vn
CNC DIY : http://quangcaosanpham.com/shop/driverservo
0909300332
LeDuc vẫn chưa có mặt trong diễn đàn  
Old 24-03-2008, 06:21 PM   #396
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi LeDuc View Post
Cho em hỏi câu này hơi chuối ? làm sao để nạp vào eeprom của 16f887 ? nạp qua đường nào? qua chân nào của Pic ?
Em cần nạp một mảng giá trị vào eeprom trước.cũng khoản 210 byte . Và sau này chường trình chính chỉ việc sử dụng các giá trị trong các ô nhớ của eeprom để xử lý mà thôi ....
Mong các huynh giúp đỡ !!
Thanks for all !
Bạn nạp thông tin cho EEPROM cùng lúc với nạp chương trình cho PIC, tất nhiên là thông qua ICSP. Chương trình của bạn cũng có thể tự ghi vào EEPROM, nếu bạn viết chương trình để cung cấp các chức năng đó.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 26-03-2008, 08:27 PM   #397
ha_vy_cson
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 3
:
các bác ơi! cho em hỏi một tý...
em đang lập trình giao tiếp giữa pc và pic 16f877a, em muon truyen một chuổi từ máy tính bằng vb6 đến pic thi nên viết code trên VB như thế nào và viết hàm nhận trong ccs như thế nào........
ha_vy_cson vẫn chưa có mặt trong diễn đàn  
Old 26-03-2008, 09:12 PM   #398
LeDuc
Đệ tử 6 túi
 
LeDuc's Avatar
 
Tham gia ngày: Mar 2007
Bài gửi: 150
:
Trích:
Nguyên văn bởi namqn View Post
Bạn nạp thông tin cho EEPROM cùng lúc với nạp chương trình cho PIC, tất nhiên là thông qua ICSP. Chương trình của bạn cũng có thể tự ghi vào EEPROM, nếu bạn viết chương trình để cung cấp các chức năng đó.

Thân,
Vấn đề là em muốn nap độc lập , mà kô ảnh hường đến chương trình chính có được ko anh ?
Vì một yêu cầu đặt ra là kô thay đổi chương trình chính mà chỉ việc thay đổi giá trị trong các ô nhớ của eeprom . Chương trình chính làm việc khác nhau ứng với các giá trị khác nhau trong vùng nhớ eeprom....
Mong các huynh giúp đỡ .
Thanks for all !
__________________
_________________________________________________
Le Trung Duc
Industry Research & Application Center
NTT Institute of Hi_technolog
ltduc@ntt.edu.vn
leduc_cktd@yahoo.com.vn
http://www.nttc.edu.vn
CNC DIY : http://quangcaosanpham.com/shop/driverservo
0909300332
LeDuc vẫn chưa có mặt trong diễn đàn  
Old 26-03-2008, 10:19 PM   #399
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi LeDuc View Post
Vấn đề là em muốn nap độc lập , mà kô ảnh hường đến chương trình chính có được ko anh ?
Vì một yêu cầu đặt ra là kô thay đổi chương trình chính mà chỉ việc thay đổi giá trị trong các ô nhớ của eeprom . Chương trình chính làm việc khác nhau ứng với các giá trị khác nhau trong vùng nhớ eeprom....
Mong các huynh giúp đỡ .
Thanks for all !
Đây chỉ là vấn đề bạn sử dụng phần mềm nạp chương trình ra sao. Đa số các phần mềm đều cho phép bạn chọn lựa vùng nhớ được cập nhật. Lấy ví dụ WinPic800, bạn vào menu Setting, chọn Software, sau đó nhấn nút ICSP Mode. Bạn sẽ thấy phía dưới có những check box cho các vùng nhớ khác nhau. Nếu bạn uncheck tất cả các vùng nhớ, chỉ để lại Data, thì WinPic800 sẽ chỉ cập nhật Data EEPROM khi bạn ra lệnh nạp cho PIC.

Một số phần mềm thì có lệnh ghi vào từng vùng nhớ riêng, và 1 lệnh để ghi tất cả các vùng nhớ. Nói chung, bạn tìm hiểu kỹ phần mềm đang dùng để nạp chip thì sẽ làm được điều bạn muốn.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 27-03-2008, 02:07 AM   #400
LeDuc
Đệ tử 6 túi
 
LeDuc's Avatar
 
Tham gia ngày: Mar 2007
Bài gửi: 150
:
Trích:
Nguyên văn bởi namqn View Post
Đây chỉ là vấn đề bạn sử dụng phần mềm nạp chương trình ra sao. Đa số các phần mềm đều cho phép bạn chọn lựa vùng nhớ được cập nhật. Lấy ví dụ WinPic800, bạn vào menu Setting, chọn Software, sau đó nhấn nút ICSP Mode. Bạn sẽ thấy phía dưới có những check box cho các vùng nhớ khác nhau. Nếu bạn uncheck tất cả các vùng nhớ, chỉ để lại Data, thì WinPic800 sẽ chỉ cập nhật Data EEPROM khi bạn ra lệnh nạp cho PIC.

Một số phần mềm thì có lệnh ghi vào từng vùng nhớ riêng, và 1 lệnh để ghi tất cả các vùng nhớ. Nói chung, bạn tìm hiểu kỹ phần mềm đang dùng để nạp chip thì sẽ làm được điều bạn muốn.

Thân,
Dạ , em hiểu rồi .
Em đã nạp được rồi .rất cảm ơn anh .
Nhưng em vẫn còn một vướng mắc ,hiện giờ mình chỉ nạp data vào riêng vùng eeprom .
Giả sử em muốn nạp giá tri 1-->255, tương ứng với ô nhớ từ 1-->255, vậy giá trị nạp này mình phải viết làm sao để có được file hex nạp riêng vào vùng nhớ eeprom đây?( chương trình chính là mình ko đụng đến rồi ...
Mong các anh chỉ giúp ..
Thanks for all !!
__________________
_________________________________________________
Le Trung Duc
Industry Research & Application Center
NTT Institute of Hi_technolog
ltduc@ntt.edu.vn
leduc_cktd@yahoo.com.vn
http://www.nttc.edu.vn
CNC DIY : http://quangcaosanpham.com/shop/driverservo
0909300332
LeDuc vẫn chưa có mặt trong diễn đàn  
Old 27-03-2008, 02:44 AM   #401
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi LeDuc View Post
Dạ , em hiểu rồi .
Em đã nạp được rồi .rất cảm ơn anh .
Nhưng em vẫn còn một vướng mắc ,hiện giờ mình chỉ nạp data vào riêng vùng eeprom .
Giả sử em muốn nạp giá tri 1-->255, tương ứng với ô nhớ từ 1-->255, vậy giá trị nạp này mình phải viết làm sao để có được file hex nạp riêng vào vùng nhớ eeprom đây?( chương trình chính là mình ko đụng đến rồi ...
Mong các anh chỉ giúp ..
Thanks for all !!
Bạn đọc tài liệu hướng dẫn của CCS C, mục nói về #rom (trong phần Preprocessor Directives). Ở đó đã có ví dụ cách đặt các giá trị cho EEPROM.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 30-03-2008, 08:06 PM   #402
ha_vy_cson
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 3
:
các bác ơi! cho em hỏi một tý...
em đang lập trình giao tiếp giữa pc và pic 16f877a, em muon truyen một chuổi từ máy tính bằng vb6 đến pic thi nên viết code trên VB như thế nào và viết hàm nhận trong ccs như thế nào........
ha_vy_cson vẫn chưa có mặt trong diễn đàn  
Old 23-04-2008, 05:42 PM   #403
bean984
Đệ tử 3 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 51
:
cho mình hỏi
port c của con 16f877a này có gì đặc biệt không vậy?
mình dùng 3 chân RC0,RC1,RC2 để nối đến 3 chân điều khiển LCD.nhưng tại sao khi mình không set_tris cổng này mà vẫn điều khiển được LCD.
mình hỏi một câu nữa nhé.
khi dùng các chân RC6,RC7 để truyền nhận thì không được set_tris cổng C? nếu vậy muốn dùng các chân khác với mục đích I/O thì làm ntn?
mình cảm ơn nhiều!!!
bean984 vẫn chưa có mặt trong diễn đàn  
Old 23-04-2008, 07:04 PM   #404
thaithienanh
Đệ tử 7 túi
 
thaithienanh's Avatar
 
Tham gia ngày: Jul 2006
Bài gửi: 189
:
Send a message via Yahoo to thaithienanh
Trích:
Nguyên văn bởi bean984 View Post
cho mình hỏi
port c của con 16f877a này có gì đặc biệt không vậy?
mình dùng 3 chân RC0,RC1,RC2 để nối đến 3 chân điều khiển LCD.nhưng tại sao khi mình không set_tris cổng này mà vẫn điều khiển được LCD.
mình hỏi một câu nữa nhé.
khi dùng các chân RC6,RC7 để truyền nhận thì không được set_tris cổng C? nếu vậy muốn dùng các chân khác với mục đích I/O thì làm ntn?
mình cảm ơn nhiều!!!
Port C của 16f877a tích hợp các modul truyền nhận dữ liệu theo các chuẩn khác nhau như I2C, SPI, .... chứ cũng chẳng có gì đặc biệt cả
- Bạn không set_tris nhưng vẫn điều khển được LCD là vì trình dịch CCS hỗ trợ, nó sẽ set_tris giùm bạn ở mỗi câu lệnh liên quan đến I/O => tốc độ xử lý và bộ nhớ giảm đi đáng kể do hành động set_tris lập đi lập lại nhiều lần dẫn đến dài dòng thừa thải code đơn giản thì không sao chứ nếu code đòi hỏi tốc độ và dung lượng bộ nhớ lớn thì mình khuyên nên dùng set_tris.
- Bạn dùng lệnh set_tris thì không giao tiếp đuợc với PC qua chuẩn 232, mình cũng chưa để ý cái này, nhưng mình nghĩ chắc chắn là đuợc chứ , bạn nên xem lại set i/o của bạn cho hai chân RC6 và RC7 đã đúng chưa , lưu ý lại với bạn ở đây chân RC6 là chân truyền (tranmister) tức ngõ ra và chân RC7 là chân nhận (Receiver) tức ngõ vào. Với lại trong câu lệnh set tris để set ngõ vào thì dùng bit (1), và ngõ ra tương ứng với bit (0).

Còn bạn gì ở trên kia muốn tìm hiểu giao tiếp với PC thì tìm lại trên diễn đàn nhé, có quá nhiều bài viết hướng dẫn và cả ví dụ mẫu về nó rồi đấy

Chúc các bạn thành công.
Thân.
__________________
_____________________________Tri nhân tri tự bất tri tâm_____________________________
_ _ _ _ _ _ _ _ Yêu mến tất cả anh em Picvietnam.com _ _ _ _ _ _ _ _
. . . . . . . . . . . . . . . . Để post đuợc một câu hỏi rõ ràng xin tham khảo link sau : . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . http://www.picvietnam.com/forum/showthread.php?t=1263. . . . . . . . . . . . . . . .
thaithienanh vẫn chưa có mặt trong diễn đàn  
Old 24-04-2008, 10:13 AM   #405
bean984
Đệ tử 3 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 51
:
Angry

Trích:
Nguyên văn bởi thaithienanh View Post
- Bạn không set_tris nhưng vẫn điều khển được LCD là vì trình dịch CCS hỗ trợ, nó sẽ set_tris giùm bạn ở mỗi câu lệnh liên quan đến I/O => tốc độ xử lý và bộ nhớ giảm đi đáng kể do hành động set_tris lập đi lập lại nhiều lần dẫn đến dài dòng thừa thải code đơn giản thì không sao chứ nếu code đòi hỏi tốc độ và dung lượng bộ nhớ lớn thì mình khuyên nên dùng set_tris.
nhưng mình đã thử lại I/O của port C bằng cách nháy led. Hoàn toàn không được nếu không set_tris. và với các port khác cũng vậy????
bean984 vẫn chưa có mặt trong diễn đàn  
Ðề tài đã khoá


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 PM
Lập nhóm PIC16F877A nhh Cơ bản về vi điều khiển và PIC 285 08-03-2017 11:08 PM
Bộ so sánh và PWM cho PIC16F877A anhquangngai Cơ bản về vi điều khiển và PIC 24 08-09-2012 09:00 AM
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM


Múi giờ GMT. Hiện tại là 05:37 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam