Tại sao TMR1 cập hai lần?

X

x_ngine

Guest
Xin chào tất cả mọi người,

Vì tôi muốn tìm hiểu Proteus, tôi
là phát triển các mạch đơn giản với pic 16f877a viết phần vững với Hi-tech Picc 9.50pl2.

Hiện nay tôi đang cố gắng sử dụng TMR1 để tạo ra một 16-bit, cập.
Các mạch tôi thiết kế rất đơn giản: nó bao gồm trong một push-nút được kết nối với RC0 với một pull-up resistor.Mục đích của tôi chỉ đơn giản là để xem tăng đếm TMR1L trong khi tôi nhấn nút.

Trong trường hợp này tôi giả sử các oscillator giữa RC0 và RC1 nên sẽ bị vô hiệu hóa, bởi vì tôi không cần phải làm gì đó oscillates vì tôi tạo ra những "đồng hồ" của các phương tiện của các nút.

Nhưng vấn đề là, nếu tôi vô hiệu hóa các thiết lập oscillator T1CON = 0b00000111 TMR1L là incremented mọi lúc tôi hai lần bấm nút, trong khi nếu tôi activare oscillator các thiết lập T1CON = 0b00001111 là tất cả các quyền.

Làm thế nào các oscillator làm gì?Tôi không thể nhìn thấy vai trò của nó trong mạch ...này cũng là vì xem các chương trình nội bộ về 16f877a Datasheet
của nó có vẻ pin RC0 TRỰC TIẾP được kết nối với TMR1L mà không đi qua các oscillator ...

Xin vui lòng giúp tôi!!

 
Bạn cần phải debounce các pushbutton.

 
Tôi nghĩ rằng trong trường hợp này, Proteus đã có thể không thực hiện mô phỏng tương tự trên pins.Tôi
sẽ thử đề nghị của bạn và tôi
sẽ báo cáo kết quả.

Cảm ơn bạn.

Tiện đâyThêm vào sau khi 2 giờ 33 phút:Tôi đã kết nối một Capacitor của 100nF (Tôi tryed, ngay cả với lớn) từ pin vào đất, nhưng tình hình không thay đổi, hoặc, nói sự thật, nó thay đổi, nhưng chỉ có một ít ...Tôi nhận thấy rằng ngay bây giờ không có một quy tắc cố định cho các increments: đôi khi nó incremented của 2, lần khác của ba ...

Bên cạnh đó, nếu tôi tìm đến với các pin oscilloscope Tôi có thể nhìn thấy cổ điển RC exponential waveform.

Cũng giống như trước đây, vấn đề biến mất sau khi tôi đã đặt trên internall oscillator.

 

Welcome to EDABoard.com

Sponsor

Back
Top