8051
AVR
EZLab
PIC
80C196KC
DSP
ARM
VHDL
¸¶ÀÌÅ©·Î¸¶¿ì½º
·Îº¿Ã౸
Battle ·Îº¿
·Îº¿´ëȸ
È޸շκ¿
Embeded Linux
HW/SW °­ÁÂ
RTOS
 
 


  CodeVisionAVR C ÄÄÆÄÀÏ·¯

Á¦1Àå. CodeVisionAVR ¼³Ä¡ ¹× »ç¿ë ¹æ¹ý

(1) CodeVisionAVR C ÄÄÆÄÀÏ·¯ Ư¡

CodeVisionAVR C ÄÄÆÄÀÏ·¯´Â °¡°Ý¿¡ ºñÇØ ¼º´ÉÀÌ ¿ì¼öÇÑ ÄÄÆÄÀÏ·¯·Î

´ÙÀ½°ú °°Àº Ư¡ÀÌ ÀÖ´Ù

- Æí¸®ÇÑ ÅëÇÕ È¯°æ : ¼Ò½º ¿¡µðÅÍ, ÄÄÆÄÀÏ/¸µÅ©, Flash-ROM/EEPROM ´Ù¿î·Îµå, Åë½Å ÇÁ ·Î±×·¥ µîÀÌ ÇÔ²² Á¦°ø µÊ.

- ÀÚµ¿ ¼Ò½º ÄÚµå »ý¼º ±â´É(CodeWizardAVR) *1

- dzºÎÇÑ ¶óÀ̺귯¸® ÇÔ¼ö Á¦°ø : Åë½Å(UART), LCDÇ¥½Ã, ¿Âµµ, ½Ã°è, A/D ¼ÒÀÚÇÔ¼ö Á¦°ø.

- Æí¸®ÇÑ FLASH, EEPROM, SRAM º¯¼ö °ü¸®

- Æ÷Æ® ¹× º¯¼öÀÇ ºñÆ® Á¦¾î ±â´É *1

- ÀÎ ¶óÀÎ ¾î¼À ±â´É Á¦°ø *1

- Àú °¡°Ý. (20 ¸¸¿ø ´ë)

- ¹«·á Æò°¡ ¹öÀü »ç¿ë °¡´É(¿ë·® Á¦ÇÑ ¹× ÀϺΠÇÔ¼ö »ç¿ë Á¦ÇÑ)

* IAR C ÄÄÆÄÀÏ·¯¿¡´Â ¾øÀ½(¶Ç´Â ºÒÆí)

(2). ȸ·Î ¼³Ä¡

Áغñ¹°

- ÄÄÇ»ÅÍ(PC)

- AVR_Å×½ºÆ® º¸µå

- AVR ´Ù¿î·Îµå Æ÷µå(POD)

- Àü¿ø ÀåÄ¡ : 5V Àü¾Ð Ãâ·Â

- CodeVisionAVR C ÄÄÆÄÀÏ·¯

- ICE200 ¿¡¹Ä·¹ÀÌÅÍ, AVR Studio S/W : ¿É¼Ç ¿¡¹Ä·¹ÀÌ¼Ç ½Ã ÇÊ¿ä

 ¤ý PCB ±âÆÇ ºÎÇ° ¹èÄ¡µµ

    ¨±  12VÀü¿ø                             ¨²  Servo¸ðÅÍ Çì´õÇÉ

    ¨³  Lcd Ç¥½Ã                            ¨´  12VÀü¿ø ÀÔ·Â

    ¨µ  ½ºÅܸðÅÍ  Ä¿³ØÅÍ                 ¨¶   DC¸ðÅÍ Ä¿³ØÅÍ

    ¨·  ¸ðÅÍ Àü¿ø                           ¨¸   ISPÄÉÀ̺í Çì´õÇÉ

    ¨¹  AT90S2313 20ÇÉ ¼ÒÄÏ          ¨º   RS-232 Á¢¼Ó Çì´õÇÉ

    ¨»   LedÇ¥½Ã                            ¨¼  °¡º¯ÀúÇ×

    ¨½  Á¡ÆÛ                                  ¨¾  Key ÀÔ·Â

    ¨¿  7-¼¼±×¸ÕÆ® Ç¥½Ã                 ¨À  74HC14 IC

    ¨Á  DIP½ºÀ§Ä¡

                                 

 ¤ý ¼³Ä¡»çÁø(ISPÄÉÀ̺í)

                                 

 ¤ý ¼³Ä¡ »çÁø (ICE200 ¿¡¹Ä·¹ÀÌÅÍ Á¢¼Ó)

    ¨±   ICE200 º»Ã¼             ¨²  ICE200 POD

                                 

 È¸·Î ¿¬°áµµ

ISP Ä¿³ØÅÍ(ISP_20P)

6ÇÉÀ¸·Î µÇ¾î Àִµ¥, Àü¿ø¼± 2°³¿Í ½ÅÈ£¼± 4°³·Î ±¸¼ºµÇ¾î ÀÖ´Ù.

AVRÀÇ ³»ºÎ FLASH³ª EEPROM ³»¿ëÀ» ´Ù¿î ·Îµå Çϴµ¥ »ç¿ëÇÑ´Ù.

Á¢¼Ó ¹æÇâ(1¹ø Àû»ö ½ÅÈ£)¿¡ À¯ÀÇ ÇÑ´Ù.

Æ÷Æ® »ç¿ë

AT90S2313ÀÇ °æ¿ì BÆ÷Æ®´Â 8°³ DÆ÷Æ®´Â 7°³ÀÇ Æ÷Æ®¸¦ »ç¿ëÇÒ ¼ö Àִµ¥, ISP¿¡ »ç¿ëµÇ´Â ½ÅÈ£µµ ÀÏ¹Ý Æ÷Æ®·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ü ´Ù¿î ·Îµå ½Ã¿¡ ½ÅÈ£¿¡ ½ÅÈ£ Ãæµ¹ÀÌ ¾øµµ·Ï ÇØ¾ß ÇÑ´Ù.

µ¿ÀÛ Å¬·°:

AT90S2313-10PIÀÇ °æ¿ì 10MHz±îÁö »ç¿ëÀÌ °¡´ÉÇϸç 4MHz ¹ßÁøÀÚ°¡ ºÎÂøµÇ¾î ÀÖÀ½

(3) CodeVisionAVR C ÄÄÆÄÀÏ·¯ »ç¿ë ¹æ¹ý

        Led¸¦ ÄÑ´Â ½ÇÇèÀ» Çϸ鼭 ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸ÀÚ.

 1) ÇÁ·Î±×·¥ ½ÇÇà

                                 

 2)ÇÁ·Î±×·¥ ½ÇÇà È­¸é

                                 

 3)FileÀ» Ŭ¸¯ÇÑÈÄ New Ç׸ñÀ» Ŭ¸¯ÇÑ´Ù.

                                 

 4) ÀÚµ¿ ¼Ò½º ÄÚµå »ý¼º ±â´ÉÀ» »ç¿ëÇÒÁö¸¦ ¹¯´Â´Ù

     Yes: ÇÁ·Î±×·¥ Àüü ÄÚµåÀÇ °ñ°ÝÀ» »ý¼º½ÃŲ´Ù.

     No: »ç¿ëÀÚ°¡ óÀ½ºÎÅÍ ÀÛ¼ºÇÑ´Ù.

     ÀÌ ¿¹Á¦¿¡¼­´Â ÀÚµ¿ »ý¼º ±â´ÉÀ» »ç¿ëÇØ º»´Ù. ¡æ Yes ¼±ÅÃ

                                 

 5) »ç¿ëÇÏ´Â AVR Chip°ú µ¿ÀÛ Å¬·°À» ¼±ÅÃÇÑ´Ù.   

                                 

 6) Port¸¦ °áÁ¤ÇÑ´Ù.

    ¨±  FileÀ» Ŭ¸¯ ¡æ Generate, Save and Exit ½ÇÇà½ÃŲ´Ù.

    ¨²  Æ÷Æ®B¸¦ Ãâ·ÂÀ¸·Î ÇÏ¿© LED¸¦ Ä«¿îÆ® ONÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϹǷΠ¹æÇâÀ» Ãâ·Â(O)À¸·Î ¼³Á¤ÇÑ´Ù.

                                

 7) ¼Ò½º ÇÁ·Î±×·¥ »ý¼º

                      

                      

                      

  Áö±Ý ±îÁö ½ÇÇàÀ» ½ÃÄ×À¸¸é ¼Ò½º ÆÄÀÏÀÌ »ý¼ºµÇ´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

                      

  ¼Ò½ºÆÄÀÏÀ» º¸¸é ´ÙÀ½°ú °°´Ù.

/*********************************************

This program was produced by the

CodeWizardAVR V1.0.1.5g Evaluation

Automatic Program Generator

  Copyright 1998-2001

Pavel Haiduc, HP InfoTech S.R.L.

http://infotech.ir.ro

e-mail:dhptechn@ir.ro , hpinfotech@mail.com

Project :

Version :

Date    : 2001-03-30

Author  : Unknown

Company :

Comments:

Chip type                : AT90S2313

Clock frequency      : 4.000000 MHz

Memory model        : Tiny

Internal SRAM size  : 128

External SRAM size  : 0

Data Stack size      : 32

*********************************************/

#include <90s2313.h>

// Declare your global variables here

void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization

// Port B

DDRB=0xFF;

PORTB=0xFF;

 

// Port D

DDRD=0x00;

PORTD=0x00;

 

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

// Mode: Output Compare

// OC0 output: Disconnected

TCCR0=0x00;

TCNT0=0x00;

 

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Output Compare

// OC1 output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

OCR1H=0x00;

OCR1L=0x00;

 

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

GIMSK=0x00;

MCUCR=0x00;

 

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

 

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

 

while (1)

      {

      // Place your code here

 

      };

}

Áö±Ý ³ªÅ¸³½ ¼Ò½º´Â codeVisionAVR¿¡¼­ ÀÚüÀûÀ¸·Î »ý¼º ½ÃÄÑÁØ °ÍÀÌ°í led¸¦ ¼øÂ÷ÀûÀ¸·Î µ¿ÀÛ ½ÃÅ°±â À§ÇÑ ÇÁ·Î±×·¥Àº ´ÙÀ½°ú °°´Ù.

#include <90s2313.h>

// Declare your global variables here

char   m_cnt=0;      // ¹ÙÀÌÆ® Å©±âÀÇ m_cnt ¿ÜºÎ º¯¼ö ¼±¾ð

void main(void)

{

 

// Declare your local variables here

long   i;                // 4¹ÙÀÌÆ® Å©±âÀÇ i ÀÚµ¿ º¯¼ö ¼±¾ð

// Input/Output Ports initialization

// Port B

DDRB=0xFF;            // PORTB·Î Ãâ·Â ¹æÇâ °áÁ¤         

PORTB=0xFF;           // PORTBÀÇ ÃʱâÄ¡

 

// Port D

DDRD=0x00;

PORTD=0x00;

 

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

// Mode: Output Compare

// OC0 output: Disconnected

TCCR0=0x00;

TCNT0=0x00;

 

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Output Compare

// OC1 output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

 

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

OCR1H=0x00;

OCR1L=0x00;

 

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

while (1)

      {

      // Place your code here

               m_cnt++;               // m_cnt º¯¼ö 1 ¾¿ Áõ°¡

               PORTB = ~m_cnt;   // ¹ÝÀü(1ÀÇ º¸¼ö)ÇÏ¿© Æ÷Æ® B·Î Ãâ·Â ÇÔ

               for(i=0;i<1000;i++); // µô·¹ÀÌ ·çƾ

      }

}

 ¹ÝÀü(1ÀÇ º¸¼ö)ÇÏ¿© Æ÷Æ® B·Î Ãâ·ÂÇÏ´Â ÀÌÀ¯´Â LED°¡ 0ÀÏ ¶§ ONÀÌ µÇ¹Ç·Î, For ·çƾÀº ´Ü¼ø Áö¿¬ ·çƾÀ¸·Î LED Áõ°¡ »óŸ¦ À°¾ÈÀ¸·Î È®ÀÎ ÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ­ ÀÌ´Ù.

 8) ÄÄÆÄÀÏ Çϱâ

    ¨±  Project¸¦ Ŭ¸¯ ÇÑ ÈÄ Compile FileÀ» ¼±ÅÃÇÑ´Ù.   

    ¨²  ¾ÆÀÌÄÜ Å¬¸¯

                     

       ±×·¯¸é ´ÙÀ½°ú °°Àº âÀÌ ¶ã °ÍÀÌ´Ù. ¡æ ÄÄÆÄÀÏ Á¤º¸ Ç¥½Ã

                                  

 9) ¸µÅ©(¸ÞÀÌÅ©) Çϱâ

    Project¸¦ Ŭ¸¯ ÇÑ ÈÄ Make¸¦ Ŭ¸¯ÇÑ´Ù.

     ¨±  Å¬¸¯ ÈÄ Make ¼±Åà                    ¨²  ¾ÆÀÌÄÜ Å¬¸¯

                     

     ±×·¯¸é ´ÙÀ½°ú °°Àº âÀÌ ¶ã °ÍÀÌ´Ù.

                                   

 10) Ç÷¡½Ã ·Ò¿¡ ´Ù¿î·Îµå Çϱâ

    ¨±  ToolÀ» Ŭ¸¯ ÇÑ ÈÄ Chip programmerÀ» ¼±ÅÃÇÑ´Ù

    ¨²  ¾ÆÀÌÄÜ Å¬¸¯

                      

        CodeVisionAVR Chip Programmer âÀÌ ³ªÅ¸³­´Ù.

    ¨±  FileÀ» Ŭ¸¯ÇÏ¿© LoadÆÄÀÏÀ» ºÒ·¯¿Â´Ù.

    ¨²  ProgramÀ» Ŭ¸¯ ÇÏ¿©  Erase Chip ¹× FlashÀ» °áÁ¤ÇÑ´Ù.

                             

          FileÀ» Ŭ¸¯ ÇÑ ÈÄ LoadÆÄÀÏÀ» ºÒ·¯¿À¸é ´ÙÀ½°ú °°Àº âÀÌ ¶á´Ù.

                     

                            

 11) ICE200À» ÀÌ¿ë ÇÏ¿© AVR Studio¸¦ »ç¿ëÇϱâ

 ¡ß AVR StudioƯ¡

 AVR Studio´Â Atmel»ç¿¡¼­ ¹«·á·Î ´Ù¿î ¹Þ¾Æ »ç¿ëÇÒ ¼ö ÀÖ´Â °³¹ß ȯ°æÀ¸·Î ½Ã¹Ä·¹ÀÌ¼Ç °ú ´Ù¾çÇÑ ¿¡¹Ä·¹ÀÌÅ͸¦ Áö¿øÇϴµ¥ ¿©±â¼­´Â ICE200°ú ¿¬°á »ç¿ëÀ» Áß½ÉÀ¸·Î »ìÆì º»´Ù.

Ư¡:   Asm/C ¼Ò½º ·¹º§ µð¹ö±ë °¡´É.(Asm/C Àýȯ »ç¿ë °¡´É)

       Single Step, Break Point µ¿ÀÛ »ç¿ë °¡´É.

       ÇÁ·Î±×·¥, µ¥ÀÌÅÍ, I/O ¿µ¿ª µ¥ÀÌÅÍ °üÂû ¹× º¯°æ °¡´É.

       °¢Á¾ ·¹Áö½ºÅÍ ¸ð´ÏÅÍ ¹× º¯°æ °¡´É.

       °¢Á¾ º¯¼ö °ª ¸ð´ÏÅÍ ¹× º¯°æ °¡´É.

       ½Ã¹Ä·¹ÀÌÅÍ ¹× ¾Ö¹Ä·¹ÀÌÅÍ·Î »ç¿ë.

¸ÕÀú AVR Studio¸¦ ¼¼Æà ÇÑ ÈÄ ¹ÙÅÁÈ­¸é¿¡¼­ ¾ÆÀÌÄÜÀ» Ŭ¸¯ Çϰųª, CodeVisionAVR¿¡¼­ ToolÀ» Ŭ¸¯ ¡æ DebuggerÀ» ¼±ÅÃÇÑ´Ù.

    ¨±  ToolÀ» Ŭ¸¯  ¡æ DebuggerÀ» ¼±ÅÃ

    ¨²  ¾ÆÀÌÄÜ Å¬¸¯

                     

 12) ½ÇÇàÈ­¸é

                    

±×·±µ¥ CodeVisionAVR ¸µÅ© µ¿ÀÛ¿¡¼­ ±âº»ÀûÀ¸·Î »ý¼ºµÇ´Â ÆÄÀÏÀº ÀÎÅÚ HEX ÆÄÀÏÀÌ ¾Æ´Ï¹Ç·Î Ãâ·Â ÆÄÀÏ Æ÷¸ËÀ» Intel HEX·Î ¼³Á¤ÇÏ¿© »ý¼ºÇØ ÁØ´Ù.

    ¨±  Project¸¦ Ŭ¸¯ ¡æ Configure¸¦ ½ÇÇà

    ¨²  C CompilerÀ» Ŭ¸¯

                    

                               

±×·¯¸é ´ÙÀ½°ú °­Àº âÀÌ ¶á´Ù.   

    ¨±  Ä¨ Á¾·ù ¹× µ¿ÀÛ ¼Óµµ

    ¨²  ½ºÅà ¿µ¿ª: ÀÚµ¿ º¯¼ö »ç¿ë·®À»°í·ÁÇÏ¿© ÀûÀýÈ÷ ¼³Á¤

         ½ºÅà ¿µ¿ªÀ» ¸¹ÀÌ ÀâÀ¸¸é ¿ÜºÎ º¯¼ö ¿µ¿ªÀÌ Àû¾î Áü

    ¨³  ³»ºÎ RAM ¿µ¿ª: Chip Á¾·ù¿¡ µû¶ó ´Ù¸§

    ¨´  ºñÆ® º¯¼ö¿µ¿ª ÃÖ´ë 112ºñÆ®

    ¨µ  Intel HEX·Î ¼³Á¤

    ¨¶  »ý¼º ÄÚµå ÃÖÀûÈ­ ¹æ¹ý ¼±ÅÃ

                                

 ¡ß ½ÇÇàÈ­¸é

                                

 ¡ß Intel.HEX ÆÄÀÏ

                               

 ¡ß ¸Þ¸ð¸® ³»¿ë

    ¨±  Eeprom, Program Memory, Data¸¦ °áÁ¤

                              

 °¢Á¾ CPU ÀÚ¿ø °üÂû °¡´É

                              

13) Á÷·Ä Åë½ÅÇü  ISP POD »ç¿ë ¹æ¹ý

Á÷·Ä Åë½Å Æ÷Æ®Çü ISP ÇÁ·Î±×·¥Àº AVRprog131.exeÀÇ º°µµÀÇ ÇÁ·Î±×·¥À¸·Îµµ ½ÇÇàÀÌ µÇ´Âµ¥, AVR StudioÀÇ Tools=>AVR ProgÀÇ ¸Þ´º¿¡µµ Æ÷ÇԵǾî ÀÖ´Ù.

                               

 ´ÙÀ½°ú °°Àº âÀÌ ¶á´Ù.

    ¨±  ÆÄÀÏ ¼±Åýà »ç¿ë

    ¨²  ÀÎÅÚ Hex ÇüÅÂÀÇ ·Îµå ÇÁ·Î±×·¥ ÆÄÀϸí

    ¨³  Ç÷¡½¬ ·Ò ÇÁ·Î±×·¥

    ¨´  Eeprom ÇÁ·Î±×·¥

                               

14) AVRCCC¸¦ ÀÌ¿ëÇÏ¿© Ç÷¡½¬ ·Ò¿¡ ´Ù¿îÇϱâ

    ¨±  File À̳ª ¾ÆÀÌÄÜÀ» Ŭ¸¯ÇÏ¿© Led. bin ÆÄÀÏÀ» ºÒ·¯¿Â´Ù

    ¨²  Check ¹öÆ° Ŭ¸¯

    ¨³   WFlash ¹öÆ°À» Ŭ¸¯

                                

            

                        Verity ¹öÆ° Ŭ¸¯                                      Button 7¹öÆ° Ŭ¸¯

            

ÀÌ °úÁ¤ÀÌ ³¡³ª¸é AT90S2313ÀÇ Ç÷¡½¬ ¸Þ¸ð¸®¿¡ ´Ù¿î ·Îµå°¡ ³¡³­´Ù.

±×·¯³ª CodeVisionAVR ¿¡´Â Bin ÆÄÀÏÀÌ »ý¼ºÀÌ µÇÁö ¾Ê±â ¶§¹®¿¡ hex ÆÄÀÏÀ» bin ÆÄÀÏ·Î ¹Ù²Ù´Â ¼ÒÇÁÆ®¿þ¾î°¡ ÇÊ¿äÇϹǷΠÇÊ¿äÇÑ ºÐÀº ÀÚ·á½Ç¿¡ ´Ù¿î·Îµå¹Þ¾Æ »ç¿ëÇÏ¸é µÈ´Ù.

 


»óÈ£ : (ÁÖ) ·Îº¸ºí·° »ç¾÷ÀÚµî·Ï¹øÈ£:214-86-56219 Åë½ÅÆǸž÷½Å°í19-2544 ´ëÇ¥: ½Å´ë¼· ÀüÈ­:(02)2679-8556 Fax :(02)2679-8557 [°³ÀÎÁ¤º¸Ã³¸®¹æħ]
º»»ç : °æ±âµµ ºÎõ½Ã ¿ø¹Ì±¸ ¾à´ëµ¿ ºÎõ Å×Å©³ëÆÄÅ© 401µ¿ 502È£     ¼­¿ï»ç¹«¼Ò : ¼­¿ï½Ã ¿µµîÆ÷±¸ ¹®·¡µ¿ 4°¡ 8-1 4Ãþ
Copyright(C) 2004, (ÁÖ) ·Îº¸ºí·° ½Ã½ºÅÛÁî All Rights Reserved E-Mail : WebMaster