View Full Version : đếm ngược từ 99 về 0 dùng 1 port sử dụng pic16f877a
Heroboss
08-04-2011, 06:28 PM
Em đang học vy xử lý đang có đoạn viết code đếm ngược từ 99 về 0 nhưng chỉ dùng 1 port thôi để điều khiển 2 led 7 đoạn. Ai có thể giúp dùm em viết đoạn code này được không à. Em xin cảm ơn các anh chị trên diễn đàn rất nhiều
akatsu
10-04-2011, 04:54 PM
dùng quet led đi bạn. để lại mail đi mình sẽ send tài liệu hướng dẫn cho bạn
Heroboss
10-04-2011, 06:39 PM
Dùng quét led thì em biết rồi, cần ở đây là kỹ thuật bảng(Lệnh retlw) mà chỉ được dùng 1 port để đếm ngược thôi không được dùng 2 port. Anh có thẻ giúp em k nếu được xin gửi qua yahoo: phong_le92000@yahoo.com. Em xin cảm ơn anh.
vidieukhiencdn
11-04-2011, 02:23 PM
dùng quet led đi bạn. để lại mail đi mình sẽ send tài liệu hướng dẫn cho bạn
- Máy tính bị mất hết dữ liệu mà sao còn tài liệu để send thế:) , để mình phụ 1 tay
#include <16F877a.h>
#include <def_8877A.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=4000000)
#define led0 ra0
#define led1 ra1
#define led2 ra2
#define led3 ra3
#define data_led portb
char dig[]={192, 249, 164, 176, 153, 146, 130, 248, 128, 144};
void hienthi7doan(int16 x)
{
int8 i,j;
for (j = 0;j<50;j++)
{
x = x%100;
i = x/10;
led2 = 0;
data_led = dig[i];
delay_ms(10);
led2 = 1;
i = x%10;
led3 = 0;
data_led = dig[i];
delay_ms(10);
led3 = 1;
}
}
void main()
{
int8 i;
// TODO: USER CODE!!
trisb = 0x00;
trisa = 0x00;
portb = 0x00;
porta = 0xff;
while(true)
{
for (i = 0; i<100; i++)
hienthi7doan(i);
}
}
Nếu dếm lùi về thì bạn chỉnh lệnh for lại nhé
nguyenhuunguyen
16-04-2012, 10:39 AM
Các anh ơi cho hương dẫn em viết chương trình điều khiển led matrix với .em mới học lên chưa bit nhiều .các anh gửi vào mail cho em nhé .thanks các anh .mail :nguyenhuunguyen91@gmail.com
tudonghoa_k54
16-04-2012, 11:27 PM
Có ai biết viết bằng Asembly ko vậy?
Help me.
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc.