Ðề tài: đèn giao thông
View Single Post
Old 10-04-2015, 03:28 PM   #1
minhdaicf
Nhập môn đệ tử
 
Tham gia ngày: Mar 2015
Bài gửi: 1
:
đèn giao thông

các anh chị giải thích hộ em ý tưởng và từng nội dung của code sau với ạ
#include <16f877a.h>
#FUSES NOWDT, HS, NOPUT,NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD
#use delay(clock=20000000)

int led7doan[10]={0b11000000,0b11111001,0b10100100,0b10110000,0b10 011001,0b10010010,
0b10000010,0b11111000,0b10000000,0b10010000};

signed int i;
int1 vang_enable=0;

#byte PortC=0x07
#bit DA=PortC.0
#bit VA=PortC.1
#bit XA=PortC.2
#bit DB=PortC.3
#bit VB=PortC.4
#bit XB=PortC.5
#bit OE5=PortC.6
#bit LE5=PortC.7


#byte PortD=0x08
#bit OE1=PortD.0
#bit LE1=PortD.1
#bit OE2=PortD.2
#bit LE2=PortD.3
#bit OE3=PortD.4
#bit LE3=PortD.5
#bit OE4=PortD.6
#bit LE4=PortD.7

void main()
{
set_tris_C(0b00000000);
set_tris_D(0b00000000);
output_D(0b1111111);
output_high(pin_C6);
output_high(pin_C7);
output_high(pin_A0);
output_high(pin_A1);
while(true)
{
DA=1;
XB=1;
for(i=7;i>=0;i--)
{
OE1=0;
LE1=1;
output_B(led7doan[i+2]);
LE1=0;
output_low(pin_A0);
output_high(pin_A1);
output_B(led7doan[i]);
output_low(pin_A1);
delay_ms(1000);
}

for(i=1;i>=0;i--)
{
VB=1;
XB=0;
OE1=0;
LE1=1;
output_B(led7doan[i]);
LE1=0;
OE5=0;
LE5=1;
output_B(led7doan[i]);
LE5=0;
output_high(pin_A0);
output_high(pin_A1);
delay_ms(1000);
}

DB=1;
XA=1;
VB=0;
DA=0;
for(i=7;i>=0;i--)
{
OE1=1;
LE1=1;
OE5=1;
LE5=1;
OE4=0;
LE4=1;
output_B(led7doan[i+2]);
LE4=0;
OE3=0;
LE3=1;
output_B(led7doan[i]);
LE3=0;
delay_ms(1000);
}

for(i=1;i>=0;i--)
{
VA=1;
XA=0;
OE4=0;
LE4=1;
output_B(led7doan[i]);
LE4=0;
OE2=0;
LE2=1;
output_B(led7doan[i]);
LE2=0;
OE3=1;
LE3=1;
delay_ms(1000);
}
DB=0;
VA=0;
}
}
minhdaicf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn