회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 2,652
판매자 아크마 판매 납포인트 무료 평점 3.8점 / 총 9명 참여
사용할일이 있어서 도트매트릭스로 만들다가 갑자기 마이컴박스를 찍어 보고 싶더라고요.. 그래서 마이컴박스를 표시하도록 프로그램을 수정하여 올려봅니다. 모듈형태로 파는 제품이 굴러다니기에 (소스도 제조사에서 제공해주기에) 간단히 수정하여 만들어봤습니다. PCB는 기존에 다른 용도로 만든걸 좀 뜯어서 고쳐서 만들었지요.. 다판 저 아크릴 프레임 만드느라 손도 베이고 좀 힘들었지요...회로도와 소스는 이번주내에 올릴게요(워낙 간단하고 인터넷에 있는거라 필요없겠지만) SDC10188.JPGSDC10189.JPGSDC10190.JPGSDC10191.JPG

//------------------------------------------------------------------------------
//  LED MODULE TEST PROGRAM  SamKwang SMM-51616
//------------------------------------------------------------------------------
//  MPU: ATmega128-16au
//  Clock: 16Mhz
//  modified by akma @090303
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#ifndef BV
#define BV(bit) (1<<(bit))
#endif
#ifndef cbi
#define cbi(reg,bit) reg &= ~(BV(bit))
#endif
#ifndef sbi
#define sbi(reg,bit) reg |= (BV(bit))
#endif
#define outp(bit,reg) reg = bit
 
#define red_on      sbi(PORTA,0)
#define red_off     cbi(PORTA,0)
#define green_on    sbi(PORTA,1)
#define green_off   cbi(PORTA,1)
#define enable_on   sbi(PORTA,2)
#define enable_off  cbi(PORTA,2)
#define latch_on    sbi(PORTA,3)
#define latch_off   cbi(PORTA,3)
#define clock_on    sbi(PORTA,4)
#define clock_off cbi(PORTA,4)
#define addr        PORTC
volatile unsigned int  addr_buf;
volatile unsigned char reset_count;
volatile unsigned char data_count;
volatile unsigned int  cursor_count;
volatile unsigned int  cursor;
void display(void);
void port_init(void);
void timer0_init(void);
unsigned int const led_red[100] =
{
   0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0380 , 0x06E0 , 0x0420
 , 0x0420 , 0x03C0 , 0x0000 , 0x0360 , 0x0340 , 0x0240 , 0x0240 , 0x07FE
 , 0x0600 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0780
 , 0x0040 , 0x00C0 , 0x0300 , 0x0620 , 0x03D0 , 0x0180 , 0x0100 , 0x07F8
 , 0x0C00 , 0x0000 , 0x00E0 , 0x01B0 , 0x0110 , 0x0110 , 0x00E0 , 0x0000
 , 0x0000 , 0x0000 , 0x3C78 , 0x7EFC , 0xFEFE , 0xFFFE , 0xFFFE , 0xFFFE
 , 0x7FFE , 0x7FFC , 0x7FFC , 0x3FF8 , 0x1FF0 , 0x1FF0 , 0x0FE0 , 0x07C0
 , 0x0380 , 0x0100 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000
};
unsigned int const led_green[100] =
{
   0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0380 , 0x06E0 , 0x0420
 , 0x0420 , 0x03C0 , 0x0000 , 0x0360 , 0x0340 , 0x0240 , 0x0240 , 0x07FE
 , 0x0600 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0780
 , 0x0040 , 0x00C0 , 0x0300 , 0x0620 , 0x03D0 , 0x0180 , 0x0100 , 0x07F8
 , 0x0C00 , 0x0000 , 0x00E0 , 0x01B0 , 0x0110 , 0x0110 , 0x00E0 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0000 , 0x0008 , 0x0008
 , 0x1C08 , 0x3718 , 0x2110 , 0x211F , 0x1E10 , 0x0010 , 0x0010 , 0x0010
 , 0x0010 , 0x0010 , 0x0010 , 0x0010 , 0x0000 , 0x0000 , 0x0000 , 0x0000
 , 0x0780 , 0x0040 , 0x00C0 , 0x0300 , 0x0620 , 0x03D0 , 0x0180 , 0x0100
 , 0x07F8 , 0x0C00 , 0x0000 , 0x02E0 , 0x0330 , 0x0220 , 0x0268 , 0x0278
 , 0x0260 , 0x0000 , 0x0000 , 0x0000
};
//----------- Timer0(8bit) Interrupt service  ----------------------------------
SIGNAL(SIG_OVERFLOW0){
  outp(0x04, TCCR0);        // CLK/64 prescale
  outp(0x06, TCNT0);        // 1msec
    cursor_count++;
    if(cursor_count>70){
      cursor_count=0;
      cursor++;
      if(cursor>84){
        cursor=0;
      }
    }
  display();
}
//-----------Port Initialize ---------------------------------------------------
void port_init(void){
  PORTA=0x00;
  DDRA=0x1f;
  PORTC=0x00;
  DDRC=0x0f;
  red_off;
  green_off;
  clock_off;
  enable_off;
  latch_on;
  addr_buf=0x0f;
  addr=addr_buf;
}
//----------- Timer0(8bit) Initialize ------------------------------------------
void timer0_init(void){
  outp(BV(TOIE0), TIMSK);   // T0 overflow interrupt Enable
  outp(0x04, TCCR0);        // CLK/64 Prescale
  outp(0x06, TCNT0);        // 1msec
}
//--------- system_Initialize routine ------------------------------------------
void system_initialize(void){
  cli();          // Global interrup Disable
  port_init();
  timer0_init();
  sei();          // Global Interrup Enable
}
//------------------------------------------------------------------------------
void display(void){
unsigned char i;
unsigned int red_buf;
unsigned int green_buf;
  enable_on;
  if(reset_count==0){
    reset_count=1;
    data_count=0;
  }
  red_buf=led_red[data_count+cursor];
  green_buf=led_green[data_count+cursor];
  for(i=0; i<16; i++){
    if(red_buf&0x8000){
      red_on;
    }
    else{
      red_off;
    }
    if(green_buf&0x8000){
      green_on;
    }
    else{
      green_off;
    }
    clock_on;
    clock_off;
    red_buf<<=1;
    green_buf<<=1;
  }
  data_count++;
  if(data_count>=16){
    data_count=0;
    reset_count=0;
  }
  latch_off;
  latch_on;
  addr_buf++;
  if(addr_buf==16){
    addr_buf=0;
  }
  addr=addr_buf;
  enable_off;
}
//--------- mian program routine -----------------------------------------------
int main(void)
{
  system_initialize();
  while(1){
  }
}
 


모르는 것이 무엇인지 스스로 정리하고 질문하는 습관을 가집시다.
무성의/광범위하거나 직접 해보지 않고 올리는 질문은 서로를 피곤하게 합니다.
질문쪽지는 사절이오니 게시판에 글을 남겨주세요. 그래야 다같이 공유할 수 있으니까요.

첨부

profile
빛나는 영혼 2009.03.30 19:05
오.... 대단하신데요.  저거 삼성 머시기 그 모듈 아닌가요? 무진장 오래된 것?? 같은데.

저놈 잔상이 생겨서 예전에 삽질했던 기억이 나네요.

아크릴 붙이시다니 저 귀찮은 작업을 ^^;;;;

멋져요!~~~~
profile
아크마 2009.03.31 01:50
ㅋㅋ 잔상이 좀 생긴거 같기도 하고...모르겠어요 그냥 굴러다니기에 인터넷에서 검색해서 대략 소스도 제공되길래...한건데.....회로구성과 소스는 그리 오래 안걸렸지만...저 아크릴 작업이...저의 손가락에 피를 보게 만들었죠...ㅋㅋ 그래도 만들고 나니 좀 뿌듯..ㅋㅋ 전에는 이런짓 한번도 안햇는데 요새 미쳤나봐요.ㅋㅋㅋ노트북에 소스가 있으니 노르북 키는데로 소스 업로드를 해야겠네요// 따라 만드실분은 없을듯 보이지만..ㅋㅋ
profile
lovedoremi 2009.04.29 16:39
그저 멋지다는 생각 밖에는 안듭니다~~~ 아크마님은 저랑 소스 작성하는 규칙이 조금 틀리신것 같아요~~~ ㅎㅎ 소스의 코드의 깔끔함~~~ 정말 멋져요! 동영상 플레이가 안되요 ㅠ.ㅠ 저 텍스트 에디터의 이름이 뭐예요? 아크마님 같은 초고수는 뭐가 틀려도 틀린거 같아요~~~ 도트 매트릭스 갖고 싶내요~~~ ㅎㅎ
profile
아크마 2009.04.30 16:26
아 저소스는 제조사에서 제공해주는 소스를 쬐금 고친거랍니다^^;;

전 고수가 아니라서요..

텍스트 에디터는 주로 컴파일러에서 제공하는 에디터나 울트라 에디터를 사용하는데  위에 올린거는 마이컴박스 홈페이지에서 제공되는 code highlite를 이용해서 올린거에요..글올릴때 extension component누르시면 소스코드 이쁘게 올릴수 있어요^^;;

좋은 하루되세요....
profile
kikimonako 2009.11.09 15:05
깔끔하게 생겼네요 ㅎㅎ
profile
월간낚시 2009.11.30 20:44
언제 쯤 아크마님 실력이 될까요? ㅡㅜ
profile
enginius 2009.12.17 10:34
저도 고덴시 ldm으로 만든적 있어요 ㅋ 저것도 삼색LED겠죠 ?
래치에 타이밍이 스펙보다 길어서 고생했던 기억이 나네요 ㅋㅋ
profile
타타두 2011.03.07 00:21

깔끔깔끔 ㅋ 사진이 좀 흔들리셧네요 ㅋ

profile
수풀새 2013.12.20 17:52
아크마님 대단합니다 훌륭하십니다!
profile
고산묵월 2013.12.26 18:33
http://www.micombox.com/files/attach/images/20510/148/087/SDC10187.avi로 접속하면 동영상 다운받을 수 있네요.
profile
수풀새 2014.01.20 15:15
아크마님 감사합니다
search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
952 ECAD 아무거나 SMD부품 패턴 만들기..좀 가르쳐주세요.. [2] 무료 켄그리피Jr 2009-04-21 0 3718
951 머신러닝, AI & 알고리즘 MPLAB 컴파일을 했더니 에러가 떠요..ㅠㅠ [2] 무료 로이lee 2009-04-16 0 3969
950 마이크로프로세서 at89c2051 무료 강새 2009-04-14 0 2260
949 ECAD 아무거나 isSpice 한글 메뉴얼입니다.(3,4) [1] 무료 scv 2009-04-06 0 4204
948 ECAD 아무거나 isSpice 한글 메뉴얼입니다. [2] 무료 scv 2009-04-06 0 4100
947 마이크로프로세서 IAR-EWAVR_4.xx_Educational_Manual [4] 무료 용가리통뼈 2009-04-01 0 3390
946 마이크로프로세서 매뉴얼_IAR_AVR_Compiler_EWAVR_V310_13 [4] 무료 용가리통뼈 2009-04-01 0 3199
945 ECAD 아무거나 Pspice 기초와 활용 자료 입니다. [4] 무료 프러키온 2009-03-31 0 4414
» 자작품 & 회로도 모음 도트매트릭스로 마이컴박스 써보기 [11] 무료 아크마 2009-03-29 0 4958
943 Sensor 설계 특수용 트랜지스터 기호 [3] 무료 찰리 2009-03-25 0 3170
942 마이크로프로세서 RTX51-Full 메뉴얼입니다. [5] 무료 테나르 2009-03-24 0 3567
941 마이크로프로세서 파트3입니다. [3] 무료 테나르 2009-03-24 0 4868
940 마이크로프로세서 파트2입니다. [3] 무료 테나르 2009-03-24 0 5161
939 마이크로프로세서 있는지 모르지만 다른 유용한 자료 올립니다. [3] 무료 테나르 2009-03-24 0 4808
938 마이크로프로세서 part3 입니다. [7] 무료 테나르 2009-03-24 0 3287
937 마이크로프로세서 part 2입니다. [8] 무료 테나르 2009-03-24 0 3303
936 Allego & OrCAD BNCfootprint점 가르쳐주세여 [1] 무료 젭알갈켜주3 2009-03-23 0 1768
935 마이크로프로세서 AVR 과 관련한 유용한 자료일거 같네요... [13] 무료 테나르 2009-03-19 0 3471
934 마이크로프로세서 C FAQ 입니다.... [6] 무료 테나르 2009-03-19 0 2139
933 ECAD 아무거나 도면에 풋프린트 업데이트를 어떻게 하나요 ? [1] 무료 임CIC 2009-03-15 0 3335
  • 누구의 눈도 두려워 하지 않고, 누구의 혀도 의심하지 않는 것은 결백함의 가장 큰 특권이다.
    - 존슨
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.