![]() |
Anh tinhthanthep oi!
- Em đang nghiên cứu về PIC8F877 - Anh co crack của MikroC ver 6 không? Nếu có gửi cho e với (soft và crack luôn nha a ) - Cho em xin mạch nguyên lý và chương trình lịch vạn niên Cảm ơn anh rất nhiều ! Email : jindo1287@yahoo.com Topic của arất hữu ích với tất cả mọi người. |
có anh nao giup minh với sao mình tạo Project bằng mikroc nhu file hướng dẩn của bac tinh thần thép nhưng lúc biên dịch nó k dich ra file hex , dó là pic 16F877A, còn nữa nếu muon tạo Project dể khi viết xong cho biên dịch ra file hex cho pic 18F452 thì làm thế nào có bác nào biết xin giup em
|
Do nhiet do hien thi LCD dung DS1820 pic6F877A
có bài viet nay em không hiểu và sau khi viết xong em dịch nó không ra file hex co anh nào biết nhờ chỉ giúp em cảm ơn nhiều
unsigned temp; unsigned short j; void Display_Temperature(unsigned int temp) { //... } Void main() { ADCON1 = 0xFF; PORTA = 0xFF; TRISA = 0xFF; PORB = 0; TRISB = 0; do { ow_Reset(&PORTA,5); ow_write(&PORTA,5,0xCC); ow_write(&PORTA,5,0x44); Delay_us(120); ow_Reset(&PORTA,5); ow_write(&PORTA,5,0xCC); ow_write(&PORTA,5,0xBE); Delay_us(400); j = ow_Read(&PORTA,5); temp = ow_Read(&PORTA,5); temp <<= 8; temp +=j; Display_Temperature(temp); Delay_ms(500); } while (1); }//~! |
Bác tinhthanthep cho minh hỏi:
- ROM ngoài chỉ chứa giờ phút giây alarm phải không ? - Nếu thay bằng ROM của PIC luôn, thì làm thế nào ? Cảm ơn. |
Code:
Lcd_Config(&PORTD,4,7,6,3,2,1,0); // các bạn xem sơ đồ mạch để hiểu được cách khai các tham số của hàm này |
????
1 Attachment(s)
Trích:
bác ơi ! mình đã tìm được thư viện lệnh của LCD gòy! nhưng sao viết như bác chỉ mà nó chẳng xuất ra chữ nào hết có file kèm theo đây: |
????
Trích:
ah còn con 24c04 của bác,trong proteus chỉ có 2 chân A1,A2 thôi ,đâu có tới 3 chân như của bác đâu? bác giải thích rõ chút ah! cảm ơn bác nha! |
Khởi tạo ds1307
Trích:
Theo "lịch vạn niên" của Bác Thép, mình còn thắc mắc 1 điều, nhờ các Huynh xem giúp: Trong hàm INIT_MAIN() có đoạn khởi tạo cho ds1307 như trên. Như thế cứ mỗi lần con PIC được cấp điện lại (mất điện lưới rồi có lại ấy !) thi đồng hồ lại bị Reset theo giá trị mình khởi tạo ban đầu cho nó. Thế hoá ra mỗi lần như vậy phải đi chỉnh lại giờ cho đồng hồ à ! Hay phải xử lý thế nào đây ? mong các Huynh chỉ giúp, xin cám ơn ! |
bác Tinhthanthep có thể gửi cho mình cái software và crack của Mickro C với nha. Cảm ơn bác nhiều lắm.Mail của mình là ghetnguoithu3@yahoo.com
|
http://www.picvietnam.com/forum//showthread.php?t=2505
tìm trong diễn đàn trước rồi hãy hỏi nhé bạn ! :) |
Mô phỏng "Lịch vạn niên" với proteus
1 Attachment(s)
Cùng thực hành với "lịch vạn niên"
|
Khởi tạo ds1307
Hôm nay mình đã cho chạy trên mạch thực nghiệm, kết quả:
- Phần code khởi tạo cho ds1307 chỉ cho chạy 1 lần, để khởi tạo cho IC ds1307 - Sau đó phải xoá đoạn code này đi, biên dịch lại và nạp lại cho PIC thì OK !!! |
con DS1307 có vùng ram cho người dùng tùy ý sử dụng, sao ta không đặt 1 giá trị bất kì (ví dụ 0xff) tại 1 ô nhớ nào đó (chẳng hạn tại 0x09). Trong hàm main, ta kiểm tra giá trị tại 0x09 của DS1307, nếu = 0xff thì nhảy đến vòng lặp chính, nếu khác thì gọi hàm thiết lập giá trị cho DS1307. Đây là cách mà tôi bẫy DS mỗi khi cúp điện.
|
???
Chào meishun !
Bạn có thể nói rõ hơn được không: Lệnh ghi giá trị 0xff vào địa chỉ 0x09 cho DS thì đặt ở đâu được ? |
ví dụ hàm khởi tạo cho DS1307 tôi trích ra trong 1 project trước kia của tôi (do ưu tiên giao tiếp SPI cho MMC nên tôi thiết lập giao tiếp I2C bằng phần mềm, trình biên dịch MikroC)
Code:
void RTC_init() unsigned char RTC_get(unsigned char addr); RTC_settime(unsigned char hh, unsigned char mm, unsigned char ss); RTC_setdate(unsigned char dd, unsigned char mm, unsigned char yy); - khi đó, trong hàm main(): Code:
void main() Thực tình, việc bẫy này cũng chỉ "khá" hiệu quả thôi. Tôi cung ko hiểu tại sao lâu lâu con DS1307 bị treo (?), một ngày mà cúp điện chừng 3-4 lần là nó chạy "tào lao" thôi. Có lẽ bị sốc nguồn chăng?? |
Múi giờ GMT. Hiện tại là 05:02 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam