tuananh.bkhn
24-07-2011, 06:30 PM
Chào mọi người. Mình mới học lập trình PIC bằng CCS nên có một số vấn đề không hiểu lắm mong mọi người giúp đỡ. Mình đang lập trình về nút bấm và hiển thị ra LED 7 thanh. Mình đã lập trình và thấy mô phỏng trên proteus thì chạy rồi nhưng hình như là mạch của mình sai thì phải:
Đây là mạch của mình:
https://lh5.googleusercontent.com/-6h7C4VMjVfo/Tivwvio_i3I/AAAAAAAAAns/LSKvAwI8QF4/s800/mach_1.png
Và đây là code cho mạch trên(ĐÃ CHẠY).
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
void main()
{
unsigned char font[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
TRISB = 0x00;
PORTB = 0xFF;
TRISC = 0xFF;
unsigned char count = 3;
while(1)
{
if(input(PIN_C7)==1)
count--;
while(input(PIN_C7));
delay_ms(10);
if(input(PIN_C6)==1)
count++;
while(input(PIN_C6));
delay_ms(10);
PORTB = font[count];
}
}
Nhưng có lẽ không ai làm mạch nút bấm kiểu đó.
Với mạch như thế này thì mình ko biết viết code ra sao:
https://lh4.googleusercontent.com/-Wv0vALDpxWQ/TivyRKGkdxI/AAAAAAAAAnw/0XWWlu26sRY/s800/mach_2.png
Mong các bạn giúp đỡ mình. Xin cảm ơn.
Đây là mạch của mình:
https://lh5.googleusercontent.com/-6h7C4VMjVfo/Tivwvio_i3I/AAAAAAAAAns/LSKvAwI8QF4/s800/mach_1.png
Và đây là code cho mạch trên(ĐÃ CHẠY).
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
void main()
{
unsigned char font[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
TRISB = 0x00;
PORTB = 0xFF;
TRISC = 0xFF;
unsigned char count = 3;
while(1)
{
if(input(PIN_C7)==1)
count--;
while(input(PIN_C7));
delay_ms(10);
if(input(PIN_C6)==1)
count++;
while(input(PIN_C6));
delay_ms(10);
PORTB = font[count];
}
}
Nhưng có lẽ không ai làm mạch nút bấm kiểu đó.
Với mạch như thế này thì mình ko biết viết code ra sao:
https://lh4.googleusercontent.com/-Wv0vALDpxWQ/TivyRKGkdxI/AAAAAAAAAnw/0XWWlu26sRY/s800/mach_2.png
Mong các bạn giúp đỡ mình. Xin cảm ơn.