GIAO TIẾP VỚI NÚT NHẤN VÀ PHẦN MỀM VB 6.0 PIC16F877A CCS

6:26:00 AM
Chào các bạn trong bài đăng này mình sẽ hướng dẫn các bạn giao tiếp với nút nhấn và sử dụng phần mềm vb 6.0 PIC16F877A CCS.

- Đây là ảnh mô phỏng protues.

giao tiếp nút nhấn với vb 6.0

- Đây là code chương trình.
#include <16f877a.h>
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD ,NOWRT    
#use rs232(baud=9600,parity=n,xmit=PIN_C6,rcv=PIN_C7)
char ch;
int8 a;
#define nut1 PIN_B0
#define nut2 PIN_B1
#define nut3 PIN_B2
#define nut4 PIN_B3
#define nut5 PIN_B4
#define nut6 PIN_B5
#define nut7 PIN_B6
#define nut8 PIN_B7
#int_RDA
void Receive_isr()

   ch=getc();
   if(ch=='1')
   a=1;
   if(ch=='2')
   a=2;
   if(ch=='3')
   a=3;
   if(ch=='4')
   a=4;
   if(ch=='A')
   a=5;
   if(ch=='B')
   a=6;
   if(ch=='C')
   a=7;
   if(ch=='D')
   a=8; 
}
void banphim()

if(input(PIN_B0)==0)
a=1;
if(input(PIN_B1)==0)
a=2;
if(input(PIN_B2)==0)
a=3;
if(input(PIN_B3)==0)
a=4;
if(input(PIN_B4)==0)
a=5;
if(input(PIN_B5)==0)
a=6;
if(input(PIN_B6)==0)
a=7;
if(input(PIN_B7)==0)
a=8;
}  
void main()
{
  ENABLE_INTERRUPTS(INT_RDA);                                  
  enable_interrupts(GLOBAL);
  SET_TRIS_B( 0xff );
while(TRUE)
{
banphim();
if(a==1)
{
putc('1');
for(;;)
{
banphim();
output_high(pin_A0);
if( a==2 || a==3 || a==4 || a==5 || a==6 || a==7 || a==8)
break;
}
}
if(a==2)
{
putc('2');
for(;;)
{
banphim();
set_tris_a(0);
output_high(pin_A1);
if( a==1 || a==3 || a==4 || a==5 || a==6 || a==7 || a==8)
break;
}
}
if(a==3)
{
putc('3');
for(;;)
{
banphim();
set_tris_a(0);
output_high(pin_A2);
if(a==1 || a==2 || a==4 || a==5 || a==6 || a==7 || a==8)
break;
}
}
if(a==4)
{
putc('4');
for(;;)
{
banphim();
set_tris_a(0);
output_high(pin_A3);
if( a==1 || a==2 || a==3  || a==5 || a==6 || a==7 || a==8)
break;
}
}
if(a==5)
{
putc('A');
for(;;)
{
banphim();
set_tris_a(0);
output_low(pin_A0);
if( a==1 || a==2 || a==3 || a==4 || a==6 || a==7 || a==8)
break;
}
}
if(a==6)
{
putc('B');
for(;;)
{
banphim();
set_tris_a(0);
output_low(pin_A1);
if( a==1 || a==2 || a==3 || a==4 || a==5  || a==7 || a==8)
break;
}
}
if(a==7)
{
putc('C');
for(;;)
{
banphim();
set_tris_a(0);
output_low(pin_A2);
if(a==1 || a==2 || a==3 || a==4 || a==5 || a==6  || a==8)
break;
}
}
if(a==8)
{
putc('D');
for(;;)
{
banphim();
set_tris_a(0);
output_low(pin_A3);
if(a==1 || a==2 || a==3 || a==4 || a==5 || a==6 || a==7 )
break;
}
}
}
}
 Còn code và giao diện VB các bạn download về trong project có đầy đủ nha !
- Link download project Click here

Share this

Related Posts

Previous
Next Post »