View Single Post
Old 18-02-2009, 01:26 AM   #1
vietktqs_dragon
Nhập môn đệ tử
 
Tham gia ngày: Dec 2008
Bài gửi: 2
:
giải đáp giúp pic6f877A

mình mói làm quen với Pic.có 1 bài tập cho 4led 7 thanh hiện thị từ 0000->9999.mỗi 1s tăng 1 đơn vị
tuy nhiên mình mới code dc cho hiện thị số có 4 chứ số mình muốn.mong các bạn giúp đỡ
Code:
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=20000000)
int8 led[4] = {0b11110111,0b00111011,0b11111101,0b00111110};
int8 Font[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void hienthi(int16 count)
{
int8 a[4]={0};
int8 j;
a[3]=count/1000;
a[2]=(count/100)%10;
a[1]=(count/10)%10;
a[0]=count%10;

for (j=0;j<4;j++)
  {
   porta=led[j];
   portd=Font[a[j]];
   delay_ms(2);
   
   }

}
void main()
{

trisa=0x00;
porta=0xff;
trisd=0x00;
portd=0xff;
while(1)
{ 
hienthi(2009);
delay_ms(2);

}
}

thay đổi nội dung bởi: namqn, 03-03-2009 lúc 08:43 PM.
vietktqs_dragon vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn