PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Pic16f877a TỪ DỄ TỚi KhÓ (http://www.picvietnam.com/forum/showthread.php?t=238)

minoan 19-09-2008 10:36 AM

Tại sao lại thế?

Code:

Delay
movlw 0xFF
movwf giatri1  ; dia chi 0x80
movwf giatri2        ; dia chi 0x81
movwf giatri3        ; dia chi 0x82

loop1
loop2
loop3

decfsz giatri3
goto loop3

decfsz giatri2
goto loop2

decfsz giatri1
goto loop1

return

Mình viết chương trình con để tạo trễ, không hiểu tại sao lúc mô phỏng MPLAB 8.0 thì được nhưng khi đổ vào PIC lại không chạy, hình như nó cứ đứng ì luôn không thoát ra được chương trình con đó, mình dùng cà 16F877A và 16F84A cũng thấy thế. Không hiểu tại sao cả? Ai biết thì chỉ dùm nhé.

namqn 19-09-2008 05:16 PM

Trích:

Nguyên văn bởi minoan (Post 18928)
Tại sao lại thế?

...

Mình viết chương trình con để tạo trễ, không hiểu tại sao lúc mô phỏng MPLAB 8.0 thì được nhưng khi đổ vào PIC lại không chạy, hình như nó cứ đứng ì luôn không thoát ra được chương trình con đó, mình dùng cà 16F877A và 16F84A cũng thấy thế. Không hiểu tại sao cả? Ai biết thì chỉ dùm nhé.

Việc PIC chạy như thế nào còn tùy thuộc vào cách cấu hình của bạn. Bạn chưa cho biết các cấu hình của PIC16F877A và PIC16F84A mà bạn đã dùng ra sao.

Thân,

kiwi 20-09-2008 12:16 AM

Em mới vừa học PIC ,bác nào có bài tập hay ví dụ về Pic thì cho em xin, đọc lý thuyết nhiều mà nhiều lúc ko hiểu j hết. Thank!

chiataytuday 29-09-2008 10:45 AM

sao không thấy tài liệu về ngắt mấy anh em. Tập tài liệu cuối cùng mình download về giải nén bị lỗi mất. cho mình lại cái link đi.

sevenlove_1001 30-09-2008 02:14 PM

Cảm ơn Bác cho Bọn em tài lệu hay nhé! bác chuẩn bị post bài 3 đi em chờ dài cổ rùi

nutiepthi4 30-09-2008 02:38 PM

Lập trình PIC 16f877a trên Linux với SDCC
 
SDCC là trình biên dịch nhỏ gọn, ban đầu được phát triển trên Linux để biên dịch chương trình viết bằng C cho vi xử lý. Đối tượng ban đầu của SDCC là các vi xử lý họ 8051, vế sau được phát triển cho các vi điều khiển. Hiện nay SDCC lả trình biên dịch khá mạnh cho PIC chạy trên Linux (mặc dù đã có bản chạy trên MS Windows). Đi kèm với SDCC là trình mô phỏng GPSIM, và các chương trình hỗ trợ khác như gputils,...
Tôi giới thiệu giới thiệu trình biên dịch này bởi vì cấu trúc chương trinh viết bằng SDCC đơn giản, các file header (*.h) mô tả các vi điều khiển rất sát với Dataset của vi điều khiển. Ví dụ: trên Dataset của Microchip PIC 16f877a, mô ghi tên các chân cổng A là RA0, RÁ, ..., thanh ghi điều khiển vào ra cổng A là TRISA thì
trên SDCC muốn xuất mức 1 cho chân RA0, bạn chỉ cần viết:
TRISA0 = 0;
RA0 = 1;
Trông có vẻ đơn giản phải không? Vì vậy để điều khiển PIC bằng SDCC, gần như bạn chỉ cần học Dataset, bởi vì SDCC quá đơn giản và sát với Dataset!
Kiến thức về vi điều khiển của mình còn co hạn. Mong các bạn chỉ giáo thêm, Cảm ơn!

chiataytuday 03-10-2008 09:22 AM

sao mà càng về sau các admin lại không nhiệt tình thế này?

Sangdth 03-10-2008 12:58 PM

Trích:

Nguyên văn bởi minoan (Post 18928)
Mình viết chương trình con để tạo trễ, không hiểu tại sao lúc mô phỏng MPLAB 8.0 thì được nhưng khi đổ vào PIC lại không chạy, hình như nó cứ đứng ì luôn không thoát ra được chương trình con đó, mình dùng cà 16F877A và 16F84A cũng thấy thế. Không hiểu tại sao cả? Ai biết thì chỉ dùm nhé.

Mình cũng có cùng câu hỏi như minoan, nhưng lại cố mò mẫm theo hướng khác.

Làm theo hướng dẫn trong tut "Học PIC trong một ngày" của trưởng lão falleaf, cũng đến đoạn tạo trễ thì rối lên. Mình cũng viết 3 vòng loop, nhưng không gọi theo cách của bạn, mà lồng nó vào nhau,

Code:

DELAY1        DECFSZ        COUNT_1,        F
        GOTO        DELAY2
        RETURN

DELAY2        DECFSZ        COUNT_2,        F
        GOTO        DELAY3
        RETURN

DELAY3        DECFSZ        COUNT_3,        F
        GOTO        DELAY3
        RETURN

Không hiểu lồng như thế thì đúng hay sai? Mong mọi người xem giúp, sau cái này còn cái khác nữa ^^

Cảm ơn mọi người.

nguyencuong4988 04-10-2008 12:37 AM

thank anh ^^

luongnhut 09-10-2008 10:23 AM

reset cho pic16f877a
 
em đọc thấy cách mắc cho chân MCLR nhu hình dưới, mình co thể tạo thời gian trễ cho nút reset bang cách nối song song một tụ điện với nut nhấn dc ko, mún tạo thời gian reset cho pic khoảng 500ms thi giá trị của tụ điên là bao nhiêu

phamquocdai 12-10-2008 05:37 AM

Cam on ban ve bai viet!
 
Minh dang hoc lap trinh cho pic nhung khong biet bat dau tu dau? Bai viet cua ban rat hay hy vong minh se nhan tiep bai viet moi cua ban!!!!
Thanks!!!!!!!!!!!!

Mr.Bi 12-10-2008 08:10 PM

Trích:

Nguyên văn bởi luongnhut (Post 19445)
em đọc thấy cách mắc cho chân MCLR nhu hình dưới, mình co thể tạo thời gian trễ cho nút reset bang cách nối song song một tụ điện với nut nhấn dc ko, mún tạo thời gian reset cho pic khoảng 500ms thi giá trị của tụ điên là bao nhiêu

ko cần nối tụ đâu u , trong PIC đã có sẵn tụ này oy . U nối thêm có khi ct lại chạy ko đúng

delpiero10 15-10-2008 11:10 PM

E đang làm về con 16F877A ghép nối theo bus mà kô biết chân chốt địa chỉ của nó là chân nào (như ALE trong 8051) và cổng dùng ghép nối theo bus là cổng nào (như P0,P2 trong 8051)? Ai biết giúp đỡ nhé! Thank!

namqn 15-10-2008 11:42 PM

Trích:

Nguyên văn bởi delpiero10 (Post 19618)
E đang làm về con 16F877A ghép nối theo bus mà kô biết chân chốt địa chỉ của nó là chân nào (như ALE trong 8051) và cổng dùng ghép nối theo bus là cổng nào (như P0,P2 trong 8051)? Ai biết giúp đỡ nhé! Thank!

PIC16F877A không dùng kiến trúc bộ nhớ như 8051, do đó bạn sẽ không tìm thấy các chân này trên nó.

Thân,

8sung 16-10-2008 01:05 AM

xin chào cả nhà
tớ đang muố làm 1 cái bảng quảng cáo bằng den led nhầp nháy theo nhiều kiểu ý
ban nào có thể cho minh xin cái sơ đồ mach dùng pic làm ví dụ với
mình cảm trước nhé


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