Ðề tài: Help
View Single Post
Old 28-12-2009, 08:29 AM   #2
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi thanh_nam1977 View Post
Chương trình sau, viết nhằm xuất led ở port A ,theo dự kiến thì 4 led RA0,RA1, RA2,RA31 sáng, các led còn lại sẽ tắt.Nhưng thực tế chỉ có led RA6 sang
Chắc có gì lẫn lộn, PORTA của 877A chỉ có 6 chân, từ A0-A5

Trích:
Code:
processor 16f877a 
include <p16f877a.inc> 
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
; khai báo “configuration bit”
ERRORLEVEL	-302

ORG 0 ;
GOTO	MAIN
ORG	5	

MAIN BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW 0xFF
MOVWF TRISA
BANKSEL PORTA
MOVLW 0X0F
MOVWF PORTA 
END ;
Đoạn code của bạn gán TRISA = 0xff, tức là tất cả các chân trên PORTA là input, thì làm sao LED sáng được!

PORTA của PIC đồng thời là các chân analog input của ADC, mặc định khi khởi động các chân này là analog, bạn muốn xuất tín hiệu digital phải tắt chức năng analog này đi trong thanh ghi ADCON1

Ngoài ra chân RA4 khi output là OpenDrain khác với các chân IO còn lại!
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn