View Single Post
Old 11-08-2011, 02:10 PM   #1
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
xin hỏi ý tưởng viết code này

tình hình là em mới tập tành với code,đang tính viết cái cơ bản thôi
là led sẽ sáng từ b0 chay den b7 rồi b7 giữ yên mức sáng rồi,tiếp tục sáng từ b0 đến b6
em nói hơi khó hiểu xin mấy bác xin cái clip này
http://www.youtube.com/watch?v=EqxfLwzG7no
Em viết dùng pow tren math.h nên code nặng quá ram hết 21%,rom 37% năng hơi lâu không biết có bị ảnh hưởng pic 16f877a ko
Em nghĩ là chắc có cách viết khác đơn giản hơn,Bác nào biết xin chỉ giúp
Sẵn tiện các bác cho hỏi làm sao để khi mình nhấn buton nào đó C0 chẳng hạn thì led chạy ngược lại.
xin cám ơn rất nhiều.
Code:
#include<16F877A.h>
#include <math.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=10000000)
#use fast_io(b)
#byte portb=0x6
void main()
{
int8 c=0 ;
int8 b=0 ;
int8 a=1;
set_tris_b(0);
while(true)
{
portb=a ;
delay_ms(100) ;
if(a<128)
{
a=a*2 ;

}
if(a==128||a==192||a==224||a==240||a==248||a==252||a==254)
{   c=a ;
 b=0 ;
} 
if(a>=128)
{
a=c+pow(2,b) ;
b++;
}
if(a==255)
{
a=1;
b=0;
}



}
}
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn