📄 io_init.c
字号:
#include <iom16v.h>
/***********端口初始化******************/
/**DDRx PORTx I/O 上拉*****************/
/* 0 0 I N
/* 0 1 I Y
/* 1 0 O output0
/* 1 1 O output1
/***********端口初始化****适用于rev.a*********/
void port_init(void)
{
/*bit7=V_battery bit6=LED1 bit5=LED2 bit4=NU
bit3=VS_REST bit2=VS_BSY bit1=VS_CS bit0=VS_DR/DC*/
DDRA =0b01101110; /**/
PORTA=0b00001111; /*led on*/
/*bit7=SCK bi6t=MISO bit5=MOSI bit4=LCD_reset
bit3=LCD_CS bit2=LCD_led_CTRL bit1=NU bit0=MMC_CS*/
DDRB =0b10111101; /* */
PORTB=0b11110101; /*LCD_led on*/
/*bit7~bit0=usb_data*/
DDRC =0b00000000; /* */
PORTC=0b00000000; /**/
/*bit7=FT_RXF bi6t=FT_TXE bit5=FT_WR bit4=FT_RD
bit3=SW3 bit2=SW2 bit1=SW1 bit0=SW4*/
DDRD =0b00110000; /**/
PORTD=0b00101111; /*FT_WR=0 FT_RD=1*/
}
/**********readkey()******************/
unsigned char readkey(void)
{
unsigned key,temp;
key=(PIND&0x0f); //用0屏蔽高4位
for (temp=0;temp<5000;temp++){;}//去抖动
temp=(PIND&0x0f);
if (key!=temp) return (0);
return key;
}
/*********微秒级延时程序*****************/
void delay_us(int time)
{
do
{
time--;
}
while (time>1);
}
/*********毫秒级延时程序*****************/
void delay_ms(unsigned int time)
{
while(time!=0)
{
delay_us(100);
time--;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -