Cám ơn bác namqn!
Các bác ơi, tôi đang loay hoay với việc giao tiếp giữa PIC 16F877A với eeprom 24C64 mà chưa được, bác nào đã làm được hoạc có kinh nghiệm giao tiếp với bộ nhớ ngoài xin chỉ giùm. |
Bạn đọc tài liệu sau của Microchip về giao tiếp PIC16 với I2C EEPROM:
http://ww1.microchip.com/downloads/en/DeviceDoc/i2c.pdf Thân, |
Trích:
http://www.picvietnam.com/forum//sho...p?t=357&page=2 |
Đoạn mã hiển thị led 7 thanh này, dấu ^ có ý nghĩa là vì hả các bác
void display(int8 digit) { output_c(DIGITS[digit] ^ 0xff); off_on_led_transistor(); } Thân. |
Trích:
Bác dùng mấy cái mảng + hàm con mà chẳng ai biết từ đâu ra thì ai mà hiểu được bác đang nghĩ gì ! Hãy post cả code hoàn thiện để mọi nguời cùng mổ xẻ ! |
Thì đoạn chương trình đấy từ bài viết về hiển thị led7 thanh,post lại vậy:
Chương trình hiển thị phím số trên ma trận phím 4x3 ra đèn 7 đoạn (không dùng interrupt) #include <16F877A.h> #fuses NOWDT, XT #fuses NOLVP // important #use delay(clock=4000000) #include <kbd.c> // in PICC\Drivers // 0 1 2 3 4 5 6 7 8 9 byte const DIGITS[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; /////////////////////////////////////////////////////////// /* private */void off_on_led_transistor() { output_low(PIN_D1); delay_ms(1); output_high(PIN_D1); } /////////////////////////////////////////////////////////// void display(int8 digit) { output_c(DIGITS[digit] ^ 0xff); off_on_led_transistor(); } /////////////////////////////////////////////////////////// int8 char_to_digit(char c) { return c & 0b00001111; // first 4 bits only } /////////////////////////////////////////////////////////// int1 digit_key_pressed(char key) { byte pattern; pattern = 0b00110000; return (key & pattern) == pattern; } /////////////////////////////////////////////////////////// void main() { int8 i, digit; char key; kbd_init(); while (true) { key = kbd_getc(); if (digit_key_pressed(key)) { digit = char_to_digit(key); for (i = 0; i < 200; i++) // repeat the display for human eyes display(digit); } } } |
Trích:
Thân, |
Trong đoạn code về quét bàn phím, có lệnh sau e không hiếu,mong được các bác giải thích: IF((RBIF)&&(RBIE)....
#int_RB void ngat_RB() { if((RBIF)&&(RBIE)) { { if(RB4&&RB0) a=dig[0]; } { if(RB4&&RB1) a=dig[4]; Thân. |
Trích:
|
Ban lam on cho biet cho tim may thu vien cua CCS C, vi du nhu lcd_lib_4bit.h hay def_877a.h. Cam on!
|
cho biêt có sự khác nào giữa pic16f877-20p với 16f877a không
|
Bác nào có chương trình mẫu viết cho ADC 16bit ngoài, và ctr viết cho Rom ngoài bằng CCS ko up lên cho anh em học với.Thêm nữa là chưa thấy bác namqn hướng dẫn về làm ctr Calibrate trong quá trình ghi vào Rom: Ví dụ như đo nhiệt độ bằng can nhiệt thì nên dung bảng calip để đo thực tế rồi ghi vào Rom hay hơn là dùng công thức . Mình nghĩ đây cũng là một vấn đề mọi người nên quan tâm, có ai đã làm rồi thì có thể hướng dẫn cho moi người nhé!
|
Trích:
Chúc vui |
[QUOTE=nhh;2261]Còn đây là ứng dụng ngắt ngoài trên RB4 đến RB7 để thay đổi kiểu cũng như tốc độ chớp nháy mấy con led chỉ để....ngắm cho vui mắt !
Ấn sw1, led1 nhấp nháy với delay 250ms Ấn sw2, led1,2 nhấp nháy với delay 200ms Ấn sw3, led1,2,3 nhấp nháy với delay 150ms Ấn sw4, led1,2,3,4 nhấp nháy với delay 100ms [code]//************************************************** *************************** // Author : nhh // Date : 03/04/06 // Hardware: PIC16F877A //************************************************** *************************** Bác nhh ơi,tui đang đang dùng CCS C version 4.013 ( tui mới học PIC gần đây). Khi tui copy file của bác về chạy thử thì nó báo lỗi. Ở khai báo #byte portb=0x06, nó báo lỗi là Expecting an identifier và Expecting a declaration. Còn ở lệnh: portb=led;thì nó báo lỗi Expecting LVALUE such as a variable name or *expression. Cụ thể là bài của bác tui dịch ra là 8 lỗi. Tui pó tay:confused: .Rất mong sự chỉ giáo của bác,và các bậc tiền bối. |
ha ha,tui gỡ version 4.013,và cài version 3.249,rồi dịch bài của bác nhh thì khg có lỗi nào cả.Pó tay.Có ai bít giải thích giùm.
|
Múi giờ GMT. Hiện tại là 05:45 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