Chương trình của bạn mình test rồi
Thứ 1: về source code
+ Bạn viết không theo một logic nào cả cái này là đặc điểm chung của người mới biết thôi lúc trước mình cũng như vậy.
Bạn nên viết giải thuật chương trình ra ( bài của bạn đâu khó để viết giải thuật đâu phải không ) để dẽ dàng kiểm tra lỗi sai và Debug.
Chương trinh của bạn sai ở những điểm này:
Main
banksel TRISB
clrf TRISB
movlw 2h
movwf TRISB *
Goto Check
Check
Btfsc PORTB,1
Goto Check
Call Switch
Switch **
btfss PORTB,0
bsf PORTB,0
bcf PORTB,0
Return ***
End
* : bạn cần banksel PORTB ( chuyển về bank 0 ) vì bạn đang ở bank 1
** :Đoạn chương trình Switch này không hợp lí ( đọc kĩ sẽ thấy thôi mà ^_^)
***:thay bằng goto Check
Thứ 2 : Bạn không cần vẽ thạch anh,tụ bù nhiệt 30pf,nguồn 5V...mà chỉ cần led và button ( nhớ button có thêm điện trở kéo nguồn hoặc bcf OPTION_REG,7 ) là đủ.
Thứ 3 : Để chỉnh tần số Pic trong Proteus thì click chuột phải xong click chuột trái ( làm từ từ thôi ) có chỗ chọn tần số trong hộp thoại hiện ra ( ví dụ chọn 32.768Khz,4Mhz...).Để lấy linh kiện thì gõ P -> gõ tên linh kiện ( ví dụ 7seg,LCD,led (có màu),pic16f877 ... có gì bí mình sẽ chỉ thêm)
Bạn mới học Pic thì qua luồng này lấy tài liệu Nigel về
http://www.picvietnam.com/forum//showthread.php?t=9
bạn nên đọc kĩ những bài tập của Nigel,ông ta viết rất hay và dễ hiểu
và các tutorial của Mod Chính ở luồng này
http://www.picvietnam.com/forum//showthread.php?t=238
trình độ khá rồi thì qua luồng này
http://www.picvietnam.com/forum//showthread.php?t=325
Có gì thì mail cho mình theo địa chỉ này
spirit317vn@yahoo.com hoặc post lên đây cũng được.
Thôi nhé,chúc bạn thành công.