![]() |
Nhờ giúp đỡ
Mình đang tìm hiểu về con PIC 16f877A.Đây là chương trình trên diễn đàn, mình dịch ra file HEX rồi nạp qua USB ICD 2. Tất cả đều tốt, duy chỉ khi cắm ra mạch Test thì tất cả đèn port B đều sáng trong khi theo chương trình thì RB6,RB5,RB4 phải tắt. Nhờ các Anh kiểm tra dùm (Mình dùng thạch Anh 12 MHZ).Mày mò mãi mà o tìm ra nguyên nhân
;------------------------------------------------------------------------------------------- ; Ghi chú về chương trình ;------------------------------------------------------------------------------------------- ; Chương trình 1.1 ; PORTBTEST.ASM ; Chương trinh dùng đề test PORTB của vi điều khiển PIC16F877A ;-------------------------------------------------------------------------------------------------- ; Phần khai báo vi điều khiển ;------------------------------------------------------------------------------------------------- processor 16f877a ; khai báo vi điều khiển sử dụng chương ; trình này include <p16f877a.inc> ; header file đính kèm __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF ; khai báo “configuration bit” ;------------------------------------------------------------------------------------------------- ; Chương trình bắt đầu tại đây ;------------------------------------------------------------------------------------------------- ORG 0x000 ; địa chỉ bắt đầu chương trình GOTO start start BCF STATUS,RP1 BSF STATUS,RP0 ; chọn BANK 1 CLRF TRISB ; khởi tạo PORTB ; PORTB là cổng xuất dữ liệu BCF STATUS,RP0 ; chọn BANK 0 MOVLW B'10001111' ; giá trị cần xuất ra PORTB MOVWF PORTB ; PORTB <- 8Fh loop GOTO loop ; vòng lặp vô hạn để dừng chương trình END ; kết thúc chương trình Đã dùng CCS test rồi, mạch thử tốt vậy vấn đề chỉ nằm ở chỗ MPLAB dịch ra file HEX , o biết là sai ở chỗ nào. Nhờ mọi người giúp |
Khi gặp phải vấn đề trên đã dùng google thì thấy như sau:
-Một số bạn cũng kêu mua 16F877A về và khi thử thì thấy các port đo được khoảng 1.7 Volt như bạn sau : Tui có mua 3 con Pic16f877a ,dùng mạch nạp JDM phần mềm nạp là WinPic800 Cắm vào mạch nạp báo detect được Pic ,nạp code vào báo sussec luôn nhưng khi cắm vào mạch thì lại không chạy Tui kiểm tra lại thử bằng cách nạp dữ liệu xuống , xong đọc ngược lại thì trả lại giá trị như cũ ,rồi sau đó tiến hành xoá dữ liệu , rồi đọc ngược lại thì được trả lại giá trị 3FFF --> Mạch vàPic đều không hư Kiểm tra board bằng cách lấy 1 con PIC cũ của thằng bạn có sẵn chương trình ,cắm lên mạch thì mạch vẫn chạy tốt ,còn con PIC của tui nạp xong thì cắm vào cứ như cục sắt ấy ,kể cả nạp vào mấy chương trình test led cũ ( đã chạy được trước đây) cũng vẫn thế ,chả biết giờ nên làm sao nữa ,bực cả mình X( Giờ coi như xong 3 con PIC hết 150k nhưng chả biết là do cái gì ,vừa mất tiền cũng tiếc nhưng sắp đến lúc nộp đề tài rồi ,lo lắng quá P/S :Hôm qua tui search thử trên mạng thì thấy người ta có nói là bộ giao động của PIC bị hỏng hoặc yếu nên cũng không chạy ,không biết có phải bị hỏng chân 14 không ? Hay là 1 bạn khác : bạn đó áp của các chân thử xem.Lúc trước con PIC của bạn mình cũng bị vậy.Mình xài con PÍC6F887 thì OK còn 877A mua ở Nhật Tảo của bạn thì không chạy mặc dù nạp vẫn được.Khi đo điện áp các chân thì không bằng 5V(ở mức logic dương) và không bẳng 0V(ở mức logic âm).Tất cả các chân đều có giá trị khoang 1.7V.Thật khó hiểu -Trường hợp của mình thì o chạy như đã post Sau đó ở câu lệnh : MOVLW B'10110111' ; giá trị cần xuất ra PORTB Mình sửa thành: MOVLW 143 ; giá trị cần xuất ra PORTB Khi dịch nó báo Warning[202] E:\LUAN VAN\THUC HANH PIC\THUHOAI.ASM 27 : Argument out of range. Least significant bits used. Nhưng vẫn báo nạp thành công ,mình bèn sửa lại: MOVLW D'143' ; giá trị cần xuất ra PORTB Nạp vào chạy okie Còn sau đó khi đã chạy rồi thì nạp lại: MOVLW B'10110111' ; giá trị cần xuất ra PORTB Hay sửa thành: MOVLW H'B7' ; giá trị cần xuất ra PORTB Đều chạy tốt. Mình chỉ mô tả lại hiện tượng như trên, nếu bạn nào giải thích được cho mọi người hiểu tại sao thì tốt quá. Còn không thì cứ xem như kinh nghiệm |
Múi giờ GMT. Hiện tại là 06:18 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