Page 816 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 816

while(1)
                 {
                     a=PIND;
                     PORTB=0x10;             //PORTB4,5 -> 컨베이어벨트용  모터
                     switch(a){
                     case 1 :                //PORTB0,1 -> 모터1(캔분류용)
                         PORTB=0x11;
                         delay_ms(500);
                         PORTB=0x10; break;  //0.5초동안  모터  동작  후  정지


                     case 2 :                //PORTB2,3 -> 모터2(플라스틱분류용)
                         PORTB=0x14;
                         delay_ms(500);
                         PORTB=0x10; break;  //0.5초동안  모터  동작  후  정지
                     }
                 }
             }



            다.  센서부

            1) 프로그램 설명
              원래는  센서를  외부인터럽트에  연결하여,  센서의  출력을  받아  인터럽트  벡터를  실행하도록

            프로그래밍하려고  했지만  직접  회로에  테스트  해  보았을  때  계속해서  오류가  나서  GPIO핀을
            사용해서  센서의  출력을  받아  동작하는  프로그램으로  다시  코딩해보았다.
              GPIOC의  14번  핀은  금속센서의  출력을  받고,  GPIOE의  8번  핀은  포토센서의  출력을  받는
            다.  GPIOD의  6번  핀과  8번  핀은  센서가  감지했는지  확인하기  위해  LED  출력으로  설정하였

            다.
              GPIOC의  14번핀에  입력이  들어오면  GPIOD의  6번  핀에  있는  LED가  켜졌다가  1초  뒤에  꺼
            지고,  GPIOE의  6번  핀에  입력이  들어오면  GPIOD의  8번  핀에  있는  LED가  켜졌다가  1초  뒤에
            꺼진다.

             #include "stm32f10x.h"


             void GPIO_Configuration(void) //GPIO 설정
             {
                     GPIO_InitTypeDef GPIO_InitStructure;


                     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 |
             GPIO_Pin_9;




                                                         -  809  -
   811   812   813   814   815   816   817   818   819   820   821