View Single Post
Old 15-09-2010, 10:31 AM   #4
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi kiemkhach10 View Post
tách ra như nào vậy?
đúng là mình đang viết 17 câu lệnh if else liền nhau, và nó cũng báo như trên?
bạn có thể chỉ rõ hơn cách tách ra để ko bị báo hết bộ nhớ như trên được ko?
cám ơn!
tách ra như sau:
#include <htc.h>//PIC16F57
__CONFIG(HS & WDTDIS );
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 20000000
#endif
unsigned char i;
void kieu_1(void);
void kieu_2(void);
void kieu_3(void);
int main()
{
TRISA=0X00;
TRISB=0X00;
TRISC=0X00;
while(1)
{
kieu_1();
kieu_2();
kieu_3();
}
}
void kieu_1()
{
RA0=1;
for(i=0;i<5;i++)
__delay_ms(20);
RA0=0;
RA1=1;
for(i=0;i<5;i++)
__delay_ms(20);
RA1=0;
RA2=1;
for(i=0;i<5;i++)
__delay_ms(20);
RA2=0;
RA3=1;
for(i=0;i<5;i++)
__delay_ms(20);
RA3=0;
RB0=1;
}
void kieu_2()
{
for(i=0;i<5;i++)
__delay_ms(20);
RB0=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB0=0;
RB1=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB1=0;
RB2=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB2=0;
RB3=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB3=0;
RB4=1;
}
void kieu_3()
{
for(i=0;i<5;i++)
__delay_ms(20);
RB4=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB4=0;

RB5=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB5=0;
RB6=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB6=0;
RB7=1;
for(i=0;i<5;i++)
__delay_ms(20);
RB7=0;
RC0=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC0=0;
RC1=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC1=0;
RC2=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC2=0;
RC3=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC3=0;
RC4=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC4=0;
RC5=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC5=0;
RC6=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC6=0;
RC7=1;
for(i=0;i<5;i++)
__delay_ms(20);
RC7=0;
}
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn