![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
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. |
![]() |
![]() |
|
|