PDA

View Full Version : giúp mình về CCS cho pic


vuthien86
16-02-2009, 05:00 PM
mình mới bắt đầu học về píc ,dùng con 16F84a để nháy 7 led theo bài tập đầu tiên về píc .nhưng khi tập viết chương trình cho nó tạo project và copy cái code của ban linh 308 ,sửa lại một số thông số về con pic ,thạch anh .nhưng khi complet thì báo lỗi file def_84a.h .mình không hiểut lắm ,trong thư viện rõ ràng có file này sạo ko chạy dc chương trình này .mới học nên nhiều cái ko biết mong mọi người giúp

love_ac
16-02-2009, 07:32 PM
Bạn nói bạn đã sửa đổi code,nếu không có gì bí mật bạn có thể post đoạn code đó lên được không.Thêm nữa def_84a.h là file mà bác linh đã định nghĩa port,register ...cho chú 16F84a để tiện cho việc truy nhập.Nó không có sẵn trong thư viện khi cài đặt CCsc.Bạn đã copy file này vào project của bạn chưa.Và thêm nữa chỉ rõ thông báo lỗi của bạn lên để mọi người dễ giúp đỡ

vuthien86
17-02-2009, 10:02 AM
mình thấy trong thư mục C:\Program Files\PICC\Devices có file 16F84A.h.copy file này vào thư mục project rồi add vào header file dúng ko anh như vậy thì mới chạy dc chương trình .file def_...h là do nguòi lập trình tạo ra về pord ,thanh ghi ,.. cái này có thể nói rõ hơn dc ko ,mình không hiểu lắm .

vuthien86
17-02-2009, 11:44 AM
mình cho nó chạy dc chương trình roài .ah mình muốn hỏi khi mình lập trình hiệu ứng theo ý mình thì có thể viết theo từng bit một không hay là phải viết theo mã hexa
VD đièu khiển cổng B từ B0-B7 :có thể viết 00000000 thay vi 0x00 ?
mình đang mới học mà,có nhiều thắc mắc cứ hỏi dần anh em vậy .trước mình làm về điện thoại giờ chuyển sang cái này thấy cái này tư duy hay hơn nhiều ,

nguyennam8888
18-02-2009, 09:05 AM
mình cho nó chạy dc chương trình roài .ah mình muốn hỏi khi mình lập trình hiệu ứng theo ý mình thì có thể viết theo từng bit một không hay là phải viết theo mã hexa
VD đièu khiển cổng B từ B0-B7 :có thể viết 00000000 thay vi 0x00 ?
mình đang mới học mà,có nhiều thắc mắc cứ hỏi dần anh em vậy .trước mình làm về điện thoại giờ chuyển sang cái này thấy cái này tư duy hay hơn nhiều ,

bạn có thể hoàn toàn sử lý cho từng bit được, vi du điều khiển portB bạn có thể viết:
với binary ( 0b0000000) hoặc hex ( 0x00) hoặc các gia tri tử 0->255 (0xff = 255)
Chúc bạn thành công

vuthien86
18-02-2009, 10:22 AM
cảm ơn bạn .cho mình hoi cú pháp để tạo một hàm và gọi tên hàm đó như thế nào nhỉ ,mình tìm không thấy ,tài liệu bạn gửi không thấy có

nguyennam8888
18-02-2009, 03:03 PM
cảm ơn bạn .cho mình hoi cú pháp để tạo một hàm và gọi tên hàm đó như thế nào nhỉ ,mình tìm không thấy ,tài liệu bạn gửi không thấy có

việc viết hàm và gọi tên hàm bạn thục hiện bình thường thôi.Hàm có dạng như sau:
type name( tham số thứ 1,tham số thứ 2..) {...bạn viết đoạn code bạn muốn ở đây}
trong đó:
type là kiểu dữ liệu trả về của hàm
name là tên hàm
tham số nếu hàm sử dụng 1 thì chỉ khai báo tham số thứ nhất thôi
còn khi muốn sử dụng hàm bạn vừa viết thì chỉ viết tên của nó ra thôi; Lưu ý hàm phải được viết trước main của bạn
VD .... các khai báo cần thiềt
//khai báo hàm mà bạn muốn sử dụng
void hienthi( int8 i){
i=i+2;}
void main
{ .......code..
hienthi(giá trị của i)// chẳng hạn bạn viết :hienthi(3) thì lúc này hàm sẽ cho ta kết quả i = 5
... rồi viết tiếp các đoạn lệnh bạn viết để xử lý giá trị i=5 đó, chẳng hạn trừ, nhân..... }
trên đây chỉ là ví du đơn giản tôi viết để cho bạn hiểu một cách dễ nhất thôi,khi viết cho VXL thì công việc của hàm không chỉ có +, - ... nữa mà nó mang mục dích của ngưởi viết.
Chúc Bạn thành công

nguyennam8888
18-02-2009, 03:33 PM
bạn tham khao thêm nhé