04-03-2009, 12:40 PM
|
#3
|
Đệ tử 3 túi
Tham gia ngày: Jan 2009
Bài gửi: 52
:
|
Trích:
Nguyên văn bởi vietktqs_dragon
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);
}
}
|
bạn nên đưa cả schematic lên để mọi người góp ý cho dễ. Mà chương trình của bạn hình như là hiển thị số 2009 lên 4 Led 7 đoạn đấy chứ có phải là hiển thị tăng dần từ 0000 đến 9999 đâu
|
|
|