View Single Post
Old 25-04-2011, 03:20 PM   #2
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi nangvang View Post
các anh ơi giúp em doạn code này với
em định cho 2 led đếm từ 00 đến 99 không dùng ngắt mà dùng delay
nhưng khi chạy mô phỏng thì chỉ thấy nó nhấp nháy vài thanh của led thôi
các anh kiểm tra code giúp em với
em cam ơn
#include <16F877A.h>
#Fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#use fast_io(c)
#use fast_io(d)
int8 font[10]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 };
void main ()
{
unsigned int8 i;
set_tris_c(0);
set_tris_d(0);
output_d(0xff);
while(1)
{

for(i=0;i<=100;i++);
{
output_d(0xfe);
output_c(font[i/10]);
delay_ms(50);
output_d(0xfd);
output_c(font[i%10]);
delay_ms(50);
}
}
}
sai ở đây:
for(i=0;i<=100;i++); bỏ dấu chấm phẩy đi
tạo thêm vòng lặp nữa để đếm chậm lại.
thay 2con tranzitor bằng cổng đảo.
Code:
#include <16F877A.h>
#Fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#use fast_io(c)
#use fast_io(d)
const unsigned char font[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 };
int8 i,a;
void main ()
{

set_tris_c(0);
set_tris_d(0);
output_d(0x00);
while(1)
{

for(i=0;i<=100;i++)
{
 for(a=0;a<=100;a++)
 {
 
output_d(0xfe);
output_c(font[i/10]);
delay_ms(1);
output_c(0xff);
output_d(0xfd);
output_c(font[i%10]);
delay_ms(1);
output_c(0xff);
 }
 
}

}
}
http://www.youtube.com/watch?v=XFRGEs2XMy0
Hình Kèm Theo
File Type: jpg dem_7doan.jpg (162.3 KB, 14 lần tải)
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.

thay đổi nội dung bởi: tdm, 25-04-2011 lúc 03:31 PM.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn