dsPIC Tutorial 3-Đọc ngõ vào và giao tiếp LCD
Đây là tutorial tiếp theo cho dsPIC, viết trong ASM30. Vài ngày tới tôi sẽ post các source code viết bằng C30 cho các tutorial đã viết. Các bạn theo dõi trong các luồng tương ứng của các tutorial đã post.
Trong tutorial 3 cho dsPIC, thông qua một ví dụ về đọc trạng thái các công tắc nối vào dsPIC và hiển thị trạng thái trên LCD, tôi minh hoạ cách đọc ngõ vào số của dsPIC, và cách giao tiếp dsPIC với LCD. Tôi cũng đã giới thiệu cách viết macro và cách định thời bằng ngắt với thời gian xử lý ngắt tối thiểu. Link để download tutorial: http://picvietnam.com/download/uploa...QNT.180706.pdf Các tập tin nguồn và hex được đặt trong tập tin nén sau: http://picvietnam.com/download/upload/namqn/Vidu3.zip Chúc các bạn thành công! Thân, |
Mã nguồn viết trong C30 (và các tập tin .hex) cho các ví dụ trong tutorial này có thể download ở đây:
http://picvietnam.com/download/uploa...n/Vidu3C30.zip Chúc thành công! Thân, |
Anh ơi,sao em ko down được anh ah.Anh xem lại link giúp em cái.
Thanks |
Em mới nghiên cứu về DSpic.Trước em có làm về con 16F877A.Vào đây thấy hay quá,nhưng em vào mấy cái link của anh thì toàn báo lỗi.
|
3 Attachment(s)
Trích:
Thân, |
Anh cho em hỏi dòng config : PWMxL_ACT_HI & PWMxH_ACT_HI
có nghĩa là gì hả anh? |
Trích:
Thân, |
dspic for lcd
Anh Nam cho em hỏi :
Code:
const unsigned char __attribute__ ((space(psv), address (0x0400))) |
Dòng lệnh thứ nhất khai báo vùng nhớ (hằng) có thể truy xuất thông qua PSV ở địa chỉ 0x0400. Dòng lệnh thứ hai khai báo một chuỗi hằng trong không gian đó. Dòng lệnh thứ ba bật chế độ truy xuất thông qua PSV. Dòng thứ tư thiết lập thanh ghi trang trước khi truy xuất bằng PSV. Không gian địa chỉ flash của dsPIC là 24-bit, trong khi các thanh ghi chỉ số dùng để truy xuất dữ liệu là 16-bit, do đó cần có một thanh ghi trang chứa 8 bit cao hơn của địa chỉ.
Để xuất một chuỗi khác vào dòng thứ hai của LCD thì bạn chỉ cần khai báo chuỗi mới đó, truy xuất chuỗi đó thay vì chuỗi thứ nhất trong vòng lặp xuất ra dòng thứ hai của LCD. Hiện thời chỉ có một vài quyển sách về lập trình dsPIC bằng ngôn ngữ cấp cao được bán, tôi chưa tìm được trang web nào hướng dẫn việc này. Đó cũng là 1 lý do khiến tôi viết những tutorial này, dù rằng tôi phải vừa học vừa viết. Thân, |
Chào các anh!
Em cung dang tim hieu ve dsPic và có tham khảo qua một số Tutorial của anh Nam. Em co làm thử một ví dụ là đọc trạng thái của Switch và hiện thị kết quả đọc đó ra Led đơn. Nhưng không hiểu sao em nó không chạy xin các anh chi giùm. Em có upload cả phần cứng lẫn phần mềm lên mong các anh bớt chút thời gian và cho lời giải thích! Thank! Không hiểu sao em không upload được Em mô tả qua phần cứng vậy: Các led đơn (7Led) được nối với PortF của dsPic30f4013, chân kia của Led đơn nối với trở 100 và được nối xuống đất. 8 chân của switch thì được nối với chân RB0-RB7 và chương trình chính như sau: Code:
void main() |
Trích:
- Với PIC và dsPIC thì nhất định phải cấu hình đầy đủ rồi mới viết chương trình, có nhiều bạn gặp nhiều lỗi khó hiểu, và đó là do cấu hình chip chưa đúng. - Bạn nối LED vào port F nhưng chương trình lại xuất ra port E! Thân, |
Trích:
http://www.picvietnam.com/forum/show...?t=1139&page=2 và Bác cho em hỏi Bác dùng Protues bản bao nhiêu thế Bác và có thể Download ở chỗ nào hả bác. Em đang dùng Protues 6.7 nhưng em tìm không thấy con DSPIC30F4011 mà trong bài hướng dẫn em thấy Bác vẽ. |
Trích:
Tôi dùng Proteus 6.9 SP1, phiên bản licensed của trường (Sheffield University). Symbol của dsPIC30F4012 đó là tôi tự vẽ ra, không có sẵn trong thư viện của Proteus đâu. Thân, |
Anh Nam cho em hỏi: trong code vidu3_1.s có dòng config như sau:
config __FOSC, CSW_FSCM_OFF & FRC_PLL4 ;Clock = 32 MHz Em đọc trong tài liệu dsPIC30F Family Reference Manual thì thấy với chế độ FRC_PLL4 thì clock chỉ bằng 7.37*4 MHz thôi, sao lại có clock=32MHz. |
Trích:
Tutorial được post vào tháng 08/2006 mà bạn. Thân, |
Múi giờ GMT. Hiện tại là 02:33 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam