PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và 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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 30-08-2007, 03:12 PM   #1
minhtienbk
Đệ tử 5 túi
 
minhtienbk's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 120
:
Send a message via ICQ to minhtienbk Send a message via Yahoo to minhtienbk
,anh cho xem cái chương trình ấy , đang làm đồng hồ lại thành chớp LED
__________________
Mạch - remote điều khiển từ xa qua RF 30m ,300m ,500m,1000m,... (đã test ) ,loại công suất lớn , loại cực nhỏ .... , rẻ ,giao hàng nhanh chóng toàn quốc (3 ngày), thâm niên 3 năm mua bán mạch RF 09 8485.bảy bảy.11
bán linh kiện ,MCU ARM , kit , dụng cụ , mạch www.nhattaoonline.com
Hỗ trợ kỹ thuật đầy đủ. Tài liệu đầy đủ.
minhtienbk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-08-2007, 04:56 PM   #2
tinhthanthep
Đệ tử 6 túi
 
tinhthanthep's Avatar
 
Tham gia ngày: Jun 2005
Bài gửi: 141
:
Trích:
Nguyên văn bởi minhtienbk View Post
,anh cho xem cái chương trình ấy , đang làm đồng hồ lại thành chớp LED
Mình hướng dẫn các bạn học từ cái cơ bản đầu tiên, đến cuối cùng sẽ là một chương trinh lịch vạn niên hoàn chỉnh. Chứ viết cả chương trình lớn lên đây chắc những người đọc xong cái hiểu ngay thì cũng không cần đến cái project của mình lắm.

Tiếp theo chúng ta làm bài toán đọc phím bấm. Ta có tất cả 4 phím bấm là MODE, SET, UP, DOWN tương ứng nằm ở các chân RB1, RB2, RB3 và RB4. Bài toán lần này như sau: Bấm phím RB1 thì LED 1 sáng...Bấm phím RB3 thì LED3 sáng, bấm phím RB4 thì tắt hết các đèn. Chương trình sẽ như sau:

void MAIN() {
PORTB = 0; // Xoá dữ liệu cổng B
TRISB = 0xFF; // Định nghĩa cổng B là input

PORTE = 0;
TRISE = 0;
ADCON1 = 0xE;

Loop:
if (PORTB.F1 == 0) { // Kiểm tra nút ấn RB1 có bấm không? Nếu bấm thì
PORTE = 0x00; // Tắt hết đèn cổng E
PORTE.F0 = 1; // Bật đèn LED1
}
if (PORTB.F2 == 0) { // Kiểm tra nút ấn RB2 có bấm không? Nếu bấm thì
PORTE = 0x00; // Tắt hết đèn cổng E
PORTE.F1 = 1; // Bật đèn LED2
}
if (PORTB.F3 == 0) { // Kiểm tra nút ấn RB3 có bấm không? Nếu bấm thì
PORTE = 0x00; // Tắt hết đèn cổng E
PORTE.F2 = 1; // Bật đèn LED3
}
if (PORTB.F3 == 0) PORTE = 0x00; // Kiểm tra nút ấn RB3 có bấm không? Nếu bấm thì Tắt hết đèn cổng E
goto Loop; // Lặp lại vòng lặp kiểm tra nút bấm

}
tinhthanthep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2008, 06:07 PM   #3
minhsondaklak
Đệ tử 5 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 96
:
Sử dụng các hàm I2C của MikroC

Tham gia "Học PIC6F877A qua đề tài lịch vạn niên" của Tinhthanthep, thấy có sử dụng các hàm ghi và đọc dữ liệu với ds1307 theo giao tiếp I2C:
- I2C_Wr(0xD0): gởi địa chỉ của ds1307 lên đường truyền
- I2C_Wr(0x90): cấu hình cho thanh điều khiển ds1307, sử dụng xung 1hz
- I2C_Rd(1u): đọc dữ liệu từ ds1307
Mình không biết các tham số của các hàm trên như : 0xD0, 0x90, 1u ... thì có thể tham khảo ở tài liệu nào, mình đã đọc trong Hepl của MikroC mà không rõ ?

Xin nhờ các Huynh chỉ giúp, xin cám ơn !
minhsondaklak vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2008, 06:12 PM   #4
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 minhsondaklak View Post
Tham gia "Học PIC6F877A qua đề tài lịch vạn niên" của Tinhthanthep, thấy có sử dụng các hàm ghi và đọc dữ liệu với ds1307 theo giao tiếp I2C:
- I2C_Wr(0xD0): gởi địa chỉ của ds1307 lên đường truyền
- I2C_Wr(0x90): cấu hình cho thanh điều khiển ds1307, sử dụng xung 1hz
- I2C_Rd(1u): đọc dữ liệu từ ds1307
Mình không biết các tham số của các hàm trên như : 0xD0, 0x90, 1u ... thì có thể tham khảo ở tài liệu nào, mình đã đọc trong Hepl của MikroC mà không rõ ?

Xin nhờ các Huynh chỉ giúp, xin cám ơn !
Những thông tin đó nằm trong datasheet của DS1307. Mỗi thiết bị I2C có những quy định riêng về địa chỉ, các lệnh điều khiển, thao tác dữ liệu. Để điều khiển thiết bị nào thì bạn phải tuân theo những quy ước của thiết bị đó, nếu không thì thiết bị chỉ lờ đi các yêu cầu của bạn thôi.

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   Trả Lời Với Trích Dẫn
Trả lời


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


Múi giờ GMT. Hiện tại là 05:58 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