출처 : cafe.naver.com/laydigital/
안녕하세요, 어느덧 강좌가 2개만 남았습니다.... 남은 강좌도 마무리까지 열심히 달려서 보충자료에 있는 과제와 연습 코드까지 다룰수 있도록 힘내봐야겠네요. youtube도 시작할겸 강좌 구동영상을 연습삼아 올려봅니다. 2 color dot matrix 품명은 BVD-8518SG1 이고 datasheet가 없다네요 ;; 하드웨어 연결은 강좌에 나온 사항을 토대로 연결하였습니당.
Code simulation video
// CODE
#include <avr/io.h>
#define Kilo 1000UL
#define Mega Kilo * Kilo
#define F_CPU 16*Mega
#include <util/delay.h>
void dsp(uint8_t *p,uint8_t);
uint8_t prr[]= {
0,0,0,0,0,0,0,
0b00111100, //I
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00111100,
0,0,
0b01100110, //♥
0b11111111,
0b11111111,
0b11111111,
0b11111111,
0b01111110,
0b00111100,
0b00011000,
0,0,
0b01100110, //Y
0b01100110,
0b01100110,
0b01111110,
0b01111110,
0b00011000,
0b00011000,
0b00011000,
0,0,
0b00111100, //O
0b01111110,
0b11100111,
0b11000011,
0b11000011,
0b11100111,
0b01111110,
0b00111100,
0,0,
0b01100110, //U
0b01100110,
0b01100110,
0b01100110,
0b01100110,
0b01100110,
0b01111110,
0b00111100,
0,0,0,0,0,0,0,0
};
int main(void)
{
DDRA = 0xff;
DDRE = 0xff; //red
DDRF = 0xff; //green
uint8_t i,j=0;
while(1)
{
for(i=0; i<((sizeof(prr)/sizeof(prr[0]))-8); i++)
{
for(j=0; j<80; j++)
{
dsp(prr,i);
}
}
}
}
void dsp(uint8_t *p,uint8_t t)
{
uint8_t i=0;
for(i=0; i<8; i++)
{
PORTA = (1<<PA7)>>i;
PORTF = *((p++)+t); //green
PORTE = PORTF&0xf0; //red
_delay_us(500);
}
}
No comments:
Post a Comment