mình làm một cái demo vê led 7 đoạn thì gặp một vấn đề rất kì lạ như sau
mình viết chuơng trình rất đơn giản để đẩy ra led 4 số thập phân: ABCD
code kô có gì cả.
còn đây là mạch nguyên lý của led 7 đoận
điều kì lạ là khi mình đây ra tất cả các sô khác không có chuyện gì xảy ra, nhưng cứ khi gặp số 2 và số 3 thì con led hiển thị số 2 hoặc số 3 đó sẽ bị mất thanh số 7 ( tức thanh G)
còn khi gặp số 0 thì mất thanh số 6 tức thanh F
trong khi chính con led đó hiển thị sô 8 thì chả làm sao cả,
em đã chạy mô phỏng trên protues thì ok hết, kô làm sao cả,
bó tay
mong các bác giải đạp hộ mình
thank
mình viết chuơng trình rất đơn giản để đẩy ra led 4 số thập phân: ABCD
PHP Code:
#include <avr/io.h>
#include <util/delay.h>
void disp(unsigned char col, unsigned char num);
unsigned char image[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; // ko co dau cham
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
int main(void)
{
unsigned char ind;
unsigned int num;
unsigned int temp;
unsigned int k;
DDRC = 0x0F;
DDRD = 0xFF;
DDRB = 0xFF;
// num = 5698;
// PORTD = image[8];
// PORTC = 0xF;
while(1){
num = 1234;
for( int i =0;i<=3;i++){
temp = num%10;
disp(i,temp);
num = num/10;
_delay_ms(1000);
}
}
}
void disp(unsigned char col, unsigned char temp)
{
// PORTC = 0xFF;
PORTD = image[temp];
if(col==3) PORTC = 0x8;
if(col==2) PORTC = 0x4;
if(col==1) PORTC = 0x2;
if(col==0) PORTC = 0x1;
}
còn đây là mạch nguyên lý của led 7 đoận
điều kì lạ là khi mình đây ra tất cả các sô khác không có chuyện gì xảy ra, nhưng cứ khi gặp số 2 và số 3 thì con led hiển thị số 2 hoặc số 3 đó sẽ bị mất thanh số 7 ( tức thanh G)
còn khi gặp số 0 thì mất thanh số 6 tức thanh F
trong khi chính con led đó hiển thị sô 8 thì chả làm sao cả,
em đã chạy mô phỏng trên protues thì ok hết, kô làm sao cả,
bó tay
mong các bác giải đạp hộ mình
thank
Comment