PIC Vietnam

Go Back   PIC Vietnam > Các Đề Tài > PIC Việt Nam - Chuyên nghiệp

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

PIC Việt Nam - Chuyên nghiệp Chúng ta sẽ thảo luận ở đây nhưng vấn đề về phương pháp nghiên cứu, cách làm việc và tổ chức công việc...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 28-09-2013, 03:08 AM   #1
lucky_luke
Nhập môn đệ tử
 
Tham gia ngày: Sep 2013
Bài gửi: 1
:
Vấn đề về quyet led 7 đoạn dùng timer cần mọi người giúp đỡ !

E mới đọc về pic, đang làm chương trình nguồn đo hiển thị dung lượng sạc pin hiển thị led 7 đoạn, quyét led dùng delay thì ok, còn quét dùng timer thì gặp vấn đề. e có gửi cả file mô phỏng và 2 file quyet dùng delay và timer, các pro xem & góp ý cho e với ! E cảm ơn !

#include <16f877a.h>
#include <def_16f877a.h>
#device *=16 ADC=10
#fuses NOPUT,NOWDT,HS,NOPROTECT
#use delay(clock=16000000)
#use fast_io(b)
#use fast_io(d)

int8 maled_dp[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xe f};
int8 maled[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6 f};
int16 x,y,z,s,p;
int8 Ah,mAh,count;
#int_timer1
void sac()
{
y=read_adc();
set_timer1(15535);
x++;
if(x>20)
{
x=0;++s;
if(s==60)
{
s=0;++p;
z=p*y*5/6000;
if(z>1)
{
p=0;++mAh;
if(mAh==10)
{++Ah;mAh=0;}
}
}

}
}
#int_timer0
void hienthi()
{
set_timer0(0);
++count;
if(count==4){count=0;}
switch(count)
{
case 0:
RB1=1;
DELAY_US(5);
PORTD=maled_dp[Ah];
RB1=0;
break;
case 1:
RB2=1;
DELAY_US(5);
PORTD=maled[mAh];
RB2=0;
break;
case 2:
RB3=1;
DELAY_US(5);
PORTD=0X77;
RB3=0;
case 3:
RB4=1;
DELAY_US(5);
PORTD=0X74;
RB4=0;
break;
}
}
void main()
{
trisb=0x00;
portb=0xff;
trisd=0x00;
portd=0x00;
count=0;
//khai bao i/o
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER0);
enable_interrupts(INT_TIMER1);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_16);
setup_timer_1(T2_DIV_BY_4 | T1_INTERNAL);
//khai bao timer0 & timer1
setup_adc(adc_clock_internal);//thoi gian lay mau 2-6us
setup_adc_ports(AN0_AN1_AN2_AN3_AN4);//AN0-AN1-AN2 nhan analog
set_adc_channel(1);//chon chan de doc
delay_ms(10);
//khai bao adc
while(1)
{
}
}
File Kèm Theo
File Type: rar nguon.rar (17.8 KB, 20 lần tải)
lucky_luke vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 02:24 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam