![]() |
|
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Jun 2008
Bài gửi: 18
: |
các bác cho em hỏi về counter của con 16F877A :
em chưa hiểu được lệnh này setup_COUNTERS (rtcc_state, ps_state); rtcc_state là một trong những constant sau: RTCC_INTERNAL // tham số này có nghĩa j ?? em tưởng nó chỉ lấy xung từ chân RA4/TOCK1 RTCC_EXT_L_TO_H // RTCC_EXT_H_TO_L // ps_state là một trong những constant sau: RTCC_DIV_2 // chọn cái tỉ số chia này có nghĩa j , có fai cứ 2 xung thì nó tăng bộ đếm lên 1 RTCC_DIV_4 RTCC_DIV_8 RTCC_DIV_16 RTCC_DIV_32 RTCC_DIV_64 RTCC_DIV_128 em viết một chương trình cho timer1 mà nó ko chạy , em sửa nó từ timer0 (đã chạy) #include <16f877a.h> #include <def_877a.h> #fuses NOWDT ,NOPUT ,NOPROTECT ,NODEBUG,NOBROWNOUT,NOLVP,HS #use delay(clock=20000000) int16 count; #int_timer1 void interrupt_timer1() { set_timer1(0); ++count; if(count==20) { count=0; PORTC=~PORTC; } } void main() { TRISC=0x00; PORTC=0x55; enable_interrupts(int_timer1); setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); enable_interrupts(global); set_timer1(0); // TODO: USER CODE!! while(true){} } các bác cho ý kiến thay đổi nội dung bởi: kinhaxac, 01-07-2008 lúc 05:44 PM. |
![]() |
![]() |
![]() |
#2 |
Đệ tử 5 túi
Tham gia ngày: Jun 2008
Bài gửi: 112
: |
![]() Help Me ........ :geek:
Mình đang tìm hiểu và viết chương trình cho LCD( 2 dòng x 20 ký tự ) Nhưng mình đang gặp một khó khăn nho nhỏ cần các bạn giúp đỡ... Mình viết chương trình để hiển thị các ký tự và chuỗi ký tự thì rất ok . Nhưng để hiển thị giá trị chứa trong một thanh nghi ,một byte nhớ hay giá trị của một biến INT lên LCD thì mình bị mắc quá ko hiển thị được. Huynh đệ nào biết giúp mình ngay nha :ugeek: - Bài mình đang mắc như sau : hiển thị giá trị chuyển đổi ADC khi thay đổi tín hiệu đầu vào chân AN0 của pic16f877a lên LCD ( value = read_adc() , giá trị trong biến value cần hiển thị lên LCD ) **************** THANHK ************** |
![]() |
![]() |
![]() |
|
|