دوستان هر کي در اين زمينه اطلاعاتي داره لطفا کمک کنه که من يه هفته بيشتر پاي اين برنامه هستم
کد:
#include <mega16.h>
#include <delay.h>
////////////////////////////////////////////////
flash char column[64]=
{
0xFF, // 0001 # # # # # # # #
0xFF, // 0002 # # # # # # # #
0x81, // 0003 # . . . . . . #
0x81, // 0004 # . . . . . . #
0x42, // 0005 . # . . . . # .
0x3C, // 0006 . . # # # # . .
0x00, // 0007 . . . . . . . .
0xFF, // 0008 # # # # # # # #
0xFF, // 0009 # # # # # # # #
0x01, // 000A . . . . . . . #
0x02, // 000B . . . . . . # .
0x06, // 000C . . . . . # # .
0x02, // 000D . . . . . . # .
0x01, // 000E . . . . . . . #
0xFF, // 000F # # # # # # # #
0xFF, // 0010 # # # # # # # #
0x00, // 0011 . . . . . . . .
0xFF, // 0012 # # # # # # # #
0xFF, // 0013 # # # # # # # #
0x1B, // 0014 . . . # # . # #
0x1B, // 0015 . . . # # . # #
0x1B, // 0016 . . . # # . # #
0x03, // 0017 . . . . . . # #
0x00, // 0018 . . . . . . . .
0x00, // 0019 . . . . . . . .
0xDB, // 001A # # . # # . # #
0xDB, // 001B # # . # # . # #
0xDB, // 001C # # . # # . # #
0xFF, // 001D # # # # # # # #
0xFF, // 001E # # # # # # # #
0x00, // 001F . . . . . . . .
0x83, // 0020 # . . . . . # #
0xFF, // 0021 # # # # # # # #
0xFF, // 0022 # # # # # # # #
0x80, // 0023 # . . . . . . .
0x00, // 0024 . . . . . . . .
0xDB, // 0025 # # . # # . # #
0xDB, // 0026 # # . # # . # #
0xDB, // 0027 # # . # # . # #
0xFF, // 0028 # # # # # # # #
0xFF, // 0029 # # # # # # # #
0x00, // 002A . . . . . . . .
0x00, // 002B . . . . . . . .
0xC0, // 002C # # . . . . . .
0xC0, // 002D # # . . . . . .
0x00, // 002E . . . . . . . .
0x81, // 002F # . . . . . . #
0xFF, // 0030 # # # # # # # #
0xFF, // 0031 # # # # # # # #
0x81, // 0032 # . . . . . . #
0x00, // 0033 . . . . . . . .
0xFF, // 0034 # # # # # # # #
0xFF, // 0035 # # # # # # # #
0x39, // 0036 . . # # # . . #
0x79, // 0037 . # # # # . . #
0xEF, // 0038 # # # . # # # #
0xC6, // 0039 # # . . . # # .
0x80, // 003A # . . . . . . .
0x00, // 003B . . . . . . . .
0xEF, // 003C # # # . # # # #
0xDB, // 003D # # . # # . # #
0xDF, // 003E # # . # # # # #
0xDB, // 003F # # . # # . # #
0xEF // 0040 # # # . # # # #
};
char i,scan=0x01;
////////////////////////////////////////////////
void main(void)
{
////////////////////////////////////////////////
DDRA=0xFF;
DDRC=0xFF;
DDRD=0xFF;
#asm("sei")
////////////////////////////////////////////////
while (1)
{
PORTA=0x01;
for(i=0 ; i<=7 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
PORTA=0x02;
for(i=8 ; i<=15 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
PORTA=0x04;
for(i=16 ; i<=23 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
PORTA=0x08;
for(i=24 ; i<=31 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
PORTA=0x10;
for(i=31 ; i<=39 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
PORTA=0x20;
for(i=40 ; i<=47 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
PORTA=0x40;
for(i=48 ; i<=55 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
PORTA=0x80;
for(i=56 ; i<=63 ; i++)
{
PORTD = scan;
PORTC = column[i];
delay_us(65);
scan=scan<<1;
}
scan=0x01;
//////////////////////////////////////////////////////
// دو خط زير و دوخط هاي بعدي براي از بين
//بردن حافظه هستش-برشدار تا ببيني که چه مشکلي پيش مياد.
PORTD =0x00;
PORTC = 0x00;
//////////////////////////////////////////////////////
};
}