![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Đệ tử 6 túi
Tham gia ngày: Oct 2008
Nơi Cư Ngụ: HCM
Bài gửi: 137
: |
Pác tungtot_vl ơi!: pác coi hộ lại giúp cái ngắt timer0 1s của pác sao mà khi mở nguồn thì khoảng 30s sau ngắt mới làm việc vậy pác.Sau khi ngắt đã làm việc thì nhấn reset thì ngắt làm việc lại liền còn cúp nguốn thì chịu khó đợi 30s nữa.Vậy là nó bị trục trặc chổ nào phải không pác?
|
|
|
|
|
|
#2 |
|
Nhập môn đệ tử
Tham gia ngày: Nov 2008
Bài gửi: 2
: |
các pro xem giúp em cái code này với .mạch đồng hồ , hh:mm:ss , dùng ngắt timer0 nhưng không hiểu tại sao lại không xảy ra ngắt . code nè :
Code:
#include<16f877a.h>
#include<def_877a.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#device *=16 ADC=8
#use delay(clock=20000000)
int16 count;
int8 h10,h1,m10,m1,s10,s1,i;//khai bao bien gio,phut,giay
#int_TIMER0
void timer0()
{
set_timer0(6);
++count;
if(count==5000)
{
++s1;
if(s1==9){
s1=0;
++s10;
if(s10==5)
{
s10=0;
++m1;
if(m1==9){
++m10;
m1=0;
if(m10==5){
m10=0;
++h1;
if(h1==2){h1=0;
++h10;
if(h10==1){h10=0;}
}
}
}
}
}
count=0;
}
}
void main()
{
trisd=0x00;
trise=0x00;
s1=0;
s10=0;
m1=0;
m10=0;
h1=0;
h10=0;
enable_interrupts(int_timer0);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
enable_interrupts(global);
while(1)
{
i=0;
for(i=0;i<=5;i++)
{
porte=i;
switch(i)
{
case 0: portd=h10;break;
case 1: portd=h1;break;
case 2: portd=m10;break;
case 3: portd=m1;break;
case 4: portd=s10;break;
case 5: portd=s1;break;
}
}
}
}
thay đổi nội dung bởi: namqn, 18-12-2008 lúc 05:59 PM. |
|
|
|
|
|
#3 | |
|
Đệ tử 2 túi
|
Trích:
|
|
|
|
|
![]() |
|
|