/*
제목 : Dr.KIM 4FND모듈(4DIGIT 7-SEGMENT MODULE) MFND-100 구동
보드명 : STM3210B (ARM Cortex-M3 STM32F10X)
*/
#include <stm32f10x.h>
u8 digi[10][8]={
{1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 0, 0, 0, 0, 1},
{1, 1, 0, 1, 1, 0, 1, 1},
{1, 1, 1, 1, 0, 0, 1, 1},
{0, 1, 1, 0, 0, 1, 1, 1},
{1, 0, 1, 1, 0, 1, 1, 1},
{0, 0, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 0, 0, 1, 1, 1},
};
void SEG(int i, int seg)
{
GPIOD->ODR |= GPIO_Pin_13;
GPIOD->ODR |= GPIO_Pin_12;
GPIOD->ODR |= GPIO_Pin_11;
GPIOD->ODR |= GPIO_Pin_1;
switch(seg)
{
case 1:
GPIOD->ODR &= ~GPIO_Pin_13;
break;
case 2:
GPIOD->ODR &= ~GPIO_Pin_12;
break;
case 3:
GPIOD->ODR &= ~GPIO_Pin_11;
break;
case 4:
GPIOD->ODR &= ~GPIO_Pin_1;
break;
}
GPIOB->ODR |= (GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
GPIOD->ODR |= (GPIO_Pin_10|GPIO_Pin_8);
GPIOB->ODR &= ~((digi[i][7]<<15)|(digi[i][6]<<13)|(digi[i][5]<<10)|(digi[i][4]<<11)|(digi[i][3]<<12)|(digi[i][2]<<14));
GPIOD->ODR &= ~((digi[i][1]<<8)|(digi[i][0]<<10));
}
int main()
{
u32 i,j;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIOB->ODR |=(GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
GPIOD->ODR |=(GPIO_Pin_8|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13);
SEG(0, 3);
while(1)
{
for(i=0;i<10000;i++)
{
for(j=0;j<500;j++) {
SEG(i/10/10/10%10, 1);
for(vu32 t=0;t<1000;t++);
SEG(i/10/10%10, 2);
for(vu32 t=0;t<1000;t++);
SEG(i/10%10, 3);
for(vu32 t=0;t<1000;t++);
SEG(i%10, 4);
for(vu32 t=0;t<1000;t++);
}
}
}
}
'컴퓨터 > Cortex-M3(STM32F103)' 카테고리의 다른 글
STM32F103 PWM (0) | 2012.06.25 |
---|---|
STM3210B 보드에 있는 LED 점멸하기(GPIO) (0) | 2012.02.29 |
삼광도트매트릭스 기본 프로그램 (0) | 2011.08.24 |
[STM3210B]GLCD 만능달력 (0) | 2011.07.12 |
[STM3210B]RTC를 이용하여 TEXT LCD에 날짜가 표시되는 시계 (0) | 2011.06.30 |