من کتاب رو دارم میخونم و جلو میرم. توی فصل 5 صفحه 90 یه مدار ماتریس LED داده و یه برنامه هم براش نوشته که حرف A رو روی اون نمایش بده. اما هرچی کدا رو میخونم و بیتا رو بررسی میکنم نمیتونم چیزی ازش بفهمم. توی شکل مشخص نکرده که پایه های ماتریس LED باید به کدوم پایه های میکرو وصل بشن.
شکل مدار تقریبا همچین چیزیه (کپی کتاب نیستش اما اتصالا همینن):
تا اینجا تقریبا مطمئن شدم که جهت LED ها رو برعکس کشیده. اما باز هم برنامه رو که بررسی میکنم، شکل حرف A از توش در نمیاد.
این هم برنامه:
#include "AT91SAM7S64.h"
#include "pio.h"
#include "delay.h"
int main(){
PORTA_OUTPUT=0x00000fff;
RST_PORTA=0x00000fff;
while(1){
//******************************
SET_PORTA=0x00000F7C;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000E82;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000E82;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000D81;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000B82;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x000007FC;
delay_ms(5);
RST_PORTA=0x00000FFF;
}}
کد:
#include "AT91SAM7S64.h"
#include "pio.h"
#include "delay.h"
int main(){
PORTA_OUTPUT=0x00000fff;
RST_PORTA=0x00000fff;
while(1){
//******************************
SET_PORTA=0x00000F7C;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000E82;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000E82;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000D81;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x00000B82;
delay_ms(5);
RST_PORTA=0x00000FFF;
//******************************
SET_PORTA=0x000007FC;
delay_ms(5);
RST_PORTA=0x00000FFF;
}}
به نظر میاد باید اتصالا اینجوری باشن:
R1----------PA0
R2----------PA1
.
.
.
R7----------PA6
و
C1----------PA7
C2----------PA8
.
.
.
C5----------PA11
اگر کسی با دات ماتریکس کار کرده راهنمایی کنه.
مرسی