PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Giúp em với (ngắt rb trong đèn giao thông( (http://www.picvietnam.com/forum/showthread.php?t=5099)

Bach y 17-10-2009 10:51 PM

Giúp em với (ngắt rb trong đèn giao thông(
 
Em đang làm bài về đèn giao thông .Ông thầy ko chỉ gì cả phảii tự mò
viết code lẫn phần cứng. nhưng thử viết ngắt pỏt b từ B4-B7 mãi mà ko được. Nó chỉ chạy mỗi phần voidmain ,còn ngắt thì bó tay luôn. Ấn reset mà nó cứ nhảy lung tung.
Mong anh em trong diễn đán giúp em một tay
ẤN RB4 THÌ DỪNG ĐẾM THỜI GIAN .ĐỎ 1 XANH 2 SÁNG
ẤN RB5 THÌ ĐỎ 2 XANH 1 SÁNG
ẤN RB6 THÌ SÁNG HAI ĐÈN VÀNG
RB7 THÌ CHẠY LẠI VOID MAIN
em chưa có kinh nghiệm viết ngắt nên nếu ai giúp cái ngắt chạy một cái em hy vọng làm tiếp được

Bach y 17-10-2009 10:55 PM

phần code
 
http://i546.photobucket.com/albums/h...gcaovan/09.jpg

http://i546.photobucket.com/albums/h...gcaovan/09.jpg

#include <16F877A.H>
#fuses nowdt,noprotect,nolvp,put
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#byte intcon=0x000B
#BYTE PORTB =0X06
#BYTE PORTC =0X07
#BYTE PORTD =0X08
#bit RD4 = 0x08.4
#bit RD3 = 0x08.3
#bit RD2 = 0x08.2
#bit RD1 = 0x08.1
#bit RD0 = 0x08.0
#bit RB4 = 0X06.4
#bit RB5 = 0X06.5
#bit RB6 = 0X06.6
#bit RB7 = 0X06.7
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
void ngat_RB();
void main();
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
{

if(RB4==0)
{

}

{
if(RB5==0)
{

}
}
if(RB6==0)


if(RB7==0)
}
RBIF=0; //Xoa co ngat RB
}
void main()
{set_tris_a(0);
output_a(0);
set_tris_c(0);
output_c(0);

set_tris_d(0);
output_d(0);
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);

while(true)
{
output_c(0b10000001);//DEN XANH 2(20);DO 1(25)
output_d(0b00000101);
output_a(34);
output_b(34);
delay_ms(25);
output_d(0b00001010);
output_a(32);
output_b(37);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(34);
delay_ms(25);
output_d(0b00001010);
output_a(41);
output_b(36);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(34);
delay_ms(25);
output_d(0b00001010);
output_a(40);
output_b(35);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(34);
delay_ms(25);
output_d(0b00001010);
output_a(39);
output_b(34);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(34);
delay_ms(25);
output_d(0b00001010);
output_a(38);
output_b(33);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(34);
delay_ms(25);
output_d(0b00001010);
output_a(37);
output_b(32);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(36);
output_b(41);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(35);
output_b(40);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(34);
output_b(39);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(33);
output_b(38);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(32);
output_b(37);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(41);
output_b(36);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(40);
output_b(35);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(39);
output_b(34);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(38);
output_b(33);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(37);
output_b(32);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(36);
output_b(41);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(35);
output_b(40);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(34);
output_b(39);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(33);//XANH2=1;
output_b(38);
delay_ms(25);
output_c(0b01000001);//V2=5;D1=5
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(37);
output_b(37);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(36);
output_b(36);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(35);
output_b(35);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(34);
output_b(34);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(32);//V2=0
output_b(32);//D1=0
delay_ms(25);
output_c(0b00100100);//D2=25;X1=20
output_d(0b00000101);
output_a(34);
output_b(34);
delay_ms(25);
output_d(0b00001010);
output_a(37);
output_b(32);
delay_ms(25);
output_d(0b00000101);
output_a(34);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(36);
output_b(41);
delay_ms(25);
output_d(0b00000101);
output_a(34);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(35);
output_b(40);
delay_ms(25);
output_d(0b00000101);
output_a(34);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(34);
output_b(39);
delay_ms(25);
output_d(0b00000101);
output_a(34);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(33);
output_b(38);
delay_ms(25);
output_d(0b00000101);
output_a(34);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(32);
output_b(37);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(41);
output_b(36);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(40);
output_b(35);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(39);
output_b(34);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(38);
output_b(33);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00001010);
output_a(37);
output_b(32);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(36);
output_b(41);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(35);
output_b(40);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(34);
output_b(39);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(33);
output_b(38);
delay_ms(25);
output_d(0b00000101);
output_a(33);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(32);
output_b(37);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(41);
output_b(36);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(40);
output_b(35);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(39);
output_b(34);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(38);
output_b(33);//X1=1
delay_ms(25);
output_c(0b00100010);//V1=5
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(37);
output_b(37);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(36);
output_b(36);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(35);
output_b(35);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(34);
output_b(34);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(33);
output_b(33);
delay_ms(25);
output_d(0b00000101);
output_a(32);
output_b(32);
delay_ms(25);
output_d(0b00001010);
output_a(32);//D2 =00
output_b(32);
delay_ms(25);

}
}


Múi giờ GMT. Hiện tại là 03:08 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam