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 28-05-2005, 01:56 PM   #1
teo
Nhập môn đệ tử
 
Tham gia ngày: May 2005
Nơi Cư Ngụ: TP HCM
Bài gửi: 2
:
Nộp bài tập "Hoc PIC trong 1 ngày"

Bác falleaf ơi, mấy bửa nay theo dõi bài viết của bác, em cũng bắt đầu nghiên cứu xem sao, nhưng có phần vẫn chưa hiểu về công thức tính delay của bác, em nộp bài tập này nhờ bác xem giúp coi ntn
PHP Code:
Bài 1:
******************************
delay:
    
movlw    d'250'
    
movwf    count1
del_trong1
:
    
movlw    d'100'
    
movwf    counta        
del_trong2
:    
    
decfsz    counta
    
goto    del_trong2    
    decfsz    count1
    
goto    del_trong1
    
return
;
tinh toan delay
;    call 2
;     return = 2
;    del_trong2 = (100-2)+(98+98*2)+393
;    del_trong1 248+(248+248*2)+993
;    --------------------------------------
;    
total 2+2+393*993 290951
**********************************
Bài 2:
**********************************
loop:    
    
movlw    b'100000000'
    
movwf    LEDPORT
    call     delay
    movlw    
b'010000000'
    
movwf    LEDPORT
    call     delay
    movlw    
b'001000000'
    
movwf    LEDPORT
    call     delay
    movlw    
b'000100000'
    
movwf    LEDPORT
    call     delay
    movlw    
b'000010000'
    
movwf    LEDPORT
    call     delay
    movlw    
b'000001000'
    
movwf    LEDPORT
    call     delay
    movlw    
b'000000100'
    
movwf    LEDPORT
    call     delay
    movlw    
b'000000010'
    
movwf    LEDPORT
    call     delay
    movlw    
b'000000001'
    
movwf    LEDPORT
           
             
goto       loop
********************************** 

thay đổi nội dung bởi: teo, 29-05-2005 lúc 09:07 AM.
teo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-05-2005, 07:38 PM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Cám ơn tèo.. hihi..

Anh sẽ xem lại cho chú sau. Nhưng lần sau, chú gửi bài lên, chú nhớ gửi kèm file .zip cả phần source của chương trình chú viết, để anh đỡ mất công copy qua lại nhé. Vì sau này có nhiều phần lằng nhằng trong bài tập dính đến các phần phía trên thì post rất dài.

Chú gửi dạng gửi file đính kèm lên đây.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-05-2005, 02:30 AM   #3
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Công thức em tính bị sai rồi TEO, vì vòng lặp ở trong anh viết công thức tính ở bên kia sai, cho nên em xem lại cách tính của anh.

COUNT_L anh ký hiệu cho giá trị ban đầu nhập vào
DECFSZ và GOTO là số chu kỳ máy cần thực hiện của hai lệnh này.

Như vậy, khi bắt đầu lệnh DECFSZ đầu tiên, anh giả sử COUNT_L ban đầu = 2 đi, thì rõ ràng sẽ tốn 5 chu kỳ máy trước khi nhảy đến lệnh RETURN, chứ không phải 2 chu kỳ máy giống như công thức ban đầu anh viết. Có thể do viết bài dài và không tập trung, nên lúc viết mặc dù cố gắng cẩn thận, những cũng không tránh khỏi sai sót như thế này.

Vòng lặp delay_trong2 của em, giống y như bài cơ bản. Do vậy, nó sẽ là 99*3 + 2 = 300 chu kỳ chứ không phải 393 chu kỳ như cách em tính

Vì em lưu ý rằng, nếu kết quả phép trừ của DECFSZ là khác không, thì lệnh này chỉ tốn 1 chu kỳ máy, như bất kỳ lệnh nào khác. Nhưng khi kết quả bằng 0, thì thay vì nó thực hiện lện GOTO thì nó thực hiện lệnh NOP, như vậy, nó giống như trở thành lệnh 2 chu kỳ, chứ không phải nó là một lệnh 2 chu kỳ.

Em xem lại cách tính nhé.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-05-2005, 11:13 AM   #4
noisePIC
Đệ tử 2 túi
 
Tham gia ngày: May 2005
Bài gửi: 39
:
Bài tập 8 led

Nộp bài tập
....
Em đề nghị anh falleaf nâng giá lên một chút nhé 10K một bài tập hoàn chỉnh.Tiền bây giờ rớt giá lắm
Đề nghị anh falleft sửa nút TAB giống..trong text editor nhé!

Falleaf sửa: Nếu bạn muốn copy và paste một đoạn code, bạn cứ đánh dấu bằng lệnh

[code ]

.. code cua ban o day

[/code ]

Nhớ viết liền lại, không có khoảng trắng chỗ dấu ] thì bạn sẽ thấy nó hiển thị đúng.
File Kèm Theo
File Type: rar 8led.rar (466.4 KB, 179 lần tải)

thay đổi nội dung bởi: noisePIC, 03-06-2005 lúc 10:29 PM. Lý do: bài viết chất lượng kém
noisePIC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2005, 10:43 AM   #5
teo
Nhập môn đệ tử
 
Tham gia ngày: May 2005
Nơi Cư Ngụ: TP HCM
Bài gửi: 2
:
A bây giờ thì em đã hiểu rùi, cám ơn bác falleaf
teo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-06-2005, 01:11 AM   #6
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Ghi nhận ý kiến của bạn Noise PIC về việc thay biểu tượng code, sẽ cố gắng sửa trong thời gian sớm nhất có thể.

Noise PIC, bạn vẫn chưa tính toán số chu kỳ hao tổn của vòng lặp.

Tèo, sau khi tính lại, em gửi lại kết quả cuối cùng lên nhé.

Chúc vui.

PS> Các bạn gửi bài, như tôi đã nói về việc soạn thảo tutorial, các bạn nên gửi kèm theo một file đầy đủ, đã test của các bài tập. Cái tôi cần là các bạn đã test, có hình chụp và gửi. Bởi vì khi các bạn thuyết phục tôi bằng mạch test, cũng giống như sau này tôi sẽ thuyết phục người đọc bằng chính những bức hình của các bạn vậy. Hôm nay các bạn làm bài thiếu hình ảnh cụ thể minh họa, nhưng ngày mai các bạn khóa sau sẽ có hình ảnh của các bạn là những minh họa cụ thể nhất.

Mẫu chương trình tôi đã đăng, nhưng không hiểu sao các bạn lười copy lại hay sao ấy, mà vẫn chỉ viết một cách cẩu thả.

Tôi không cần sự chứng minh khả năng các bạn có thể làm được bài tập nhanh hay mau, mà cần khả năng làm việc của các bạn có thể kế thừa được không. Tôi là người kế thừa của các bạn đầu tiên, vì tôi sẽ dùng nó để soạn tutorial.. các bạn trở thành những ông giáo bất đắc dĩ.

thay đổi nội dung bởi: falleaf, 02-06-2005 lúc 05:29 AM.
falleaf 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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
"PIC16F877A!NÀO TA CÙNG CHAT!" ntc Cơ bản về vi điều khiển và PIC 75 27-12-2010 05:32 PM
Gặp lỗi "out of ROM", làm ơn giúp đỡ enti Cơ bản về vi điều khiển và PIC 2 04-12-2006 04:34 PM
bác fall cho em hỏi tý về CCSC tại sao lại "Out of ROM" sớm thế? MoH Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 12 20-10-2006 11:31 AM
Hội thảo: "Tầm nhìn dientuvietnam 2006" falleaf Đóng góp ý kiến 2 03-08-2006 06:48 PM
"Mechatronics handbook " elecminh Điều khiển 3 07-09-2005 12:42 AM


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