Mình có phần cứng như sau:
-atmega8 -16pu.
-thạch anh 16Mhxz.
- remote sony (TV)
- led thu (loại vỏ sắt 3 chân 1838).
- led 3mm nối vào PORTC.5 // led thường để báo kiểm tra
#define led PORTC.5
Phần mềm:Codevison
Chương trình mình check phần cứng đơn giản chỉ như sau:
+)Khai báo portD.3 (INT1) ngắt ngoài 1 là input và trên phần cứng thực nối pin này với pin out của led thu .
PORTD=0x04;
DDRD=0x00;
+) ở trạng thái thường chân ngắt ngoài 1 này ở mức cao (đo bằng VOM được 4V)
Trong chương trình chính mình kiểm tra xem pin ngắt ngoài có ở mức cao không:
while (1)
{
// Place your code here
if(PORTD.3 == 0) // chân ngắt ngoài 1
{ led =on;
delay_ms(300);
led = off;
delay_ms(300);
led = on;
delay_ms(300);
led = off;
delay_ms(300);
led = on;
delay_ms(300);
led = off;
delay_ms(300);
}
else
led = on;
}
}
=> kết quả thực tế led nhấp nháy liên tục => PORTD.3 ở mức thấp trong khi mình đo thực lại được 4V tại pin nek mình không hiểu lý do tại sao??
để loại trừ mình dùng điện trở 10k kéo lên Vcc tại pin nek đo được 5V nhưng kết quả thu được led vẫn nhấp nháy =>VDK vẫn hiểu pin này đang ở mức thấp.
-atmega8 -16pu.
-thạch anh 16Mhxz.
- remote sony (TV)
- led thu (loại vỏ sắt 3 chân 1838).
- led 3mm nối vào PORTC.5 // led thường để báo kiểm tra
#define led PORTC.5
Phần mềm:Codevison
Chương trình mình check phần cứng đơn giản chỉ như sau:
+)Khai báo portD.3 (INT1) ngắt ngoài 1 là input và trên phần cứng thực nối pin này với pin out của led thu .
PORTD=0x04;
DDRD=0x00;
+) ở trạng thái thường chân ngắt ngoài 1 này ở mức cao (đo bằng VOM được 4V)
Trong chương trình chính mình kiểm tra xem pin ngắt ngoài có ở mức cao không:
while (1)
{
// Place your code here
if(PORTD.3 == 0) // chân ngắt ngoài 1
{ led =on;
delay_ms(300);
led = off;
delay_ms(300);
led = on;
delay_ms(300);
led = off;
delay_ms(300);
led = on;
delay_ms(300);
led = off;
delay_ms(300);
}
else
led = on;
}
}
=> kết quả thực tế led nhấp nháy liên tục => PORTD.3 ở mức thấp trong khi mình đo thực lại được 4V tại pin nek mình không hiểu lý do tại sao??
để loại trừ mình dùng điện trở 10k kéo lên Vcc tại pin nek đo được 5V nhưng kết quả thu được led vẫn nhấp nháy =>VDK vẫn hiểu pin này đang ở mức thấp.
Comment