#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mmu.h"
#include "typedef.h"
#include "S3C2451_gpio.h"
//#include "S3C2451_uart.h"
//#include "S3C2451_irq.h"
//#include "S3C2451_eint.h"
U8 disnum = 0;
void led_init(void);
void key_init(void);
void display(void);
void delay(unsigned int count);
void Main()
{
BIT_Typedef temp;
//MMU³õʼ»¯£ºÔÚ³ÌÐò×ʼµÄʱºòµ÷ÓÃ
MMU_Init();
led_init();
key_init();
while(1)
{
display();
temp = GPIO_ReadBit(GPIOF,GPIO_PIN_0);
if(temp == BIT_RESET )
{
disnum++;
if(disnum == 16)
disnum = 0;
}
temp = GPIO_ReadBit(GPIOF,GPIO_PIN_1);
if(temp == BIT_RESET )
{
disnum--;
if(disnum > 15)
disnum = 15;
}
temp = GPIO_ReadBit(GPIOF,GPIO_PIN_2);
if(temp == BIT_RESET )
{
disnum = 0;
}
temp = GPIO_ReadBit(GPIOF,GPIO_PIN_3);
if(temp == BIT_RESET )
{
disnum = 15;
}
};
}
void delay(unsigned int count)
{
int j = 1000;
int i = 0;
while(--j)
for(i =count; i > 0; i --);
}
void led_init()
{
GPIO_Init_Typedef led1;
GPIO_Init_Typedef led2;
GPIO_Init_Typedef led3;
GPIO_Init_Typedef led4;
led1.pinx = GPIO_PIN_5 ;
led1.mode = GPIO_MODE_OUT;
led1.udp = GPIO_UDP_PULLUP;
led2.pinx = GPIO_PIN_6;
led2.mode = GPIO_MODE_OUT;
led2.udp = GPIO_UDP_PULLUP;
led3.pinx = GPIO_PIN_25;
led3.mode = GPIO_MODE_OUT;
led3.udp = GPIO_UDP_PULLUP;
led4.pinx = GPIO_PIN_26;
led4.mode = GPIO_MODE_OUT;
led4.udp = GPIO_UDP_PULLUP;
GPIO_Init(GPIOB,led1);
GPIO_Init(GPIOB,led2);
GPIO_Init(GPIOA,led3);
GPIO_Init(GPIOA,led4);
}
void key_init()
{
GPIO_Init_Typedef key1;
GPIO_Init_Typedef key2;
GPIO_Init_Typedef key3;
GPIO_Init_Typedef key4;
key1.pinx = GPIO_PIN_0;
key1.mode = GPIO_MODE_IN;
key1.udp = GPIO_UDP_PULLUP;
key2.pinx = GPIO_PIN_1;
key2.mode = GPIO_MODE_IN;
key2.udp = GPIO_UDP_PULLUP;
key3.pinx = GPIO_PIN_2;
key3.mode = GPIO_MODE_IN;
key3.udp = GPIO_UDP_PULLUP;
key4.pinx = GPIO_PIN_3;
key4.mode = GPIO_MODE_IN;
key4.udp = GPIO_UDP_PULLUP;
GPIO_Init(GPIOF,key1);
GPIO_Init(GPIOF,key2);
GPIO_Init(GPIOF,key3);
GPIO_Init(GPIOF,key4);
}
void display()
{
if(disnum & 0x01)
{
GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_RESET );
}
else
{
GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_SET );
}
if((disnum >> 1) & 0x01)
{
GPIO_WriteBit(GPIOB,GPIO_PIN_6,BIT_RESET );
}
else
{
GPIO_WriteBit(GPIOB,GPIO_PIN_6,BIT_SET );
}
if((disnum >> 2) & 0x01)
{
GPIO_WriteBit(GPIOA,GPIO_PIN_25,BIT_RESET );
}
else
{
GPIO_WriteBit(GPIOA,GPIO_PIN_25,BIT_SET );
}
if((disnum >> 3) & 0x01)
{
GPIO_WriteBit(GPIOA,GPIO_PIN_26,BIT_RESET );
}
else
{
GPIO_WriteBit(GPIOA,GPIO_PIN_26,BIT_SET );
}
}
GPIO示例
最新推荐文章于 2021-10-22 20:52:07 发布