View Single Post
Old 02-08-2009, 03:16 AM   #4
Em_ku
Nhập môn đệ tử
 
Tham gia ngày: Jul 2009
Bài gửi: 10
:
Muốn có 5V thì phải mắc thêm điện trở 4k7 kéo lên là sao ạ?? vì trong mạch dùng chương trình mô phỏng proteus của em đã có điện trở 4k7 rồi ạ mà nó vẫn kô lên đc 5V.
Bác giải thích rõ hơn giúp em vơi. Em cũng đọc mấy cái link bác trên đưa nhưng cũng kô hiểu thế nào là cực máng hở cũng như cái chân RA4.
Bên cạnh đây bác xem giúp em cái đoạn chương trình này với. Đề là xuất ra 4leg 7 đoạn với các số từ 1 đến 9999.
Theo em nghĩ là đúng rồi mà sao vẫn kô ra được như ý
code:
Code:
#include <C:\Program Files\PICC\Devices\16f877a.h>
#fuses HS,NOWDT
#use delay(clock=4000000)
#byte trisb=0x86   
#byte portb=0x06
#byte trisd=0x88   
#byte portd=0x08
#use fast_IO(b)
#use fast_IO(d)
#bit RD0=portd.0
#bit RD1=portd.1
#bit RD2=portd.2
#bit RD3=portd.3
int A[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void display (int so)
{
int i,hngan,htram,hchuc,hdonvi,du1,du2;
hngan=so/1000;
du1=so%1000;
htram=du1/100;
du2=du1%100;
hchuc=du2/10;
hdonvi=du2%10;
for (i=0;i<25;i++)
 {
 RD0=0; RD1=1; RD2=1; RD3=1; 
 portb=A[hngan]; delay_ms(10);
RD0=1; RD1=0; RD2=1; RD3=1; 
 portb=A[hchuc]; delay_ms(10);
 RD0=1; RD1=1; RD2=0; RD3=1; 
 portb=A[hchuc]; delay_ms(10);
 RD0=1; RD1=1; RD2=1; RD3=0; 
 portb=A[hdonvi]; delay_ms(10);
 }
}
void main ()
{
int i;
set_tris_d(0x00);
set_tris_b(0x00);
while (1)
{
for (i=0;i<=9999;i++)
 {
 display (i);
 }
}
}

thay đổi nội dung bởi: namqn, 02-08-2009 lúc 10:14 AM. Lý do: định dạng code
Em_ku vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn